<!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>[162854] 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/162854">162854</a></dd>
<dt>Author</dt> <dd>mhahnenberg@apple.com</dd>
<dt>Date</dt> <dd>2014-01-27 12:28:10 -0800 (Mon, 27 Jan 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Source/JavaScriptCore: Merge branch up to ToT <a href="http://trac.webkit.org/projects/webkit/changeset/162844">r162844</a>.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesjsCStackLayoutTestsfastcanvaswebglconstantshtml">branches/jsCStack/LayoutTests/fast/canvas/webgl/constants.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastprofilerdeadtimeexpectedtxt">branches/jsCStack/LayoutTests/fast/profiler/dead-time-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastprofilerresourcesprofilertestJSresourcesjs">branches/jsCStack/LayoutTests/fast/profiler/resources/profiler-test-JS-resources.js</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastprofilerstopprofilingaftersetTimeoutexpectedtxt">branches/jsCStack/LayoutTests/fast/profiler/stop-profiling-after-setTimeout-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsmedianetworknosourceconstshadowexpectedtxt">branches/jsCStack/LayoutTests/media/network-no-source-const-shadow-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflTestExpectations">branches/jsCStack/LayoutTests/platform/efl/TestExpectations</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcompositingoverflowthemeaffectsvisualoverflowexpectedpng">branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcompositingoverflowthemeaffectsvisualoverflowexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss1box_propertiesacid_testexpectedpng">branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss1box_propertiesacid_testexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss21t09c5526cdisplay00eexpectedpng">branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss21t09c5526cdisplay00eexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel25expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel70expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel25expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel70expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel25expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel70expectedpng">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastblockbasic011expectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastblockbasic011expectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastblockmargincollapse103expectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastblockmargincollapse103expectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastcssnonstandardcheckboxsizeexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastcssnonstandardcheckboxsizeexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastforms001expectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastforms001expectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsbasicinputsexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/basic-inputs-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsboxshadowoverrideexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsboxshadowoverrideexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsfilefileinputdisabledexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsfilefileinputdisabledexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformelementgeometryexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformelementgeometryexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformmoveexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformmoveexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformmove2expectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsformmove2expectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsindeterminateexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/indeterminate-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsinputappearanceheightexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsinputappearanceheightexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsinputvalueexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformsinputvalueexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformssearchverticalalignmentexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformssearchverticalalignmentexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformssearchfieldheightsexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastformssearchfieldheightsexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastinlinepositionedLifetimeexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastinlinepositionedLifetimeexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastparserbadxmlslashexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastparserbadxmlslashexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedreplacedbreakingexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedreplacedbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentcheckboxexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentcheckboxexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentradioexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentradioexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfasttexttextIteratorNilRendererexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfasttexttextIteratorNilRendererexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfasttextwhitespacenormalafternowrapbreakingexpectedpng">branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflfasttextwhitespacenormalafternowrapbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflhttptestsnavigationjavascriptlinkframesexpectedpng">branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformeflhttptestsnavigationjavascriptlinkframesexpectedtxt">branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug1318expectedpng">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug1318expectedtxt">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug4527expectedpng">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug4527expectedtxt">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions1expectedpng">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions1expectedtxt">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions2expectedpng">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.png</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions2expectedtxt">branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss1box_propertiespaddingexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss1box_propertiespadding_topexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding_top-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss1formatting_modelvertical_formattingexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css1/formatting_model/vertical_formatting-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss21t080301c411vtmrgn00bexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss21t0804c5510padn00bagexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss21t0905c414fltwrap00eexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3htmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3htmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3xhtmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3xhtmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3xmlcss3modsel25expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkcss3selectors3xmlcss3modsel70expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastblockbasic011expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/block/basic/011-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastblockfloat032expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/block/float/032-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastblockmargincollapse103expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/block/margin-collapse/103-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssemptypseudoclassexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/empty-pseudo-class-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssfieldsetdisplayrowexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/fieldset-display-row-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssfirstchildpseudoclassexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/first-child-pseudo-class-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssinputsearchpaddingexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcsslastchildpseudoclassexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/last-child-pseudo-class-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssnonstandardcheckboxsizeexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/non-standard-checkbox-size-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastcssonlychildpseudoclassexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/css/only-child-pseudo-class-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastforms001expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/001-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsbasicinputsexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/basic-inputs-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsboxshadowoverrideexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsfilefileinputdisabledexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/file/file-input-disabled-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsformelementgeometryexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/form-element-geometry-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsformmoveexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsformmove2expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsindeterminateexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/indeterminate-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsinputappearanceheightexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsinputtextwordwrapexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-text-word-wrap-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformsinputvalueexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-value-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastformslargetoggleelementsexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/forms/large-toggle-elements-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastinlinepositionedLifetimeexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/inline/positionedLifetime-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastparserbadxmlslashexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/parser/bad-xml-slash-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastprofilerdeadtimeexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/dead-time-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastprofilerstopprofilingaftersetTimeoutexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/stop-profiling-after-setTimeout-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastrepaintreflectionredrawexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/repaint/reflection-redraw-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastreplacedreplacedbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/replaced-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastreplacedwidth100percentcheckboxexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-checkbox-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfastreplacedwidth100percentradioexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-radio-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfasttabledynamiccaptionaddremovebeforechildexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfasttexttextIteratorNilRendererexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/text/textIteratorNilRenderer-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkfasttextwhitespacenormalafternowrapbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtkhttptestsnavigationjavascriptlinkframesexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozillabugsbug1318expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug1318-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozillabugsbug4527expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug4527-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozillamarvinbody_colexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/body_col-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozillamarvinx_th_valign_baselineexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozillaotherbody_colexpectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/other/body_col-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresbugsbug10140expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresbugsbug10216expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions1expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions2expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions3expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresothertest4expectedtxt">branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacTestExpectations">branches/jsCStack/LayoutTests/platform/mac/TestExpectations</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmaccss3flexboxbuttonexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/css3/flexbox/button-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastdomHTMLTextAreaElementresettextareaexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfasthtmldetailsreplacesummarychildexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-summary-child-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfasthtmldetailsreplacetextexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-text-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastinlinepositionedLifetimeexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/inline/positionedLifetime-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastoverflowscrollRevealButtonexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scrollRevealButton-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastreplacedreplacedbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/replaced/replaced-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentbuttonexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-button-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentcheckboxexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-checkbox-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentradioexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-radio-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfasttexttextIteratorNilRendererexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/text/textIteratorNilRenderer-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacfasttextwhitespacenormalafternowrapbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmachttptestsnavigationjavascriptlinkframesexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection36907032expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection3690703expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection3690719expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690719-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastblockmargincollapse103expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/block/margin-collapse/103-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastcsscontinuationCrashexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/continuationCrash-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastcssmargintopbottomdynamicexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/margin-top-bottom-dynamic-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastdomHTMLTextAreaElementresettextareaexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbasicinputsexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/basic-inputs-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsboxshadowoverrideexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/box-shadow-override-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonpositionedexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-positioned-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonsizesexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-sizes-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonstylecolorexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-style-color-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttontablestylesexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-table-styles-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttontexttransformexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-text-transform-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformscontrolrestrictlineheightexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/control-restrict-line-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsfileinputfilererenderexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/file/input-file-re-render-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsformelementgeometryexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/form-element-geometry-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputappearanceheightexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-appearance-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputbuttonsizesexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-button-sizes-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputvalueexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-value-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformssearchverticalalignmentexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/search-vertical-alignment-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastformsvalidationmessageappearanceexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/validation-message-appearance-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfasthtmldetailsreplacesummarychildexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-summary-child-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfasthtmldetailsreplacetextexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-text-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfastreplacedreplacedbreakingexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionfasttexttextIteratorNilRendererexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/text/textIteratorNilRenderer-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainlionhttptestsnavigationjavascriptlinkframesexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug1188expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug1188-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug138725expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug138725-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug18359expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug18359-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24792expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24793expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-3-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24794expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-4-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug26178expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug26178-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug28928expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug28928-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug33855expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug33855-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug4527expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug463681expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-1-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug463682expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug51037expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51037-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug51727expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51727-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug52505expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug52505-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug7342expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug7342-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillacollapsing_bordersbug412624expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/collapsing_borders/bug41262-4-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilladomtableDomexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/dom/tableDom-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillaothermove_rowexpectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/other/move_row-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilla_expected_failuresbugsbug24795expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilla_expected_failuresbugsbug584022expectedtxt">branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsfilefileinputdisabledexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-disabled-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwk2TestExpectations">branches/jsCStack/LayoutTests/platform/wk2/TestExpectations</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreAPIJSValueRefcpp">branches/jsCStack/Source/JavaScriptCore/API/JSValueRef.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreAPIOpaqueJSStringcpp">branches/jsCStack/Source/JavaScriptCore/API/OpaqueJSString.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreCMakeListstxt">branches/jsCStack/Source/JavaScriptCore/CMakeLists.txt</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreChangeLog">branches/jsCStack/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreGNUmakefilelistam">branches/jsCStack/Source/JavaScriptCore/GNUmakefile.list.am</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoremake">branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.make</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebindingsScriptValuecpp">branches/jsCStack/Source/JavaScriptCore/bindings/ScriptValue.cpp</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="#branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedCodeBlockcpp">branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedCodeBlockh">branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeWatchpointh">branches/jsCStack/Source/JavaScriptCore/bytecode/Watchpoint.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp">branches/jsCStack/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorecreate_hash_table">branches/jsCStack/Source/JavaScriptCore/create_hash_table</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredebuggerDebuggercpp">branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredebuggerDebuggerh">branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredebuggerDebuggerCallFramecpp">branches/jsCStack/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGAbstractInterpreterInlinesh">branches/jsCStack/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGByteCodeParsercpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGClobberizeh">branches/jsCStack/Source/JavaScriptCore/dfg/DFGClobberize.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGNodeTypeh">branches/jsCStack/Source/JavaScriptCore/dfg/DFGNodeType.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT32_64cpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp">branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp">branches/jsCStack/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorContentSearchUtilitiescpp">branches/jsCStack/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorInspectorValuescpp">branches/jsCStack/Source/JavaScriptCore/inspector/InspectorValues.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp">branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSInjectedScriptHosth">branches/jsCStack/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugListenerh">branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugListener.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinterpreterCallFrameh">branches/jsCStack/Source/JavaScriptCore/interpreter/CallFrame.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorejitJITOpcodescpp">branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorejitJITOpcodes32_64cpp">branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorellintLowLevelInterpreterasm">branches/jsCStack/Source/JavaScriptCore/llint/LowLevelInterpreter.asm</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfilecpp">branches/jsCStack/Source/JavaScriptCore/profiler/Profile.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfileh">branches/jsCStack/Source/JavaScriptCore/profiler/Profile.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfileGeneratorcpp">branches/jsCStack/Source/JavaScriptCore/profiler/ProfileGenerator.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfileNodecpp">branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfileNodeh">branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreprofilerProfilerDatabasecpp">branches/jsCStack/Source/JavaScriptCore/profiler/ProfilerDatabase.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeArrayConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/ArrayConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeArrayPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/ArrayPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeBooleanPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/BooleanPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeClassInfoh">branches/jsCStack/Source/JavaScriptCore/runtime/ClassInfo.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeDateConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/DateConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeDatePrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/DatePrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeErrorPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/ErrorPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeIdentifierh">branches/jsCStack/Source/JavaScriptCore/runtime/Identifier.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSDataViewPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSGlobalObjectcpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSGlobalObject.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="#branchesjsCStackSourceJavaScriptCoreruntimeJSPromiseConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSPromisePrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeJSStringBuilderh">branches/jsCStack/Source/JavaScriptCore/runtime/JSStringBuilder.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeLookuph">branches/jsCStack/Source/JavaScriptCore/runtime/Lookup.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeNamePrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/NamePrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeNumberConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeNumberConstructorh">branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeNumberPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/NumberPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeObjectConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/ObjectConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimePutPropertySloth">branches/jsCStack/Source/JavaScriptCore/runtime/PutPropertySlot.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeRegExpConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeRegExpConstructorh">branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeRegExpObjectcpp">branches/jsCStack/Source/JavaScriptCore/runtime/RegExpObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeRegExpPrototypecpp">branches/jsCStack/Source/JavaScriptCore/runtime/RegExpPrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeStringConstructorcpp">branches/jsCStack/Source/JavaScriptCore/runtime/StringConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeStructurecpp">branches/jsCStack/Source/JavaScriptCore/runtime/Structure.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeVMh">branches/jsCStack/Source/JavaScriptCore/runtime/VM.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeVMEntryScopecpp">branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreruntimeVMEntryScopeh">branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.h</a></li>
<li><a href="#branchesjsCStackSourceWTFConfigurationsBasexcconfig">branches/jsCStack/Source/WTF/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWTFGNUmakefilelistam">branches/jsCStack/Source/WTF/GNUmakefile.list.am</a></li>
<li><a href="#branchesjsCStackSourceWTFWTFvcxprojWTFmake">branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.make</a></li>
<li><a href="#branchesjsCStackSourceWTFWTFvcxprojWTFvcxproj">branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj</a></li>
<li><a href="#branchesjsCStackSourceWTFWTFvcxprojWTFvcxprojfilters">branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj.filters</a></li>
<li><a href="#branchesjsCStackSourceWTFWTFxcodeprojprojectpbxproj">branches/jsCStack/Source/WTF/WTF.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfAtomicsh">branches/jsCStack/Source/WTF/wtf/Atomics.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfCMakeListstxt">branches/jsCStack/Source/WTF/wtf/CMakeLists.txt</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfCompilerh">branches/jsCStack/Source/WTF/wtf/Compiler.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfCurrentTimeh">branches/jsCStack/Source/WTF/wtf/CurrentTime.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfDynamicAnnotationsh">branches/jsCStack/Source/WTF/wtf/DynamicAnnotations.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfFeatureDefinesh">branches/jsCStack/Source/WTF/wtf/FeatureDefines.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfHashTablecpp">branches/jsCStack/Source/WTF/wtf/HashTable.cpp</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfHashTableh">branches/jsCStack/Source/WTF/wtf/HashTable.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfPlatformh">branches/jsCStack/Source/WTF/wtf/Platform.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfRefCountedLeakCountercpp">branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.cpp</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfRefCountedLeakCounterh">branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfStdLibExtrash">branches/jsCStack/Source/WTF/wtf/StdLibExtras.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfThreadSafeRefCountedh">branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfdtoafastdtoacc">branches/jsCStack/Source/WTF/wtf/dtoa/fast-dtoa.cc</a></li>
<li><a href="#branchesjsCStackSourceWTFwtftextStringImplcpp">branches/jsCStack/Source/WTF/wtf/text/StringImpl.cpp</a></li>
<li><a href="#branchesjsCStackSourceWTFwtftextWTFStringh">branches/jsCStack/Source/WTF/wtf/text/WTFString.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfunicodeCollatorh">branches/jsCStack/Source/WTF/wtf/unicode/Collator.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfunicodeCollatorDefaultcpp">branches/jsCStack/Source/WTF/wtf/unicode/CollatorDefault.cpp</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfunicodeUTF8cpp">branches/jsCStack/Source/WTF/wtf/unicode/UTF8.cpp</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfunicodeUnicodeh">branches/jsCStack/Source/WTF/wtf/unicode/Unicode.h</a></li>
<li><a href="#branchesjsCStackSourceWTFwtfunicodeicuCollatorICUcpp">branches/jsCStack/Source/WTF/wtf/unicode/icu/CollatorICU.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreCMakeListstxt">branches/jsCStack/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#branchesjsCStackSourceWebCoreConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebCoreDerivedSourcescpp">branches/jsCStack/Source/WebCore/DerivedSources.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreDerivedSourcesmake">branches/jsCStack/Source/WebCore/DerivedSources.make</a></li>
<li><a href="#branchesjsCStackSourceWebCoreGNUmakefilelistam">branches/jsCStack/Source/WebCore/GNUmakefile.list.am</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebaudioAudioContextcpp">branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebaudioAudioContexth">branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebaudioAudioNodecpp">branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebaudioAudioNodeh">branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebdatabaseDatabaseBackendBasecpp">branches/jsCStack/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreModuleswebdatabaseOriginLockh">branches/jsCStack/Source/WebCore/Modules/webdatabase/OriginLock.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorePlatformEflcmake">branches/jsCStack/Source/WebCore/PlatformEfl.cmake</a></li>
<li><a href="#branchesjsCStackSourceWebCorePlatformGTKcmake">branches/jsCStack/Source/WebCore/PlatformGTK.cmake</a></li>
<li><a href="#branchesjsCStackSourceWebCoreUseJSCcmake">branches/jsCStack/Source/WebCore/UseJSC.cmake</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCoreexpin">branches/jsCStack/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCoreorder">branches/jsCStack/Source/WebCore/WebCore.order</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorevcxprojWebCoremake">branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.make</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorevcxprojWebCorevcxproj">branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorevcxprojWebCorevcxprojfilters">branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorexcodeprojprojectpbxproj">branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj</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="#branchesjsCStackSourceWebCoreaccessibilityAccessibilityRenderObjectcpp">branches/jsCStack/Source/WebCore/accessibility/AccessibilityRenderObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJSBindingsAllInOnecpp">branches/jsCStack/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJSDOMWindowCustomcpp">branches/jsCStack/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJSJavaScriptCallFrameCustomcpp">branches/jsCStack/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJSNodeListCustomcpp">branches/jsCStack/Source/WebCore/bindings/js/JSNodeListCustom.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJavaScriptCallFramecpp">branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsJavaScriptCallFrameh">branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsPageScriptDebugServercpp">branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsPageScriptDebugServerh">branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsScriptControllercpp">branches/jsCStack/Source/WebCore/bindings/js/ScriptController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsScriptDebugServercpp">branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsScriptDebugServerh">branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsScriptProfilecpp">branches/jsCStack/Source/WebCore/bindings/js/ScriptProfile.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsWorkerScriptControllercpp">branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsWorkerScriptDebugServercpp">branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsjsWorkerScriptDebugServerh">branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsobjcDOMmm">branches/jsCStack/Source/WebCore/bindings/objc/DOM.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsobjcWebScriptObjectmm">branches/jsCStack/Source/WebCore/bindings/objc/WebScriptObject.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorGObjectpm">branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorJSpm">branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestExceptioncpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestInterfacecpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestInterfaceh">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestNodecpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestObjcpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestObjh">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestTypedefscpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestTypedefsh">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSattributecpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorebindingsscriptstestJSJSreadonlycpp">branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSComputedStyleDeclarationcpp">branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSFontFacecpp">branches/jsCStack/Source/WebCore/css/CSSFontFace.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSFontFaceh">branches/jsCStack/Source/WebCore/css/CSSFontFace.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSFontSelectorcpp">branches/jsCStack/Source/WebCore/css/CSSFontSelector.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSFontSelectorh">branches/jsCStack/Source/WebCore/css/CSSFontSelector.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSFunctionValuecpp">branches/jsCStack/Source/WebCore/css/CSSFunctionValue.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSGroupingRulecpp">branches/jsCStack/Source/WebCore/css/CSSGroupingRule.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSGroupingRuleh">branches/jsCStack/Source/WebCore/css/CSSGroupingRule.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSParsercpp">branches/jsCStack/Source/WebCore/css/CSSParser.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSPropertyNamesin">branches/jsCStack/Source/WebCore/css/CSSPropertyNames.in</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSStyleSheetcpp">branches/jsCStack/Source/WebCore/css/CSSStyleSheet.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSStyleSheeth">branches/jsCStack/Source/WebCore/css/CSSStyleSheet.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssCSSValueKeywordsin">branches/jsCStack/Source/WebCore/css/CSSValueKeywords.in</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssElementRuleCollectorcpp">branches/jsCStack/Source/WebCore/css/ElementRuleCollector.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssElementRuleCollectorh">branches/jsCStack/Source/WebCore/css/ElementRuleCollector.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssMediaQueryMatchercpp">branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssMediaQueryMatcherh">branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssPropertySetCSSStyleDeclarationcpp">branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssPropertySetCSSStyleDeclarationh">branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssSelectorFiltercpp">branches/jsCStack/Source/WebCore/css/SelectorFilter.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssSelectorFilterh">branches/jsCStack/Source/WebCore/css/SelectorFilter.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStyleInvalidationAnalysish">branches/jsCStack/Source/WebCore/css/StyleInvalidationAnalysis.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStylePropertiescpp">branches/jsCStack/Source/WebCore/css/StyleProperties.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStylePropertiesh">branches/jsCStack/Source/WebCore/css/StyleProperties.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStyleResolvercpp">branches/jsCStack/Source/WebCore/css/StyleResolver.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssStyleResolverh">branches/jsCStack/Source/WebCore/css/StyleResolver.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssWebKitCSSKeyframesRulecpp">branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorecssWebKitCSSKeyframesRuleh">branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorecsshtmlcss">branches/jsCStack/Source/WebCore/css/html.css</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDOMAllInOnecpp">branches/jsCStack/Source/WebCore/dom/DOMAllInOne.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDOMStringMapcpp">branches/jsCStack/Source/WebCore/dom/DOMStringMap.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDOMStringMaph">branches/jsCStack/Source/WebCore/dom/DOMStringMap.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDatasetDOMStringMaph">branches/jsCStack/Source/WebCore/dom/DatasetDOMStringMap.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDocumentcpp">branches/jsCStack/Source/WebCore/dom/Document.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomDocumenth">branches/jsCStack/Source/WebCore/dom/Document.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomElementcpp">branches/jsCStack/Source/WebCore/dom/Element.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomElementh">branches/jsCStack/Source/WebCore/dom/Element.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoredomNodeListidl">branches/jsCStack/Source/WebCore/dom/NodeList.idl</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingAlternativeTextControllercpp">branches/jsCStack/Source/WebCore/editing/AlternativeTextController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingCompositeEditCommandcpp">branches/jsCStack/Source/WebCore/editing/CompositeEditCommand.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingFrameSelectioncpp">branches/jsCStack/Source/WebCore/editing/FrameSelection.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingSmartReplacecpp">branches/jsCStack/Source/WebCore/editing/SmartReplace.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingSmartReplaceICUcpp">branches/jsCStack/Source/WebCore/editing/SmartReplaceICU.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingTextIteratorcpp">branches/jsCStack/Source/WebCore/editing/TextIterator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingTypingCommandcpp">branches/jsCStack/Source/WebCore/editing/TypingCommand.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreeditingVisibleUnitscpp">branches/jsCStack/Source/WebCore/editing/VisibleUnits.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorefileapiFileReadercpp">branches/jsCStack/Source/WebCore/fileapi/FileReader.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorefileapiFileReaderh">branches/jsCStack/Source/WebCore/fileapi/FileReader.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryBackForwardClienth">branches/jsCStack/Source/WebCore/history/BackForwardClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryBackForwardControllercpp">branches/jsCStack/Source/WebCore/history/BackForwardController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryBackForwardControllerh">branches/jsCStack/Source/WebCore/history/BackForwardController.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryBackForwardListh">branches/jsCStack/Source/WebCore/history/BackForwardList.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryHistoryItemcpp">branches/jsCStack/Source/WebCore/history/HistoryItem.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryHistoryItemh">branches/jsCStack/Source/WebCore/history/HistoryItem.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehistoryPageCachecpp">branches/jsCStack/Source/WebCore/history/PageCache.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlHTMLTrackElementcpp">branches/jsCStack/Source/WebCore/html/HTMLTrackElement.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlHTMLTrackElementh">branches/jsCStack/Source/WebCore/html/HTMLTrackElement.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlcanvasWebGLRenderingContextidl">branches/jsCStack/Source/WebCore/html/canvas/WebGLRenderingContext.idl</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmlparserHTMLParserIdiomscpp">branches/jsCStack/Source/WebCore/html/parser/HTMLParserIdioms.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmltrackLoadableTextTrackcpp">branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorehtmltrackLoadableTextTrackh">branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorAllInOnecpp">branches/jsCStack/Source/WebCore/inspector/InspectorAllInOne.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorControllercpp">branches/jsCStack/Source/WebCore/inspector/InspectorController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorControllerh">branches/jsCStack/Source/WebCore/inspector/InspectorController.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp">branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorDOMDebuggerAgenth">branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorDebuggerAgentcpp">branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorDebuggerAgenth">branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorInstrumentationcpp">branches/jsCStack/Source/WebCore/inspector/InspectorInstrumentation.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorOverlaycpp">branches/jsCStack/Source/WebCore/inspector/InspectorOverlay.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorRuntimeAgentcpp">branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorRuntimeAgenth">branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorStyleSheetcpp">branches/jsCStack/Source/WebCore/inspector/InspectorStyleSheet.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInspectorStyleTextEditorcpp">branches/jsCStack/Source/WebCore/inspector/InspectorStyleTextEditor.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorInstrumentingAgentsh">branches/jsCStack/Source/WebCore/inspector/InstrumentingAgents.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorJavaScriptCallFrameidl">branches/jsCStack/Source/WebCore/inspector/JavaScriptCallFrame.idl</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorPageDebuggerAgentcpp">branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorPageDebuggerAgenth">branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorPageRuntimeAgentcpp">branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorPageRuntimeAgenth">branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorScriptProfileNodeidl">branches/jsCStack/Source/WebCore/inspector/ScriptProfileNode.idl</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerDebuggerAgentcpp">branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerDebuggerAgenth">branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerInspectorControllercpp">branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerInspectorControllerh">branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerRuntimeAgentcpp">branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWorkerRuntimeAgenth">branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorprotocolProfilerjson">branches/jsCStack/Source/WebCore/inspector/protocol/Profiler.json</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderEmptyClientsh">branches/jsCStack/Source/WebCore/loader/EmptyClients.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderFrameLoadercpp">branches/jsCStack/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderFrameLoaderClienth">branches/jsCStack/Source/WebCore/loader/FrameLoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderHistoryControllercpp">branches/jsCStack/Source/WebCore/loader/HistoryController.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderTextTrackLoadercpp">branches/jsCStack/Source/WebCore/loader/TextTrackLoader.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderTextTrackLoaderh">branches/jsCStack/Source/WebCore/loader/TextTrackLoader.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloaderappcacheApplicationCacheStoragecpp">branches/jsCStack/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreloadercacheCachedResourceLoadercpp">branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageChromecpp">branches/jsCStack/Source/WebCore/page/Chrome.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageChromeClienth">branches/jsCStack/Source/WebCore/page/ChromeClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageEventHandlercpp">branches/jsCStack/Source/WebCore/page/EventHandler.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageFramecpp">branches/jsCStack/Source/WebCore/page/Frame.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageFrameViewcpp">branches/jsCStack/Source/WebCore/page/FrameView.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageFrameViewh">branches/jsCStack/Source/WebCore/page/FrameView.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagePagecpp">branches/jsCStack/Source/WebCore/page/Page.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagePageh">branches/jsCStack/Source/WebCore/page/Page.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageSettingscpp">branches/jsCStack/Source/WebCore/page/Settings.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepageSettingsh">branches/jsCStack/Source/WebCore/page/Settings.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingAsyncScrollingCoordinatorcpp">branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingAsyncScrollingCoordinatorh">branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingCoordinatorcpp">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingCoordinatorh">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.h</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="#branchesjsCStackSourceWebCorepagescrollingScrollingTreeNodecpp">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingTreeNodeh">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingTreeScrollingNodecpp">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingScrollingTreeScrollingNodeh">branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingThreadedScrollingTreecpp">branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingThreadedScrollingTreeh">branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeIOScpp">branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeIOSh">branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeScrollingNodeIOSmm">branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeFixedNodeh">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeFixedNodemm">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeScrollingNodeMacmm">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeStickyNodeh">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeStickyNodemm">branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformDragDatah">branches/jsCStack/Source/WebCore/platform/DragData.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformLayoutUnith">branches/jsCStack/Source/WebCore/platform/LayoutUnit.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformLengthcpp">branches/jsCStack/Source/WebCore/platform/Length.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformLinkHashcpp">branches/jsCStack/Source/WebCore/platform/LinkHash.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformScrollableAreah">branches/jsCStack/Source/WebCore/platform/ScrollableArea.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformThreadGlobalDatacpp">branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformThreadGlobalDatah">branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformTimerh">branches/jsCStack/Source/WebCore/platform/Timer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformURLcpp">branches/jsCStack/Source/WebCore/platform/URL.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformaudioAudioSessionh">branches/jsCStack/Source/WebCore/platform/audio/AudioSession.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformeflEflKeyboardUtilitiescpp">branches/jsCStack/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformeflGamepadsEflcpp">branches/jsCStack/Source/WebCore/platform/efl/GamepadsEfl.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformeflRenderThemeEflcpp">branches/jsCStack/Source/WebCore/platform/efl/RenderThemeEfl.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsBitmapImageh">branches/jsCStack/Source/WebCore/platform/graphics/BitmapImage.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsColorcpp">branches/jsCStack/Source/WebCore/platform/graphics/Color.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsImageh">branches/jsCStack/Source/WebCore/platform/graphics/Image.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsLayoutRecth">branches/jsCStack/Source/WebCore/platform/graphics/LayoutRect.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsSurrogatePairAwareTextIteratorcpp">branches/jsCStack/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsTextRunh">branches/jsCStack/Source/WebCore/platform/graphics/TextRun.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationAVTrackPrivateAVFObjCImplmm">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateLegacyAVFObjCmm">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm">branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgBitmapImageCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgFloatPointCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatPointCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgFloatRectCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatRectCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgFloatSizeCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatSizeCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgGradientCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/GradientCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgGraphicsContextCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgImageBufferCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgImageCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgImageSourceCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgIntPointCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/IntPointCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgIntRectCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/IntRectCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgIntSizeCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/IntSizeCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgPathCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/PathCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscgPatternCGcpp">branches/jsCStack/Source/WebCore/platform/graphics/cg/PatternCG.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicscocoaFontPlatformDataCocoamm">branches/jsCStack/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsgstreamerWebKitWebSourceGStreamercpp">branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsmacColorMach">branches/jsCStack/Source/WebCore/platform/graphics/mac/ColorMac.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsmacFontCustomPlatformDatacpp">branches/jsCStack/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsmacImageMacmm">branches/jsCStack/Source/WebCore/platform/graphics/mac/ImageMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicsmacWebLayermm">branches/jsCStack/Source/WebCore/platform/graphics/mac/WebLayer.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicswinFontCacheWincpp">branches/jsCStack/Source/WebCore/platform/graphics/win/FontCacheWin.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicswinceFontCacheWinCEcpp">branches/jsCStack/Source/WebCore/platform/graphics/wince/FontCacheWinCE.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgraphicswinceFontPlatformDatacpp">branches/jsCStack/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformgtkPasteboardGtkcpp">branches/jsCStack/Source/WebCore/platform/gtk/PasteboardGtk.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformmacThemeMacmm">branches/jsCStack/Source/WebCore/platform/mac/ThemeMac.mm</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformnetworkcfSocketStreamHandleh">branches/jsCStack/Source/WebCore/platform/network/cf/SocketStreamHandle.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformnetworkcurlCurlDownloadh">branches/jsCStack/Source/WebCore/platform/network/curl/CurlDownload.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackercpp">branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackerh">branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackerClienth">branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextTextBreakIteratorcpp">branches/jsCStack/Source/WebCore/platform/text/TextBreakIterator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextTextCodecICUcpp">branches/jsCStack/Source/WebCore/platform/text/TextCodecICU.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextTextEncodingcpp">branches/jsCStack/Source/WebCore/platform/text/TextEncoding.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextTextEncodingRegistrycpp">branches/jsCStack/Source/WebCore/platform/text/TextEncodingRegistry.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextUnicodeRangecpp">branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformtextUnicodeRangeh">branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformwinPasteboardWincpp">branches/jsCStack/Source/WebCore/platform/win/PasteboardWin.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformwinWindowMessageBroadcasterh">branches/jsCStack/Source/WebCore/platform/win/WindowMessageBroadcaster.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingColumnInfoh">branches/jsCStack/Source/WebCore/rendering/ColumnInfo.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingFloatingObjectscpp">branches/jsCStack/Source/WebCore/rendering/FloatingObjects.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingHitTestResultcpp">branches/jsCStack/Source/WebCore/rendering/HitTestResult.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingPaintInfoh">branches/jsCStack/Source/WebCore/rendering/PaintInfo.h</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="#branchesjsCStackSourceWebCorerenderingRenderBoxcpp">branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderBoxModelObjectcpp">branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderCombineTextcpp">branches/jsCStack/Source/WebCore/rendering/RenderCombineText.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderElementcpp">branches/jsCStack/Source/WebCore/rendering/RenderElement.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxcpp">branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderInlinecpp">branches/jsCStack/Source/WebCore/rendering/RenderInline.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderInlineh">branches/jsCStack/Source/WebCore/rendering/RenderInline.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderLayercpp">branches/jsCStack/Source/WebCore/rendering/RenderLayer.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderLayerh">branches/jsCStack/Source/WebCore/rendering/RenderLayer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderLayerBackingcpp">branches/jsCStack/Source/WebCore/rendering/RenderLayerBacking.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderLayerCompositorcpp">branches/jsCStack/Source/WebCore/rendering/RenderLayerCompositor.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderListBoxcpp">branches/jsCStack/Source/WebCore/rendering/RenderListBox.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnBlockcpp">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnBlockh">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderMultiColumnFlowThreadcpp">branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp</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="#branchesjsCStackSourceWebCorerenderingRenderObjectcpp">branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderObjecth">branches/jsCStack/Source/WebCore/rendering/RenderObject.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderSearchFieldcpp">branches/jsCStack/Source/WebCore/rendering/RenderSearchField.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderTextControlSingleLinecpp">branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderTextControlSingleLineh">branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderViewcpp">branches/jsCStack/Source/WebCore/rendering/RenderView.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderViewh">branches/jsCStack/Source/WebCore/rendering/RenderView.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderWidgetcpp">branches/jsCStack/Source/WebCore/rendering/RenderWidget.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingRenderingAllInOnecpp">branches/jsCStack/Source/WebCore/rendering/RenderingAllInOne.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingmathmlRenderMathMLOperatorcpp">branches/jsCStack/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingstyleRenderStyleh">branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingstyleRenderStyleConstantsh">branches/jsCStack/Source/WebCore/rendering/style/RenderStyleConstants.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingstyleStyleRareNonInheritedDatacpp">branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingstyleStyleRareNonInheritedDatah">branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingsvgSVGRenderingContexth">branches/jsCStack/Source/WebCore/rendering/svg/SVGRenderingContext.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingsvgSVGResourcesCycleSolverh">branches/jsCStack/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorerenderingsvgSVGTextLayoutEngineBaselinecpp">branches/jsCStack/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorestorageStorageAreaSynccpp">branches/jsCStack/Source/WebCore/storage/StorageAreaSync.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorestorageStorageTrackercpp">branches/jsCStack/Source/WebCore/storage/StorageTracker.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorestyleStyleResolveForDocumentcpp">branches/jsCStack/Source/WebCore/style/StyleResolveForDocument.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorestyleStyleResolveTreecpp">branches/jsCStack/Source/WebCore/style/StyleResolveTree.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCorestyleStyleResolveTreeh">branches/jsCStack/Source/WebCore/style/StyleResolveTree.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoresvgSVGFontElementcpp">branches/jsCStack/Source/WebCore/svg/SVGFontElement.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoresvgSVGPatternElementcpp">branches/jsCStack/Source/WebCore/svg/SVGPatternElement.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoretestingInternalscpp">branches/jsCStack/Source/WebCore/testing/Internals.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreworkersWorkerGlobalScopeh">branches/jsCStack/Source/WebCore/workers/WorkerGlobalScope.h</a></li>
<li><a href="#branchesjsCStackSourceWebCorexmlXPathFunctionscpp">branches/jsCStack/Source/WebCore/xml/XPathFunctions.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceCSSKeywordCompletionsjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSKeywordCompletions.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIUserInterfaceCompletionSuggestionsViewjs">branches/jsCStack/Source/WebInspectorUI/UserInterface/CompletionSuggestionsView.js</a></li>
<li><a href="#branchesjsCStackSourceWebInspectorUIVersionsInspectoriOS70json">branches/jsCStack/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json</a></li>
<li><a href="#branchesjsCStackSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin">branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in</a></li>
<li><a href="#branchesjsCStackSourceWebKitWebKitxcodeprojprojectpbxproj">branches/jsCStack/Source/WebKit/WebKit.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflWebCoreSupportFrameLoaderClientEflcpp">branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflWebCoreSupportFrameLoaderClientEflh">branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflewkewk_framecpp">branches/jsCStack/Source/WebKit/efl/ewk/ewk_frame.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflewkewk_historycpp">branches/jsCStack/Source/WebKit/efl/ewk/ewk_history.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflewkewk_settingscpp">branches/jsCStack/Source/WebKit/efl/ewk/ewk_settings.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKiteflewkewk_viewcpp">branches/jsCStack/Source/WebKit/efl/ewk/ewk_view.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkWebCoreSupportFrameLoaderClientGtkcpp">branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkWebCoreSupportFrameLoaderClientGtkh">branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkwebkitwebkitglobalscpp">branches/jsCStack/Source/WebKit/gtk/webkit/webkitglobals.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkwebkitwebkiticondatabasecpp">branches/jsCStack/Source/WebKit/gtk/webkit/webkiticondatabase.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkwebkitwebkitwebbackforwardlistcpp">branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkwebkitwebkitwebhistoryitemcpp">branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitgtkwebkitwebkitwebviewcpp">branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebview.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacChangeLog">branches/jsCStack/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListcpp">branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListh">branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryWebHistorymm">branches/jsCStack/Source/WebKit/mac/History/WebHistory.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryWebHistoryItemh">branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryWebHistoryItemmm">branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryWebHistoryItemInternalh">branches/jsCStack/Source/WebKit/mac/History/WebHistoryItemInternal.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacMiscWebCoreStatisticsh">branches/jsCStack/Source/WebKit/mac/Misc/WebCoreStatistics.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacMiscWebElementDictionarymm">branches/jsCStack/Source/WebKit/mac/Misc/WebElementDictionary.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebCoreSupportWebFrameLoaderClienth">branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebCoreSupportWebFrameLoaderClientmm">branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebFrameViewmm">branches/jsCStack/Source/WebKit/mac/WebView/WebFrameView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebHTMLViewmm">branches/jsCStack/Source/WebKit/mac/WebView/WebHTMLView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebPreferencesmm">branches/jsCStack/Source/WebKit/mac/WebView/WebPreferences.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebViewmm">branches/jsCStack/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacWebViewWebViewDatah">branches/jsCStack/Source/WebKit/mac/WebView/WebViewData.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinChangeLog">branches/jsCStack/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebCoreSupportWebFrameLoaderClientcpp">branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebCoreSupportWebFrameLoaderClienth">branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebHistorycpp">branches/jsCStack/Source/WebKit/win/WebHistory.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebHistoryh">branches/jsCStack/Source/WebKit/win/WebHistory.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebHistoryItemcpp">branches/jsCStack/Source/WebKit/win/WebHistoryItem.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebLocalizableStringscpp">branches/jsCStack/Source/WebKit/win/WebLocalizableStrings.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinWebViewcpp">branches/jsCStack/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinceWebCoreSupportFrameLoaderClientWinCEcpp">branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKitwinceWebCoreSupportFrameLoaderClientWinCEh">branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2CMakeListstxt">branches/jsCStack/Source/WebKit2/CMakeLists.txt</a></li>
<li><a href="#branchesjsCStackSourceWebKit2ConfigurationsFeatureDefinesxcconfig">branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabasecpp">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh">branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.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="#branchesjsCStackSourceWebKit2GNUmakefileam">branches/jsCStack/Source/WebKit2/GNUmakefile.am</a></li>
<li><a href="#branchesjsCStackSourceWebKit2GNUmakefilelistam">branches/jsCStack/Source/WebKit2/GNUmakefile.list.am</a></li>
<li><a href="#branchesjsCStackSourceWebKit2PlatformIPCConnectioncpp">branches/jsCStack/Source/WebKit2/Platform/IPC/Connection.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2PlatformGTKcmake">branches/jsCStack/Source/WebKit2/PlatformGTK.cmake</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedBlockingResponseMaph">branches/jsCStack/Source/WebKit2/Shared/BlockingResponseMap.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedDownloadssoupDownloadSoupcpp">branches/jsCStack/Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2SharedmacSecItemShimcpp">branches/jsCStack/Source/WebKit2/Shared/mac/SecItemShim.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICWKPagecpp">branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermm">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerInternalh">branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitRequestManagerClientcpp">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitRequestManagerClient.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitURISchemeRequestcpp">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitURISchemeRequestPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebContextcpp">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebContextPrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebViewBasePrivateh">branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h</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="#branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewmm">branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessDrawingAreaProxycpp">branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessDrawingAreaProxyh">branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp">branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxyh">branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingTreecpp">branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingTreeh">branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessStatisticsRequestcpp">branches/jsCStack/Source/WebKit2/UIProcess/StatisticsRequest.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebLoaderClientcpp">branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessWebLoaderClienth">branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.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="#branchesjsCStackSourceWebKit2UIProcessgtkWebContextGtkcpp">branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessgtkWebPopupMenuProxyGtkcpp">branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllerh">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermm">branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebKit2xcodeprojprojectpbxproj">branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebKit2Prefixh">branches/jsCStack/Source/WebKit2/WebKit2Prefix.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessScrollingRemoteScrollingCoordinatormm">branches/jsCStack/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth">branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageDrawingAreah">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageDrawingAreamessagesin">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPageeflWebPageEflcpp">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPagegtkWebPageGtkcpp">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreah">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreamm">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreah">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h</a></li>
<li><a href="#branchesjsCStackSourceWebKit2WebProcessWebPagemacWebPageMacmm">branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm</a></li>
<li><a href="#branchesjsCStackSourcecmakeOptionsEflcmake">branches/jsCStack/Source/cmake/OptionsEfl.cmake</a></li>
<li><a href="#branchesjsCStackSourcecmakeOptionsGTKcmake">branches/jsCStack/Source/cmake/OptionsGTK.cmake</a></li>
<li><a href="#branchesjsCStackSourcecmakeOptionsWinCEcmake">branches/jsCStack/Source/cmake/OptionsWinCE.cmake</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeAccessibilityTextMarkerh">branches/jsCStack/Tools/DumpRenderTree/AccessibilityTextMarker.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeAccessibilityUIElementh">branches/jsCStack/Tools/DumpRenderTree/AccessibilityUIElement.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeDumpRenderTreexcodeprojprojectpbxproj">branches/jsCStack/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeDumpRenderTreeFileDraggingSourceh">branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreeFileDraggingSource.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeDumpRenderTreePrefixh">branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreePrefix.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeJavaScriptThreadingcpp">branches/jsCStack/Tools/DumpRenderTree/JavaScriptThreading.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreePixelDumpSupportcpp">branches/jsCStack/Tools/DumpRenderTree/PixelDumpSupport.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInPluginObjecth">branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInPluginObjectMacmm">branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestObjectcpp">branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/TestObject.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestsGetUserAgentWithNullNPPFromNPPNewcpp">branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestsNPRuntimeObjectFromDestroyedPlugincpp">branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestRunnercpp">branches/jsCStack/Tools/DumpRenderTree/TestRunner.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeTestRunnerh">branches/jsCStack/Tools/DumpRenderTree/TestRunner.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreecgImageDiffCGcpp">branches/jsCStack/Tools/DumpRenderTree/cg/ImageDiffCG.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreecgPixelDumpSupportCGcpp">branches/jsCStack/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreegtkDumpRenderTreecpp">branches/jsCStack/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosAccessibilityControllerIOSmm">branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityControllerIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosAccessibilityUIElementIOSmm">branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacAccessibilityNotificationHandlermm">branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityNotificationHandler.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacAccessibilityTextMarkerMacmm">branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityTextMarkerMac.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacAppleScriptControllerm">branches/jsCStack/Tools/DumpRenderTree/mac/AppleScriptController.m</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsBasexcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsDebugReleasexcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreexcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeLibraryxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsImageDiffxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsTestNetscapePlugInxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreemm">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeDraggingInfoh">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeDraggingInfomm">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeMach">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreePasteboardh">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreePasteboardm">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeWindowh">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeWindowmm">branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacEditingDelegateh">branches/jsCStack/Tools/DumpRenderTree/mac/EditingDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacEventSendingControllerh">branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacEventSendingControllermm">branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacFrameLoadDelegatemm">branches/jsCStack/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacHistoryDelegateh">branches/jsCStack/Tools/DumpRenderTree/mac/HistoryDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacLayoutTestHelperm">branches/jsCStack/Tools/DumpRenderTree/mac/LayoutTestHelper.m</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacMockGeolocationProvidermm">branches/jsCStack/Tools/DumpRenderTree/mac/MockGeolocationProvider.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacNavigationControllerh">branches/jsCStack/Tools/DumpRenderTree/mac/NavigationController.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacObjCPluginh">branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacObjCPluginm">branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.m</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacObjCPluginFunctionh">branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPluginFunction.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacPolicyDelegateh">branches/jsCStack/Tools/DumpRenderTree/mac/PolicyDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacResourceLoadDelegateh">branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacResourceLoadDelegatemm">branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacTestRunnerMacmm">branches/jsCStack/Tools/DumpRenderTree/mac/TestRunnerMac.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacTextInputControllerh">branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacTextInputControllerm">branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.m</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacUIDelegateh">branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacUIDelegatemm">branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.mm</a></li>
<li><a href="#branchesjsCStackToolsGtkLaunchermainc">branches/jsCStack/Tools/GtkLauncher/main.c</a></li>
<li><a href="#branchesjsCStackToolsMakefile">branches/jsCStack/Tools/Makefile</a></li>
<li><a href="#branchesjsCStackToolsScriptswebkitpycommonconfigcontributorsjson">branches/jsCStack/Tools/Scripts/webkitpy/common/config/contributors.json</a></li>
<li><a href="#branchesjsCStackToolsScriptswebkitpycommonconfigwatchlist">branches/jsCStack/Tools/Scripts/webkitpy/common/config/watchlist</a></li>
<li><a href="#branchesjsCStackToolsTestWebKitAPITestsWTFStringBuildercpp">branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp</a></li>
<li><a href="#branchesjsCStackToolsTestWebKitAPITestsWTFStringImplcpp">branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp</a></li>
<li><a href="#branchesjsCStackToolsTestWebKitAPITestsWebKit2GtkTestWebKitWebContextcpp">branches/jsCStack/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerConfigurationsBasexcconfig">branches/jsCStack/Tools/WebKitTestRunner/Configurations/Base.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerConfigurationsInjectedBundlexcconfig">branches/jsCStack/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerConfigurationsWebKitTestRunnerxcconfig">branches/jsCStack/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleEventSendingControllercpp">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerMakefile">branches/jsCStack/Tools/WebKitTestRunner/Makefile</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerTestControllercpp">branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerTestControllerh">branches/jsCStack/Tools/WebKitTestRunner/TestController.h</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerTestInvocationcpp">branches/jsCStack/Tools/WebKitTestRunner/TestInvocation.cpp</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerPrefixh">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnercgTestInvocationCGcpp">branches/jsCStack/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#branchesjsCStackLayoutTestsfastcssstylesheetlayoutwithpendingpaintexpectedhtml">branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint-expected.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastcssstylesheetlayoutwithpendingpainthtml">branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastdomNodeListnodelistnamegetterpropertiesexpectedtxt">branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastdomNodeListnodelistnamegetterpropertieshtml">branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastdomxmlparserentityinattributevalueexpectedtxt">branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsfastdomxmlparserentityinattributevaluehtml">branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocoldebuggerpauseonassertexpectedtxt">branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocoldebuggerpauseonasserthtml">branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsinspectorprotocoldebuggerresourcesassertjs">branches/jsCStack/LayoutTests/inspector-protocol/debugger/resources/assert.js</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsdomdomasprototypeassignmentexceptionexpectedtxt">branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsdomdomasprototypeassignmentexceptionhtml">branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsdomscripttestsdomasprototypeassignmentexceptionjs">branches/jsCStack/LayoutTests/js/dom/script-tests/dom-as-prototype-assignment-exception.js</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsscripttestsstaticputinprototypechainjs">branches/jsCStack/LayoutTests/js/script-tests/static-put-in-prototype-chain.js</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsstaticputinprototypechainexpectedtxt">branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsjsstaticputinprototypechainhtml">branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain.html</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformmacsvgcustomforeignobjectskewexpectedtxt">branches/jsCStack/LayoutTests/platform/mac/svg/custom/foreign-object-skew-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselection36907032expectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselection3690703expectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselection3690719expectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/3690719-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselection4397952expectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/4397952-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselection5240265expectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/5240265-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwineditingselectionselectionbuttontextexpectedtxt">branches/jsCStack/LayoutTests/platform/win/editing/selection/selection-button-text-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/fast/block/float/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastblockfloatfloatavoidanceexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastcsscontinuationCrashexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/css/continuationCrash-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastcssmargintopbottomdynamicexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/css/margin-top-bottom-dynamic-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/fast/dom/HTMLTextAreaElement/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastdomHTMLTextAreaElementresettextareaexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastforms001expectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/001-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsblankbuttonsexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/blankbuttons-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsbuttontablestylesexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/button-table-styles-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformscontrolrestrictlineheightexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsfilefileinputdirectionexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-direction-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsfileinputfilererenderexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/file/input-file-re-render-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsformmove3expectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/formmove3-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsinputappearanceheightexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/input-appearance-height-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsinputbuttonsizesexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/input-button-sizes-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformsinputvalueexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/input-value-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastformstargetedframesubmissionexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/forms/targeted-frame-submission-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/fast/html/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfasthtmldetailsreplacesummarychildexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-summary-child-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfasthtmldetailsreplacetextexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-text-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/fast/overflow/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastoverflowscrollRevealButtonexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/overflow/scrollRevealButton-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/fast/replaced/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfastreplacedwidth100percentbuttonexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/replaced/width100percent-button-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinfasttexttextIteratorNilRendererexpectedtxt">branches/jsCStack/LayoutTests/platform/win/fast/text/textIteratorNilRenderer-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwinsvgcustomforeignobjectskewexpectedtxt">branches/jsCStack/LayoutTests/platform/win/svg/custom/foreign-object-skew-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug138725expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug138725-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug18359expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug24793expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug24794expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug26178expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug26178-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug28928expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug28928-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug33855expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug39209expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug39209-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug4429expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug4429-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug463681expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-1-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug463682expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug51037expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51037-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug51727expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51727-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug52505expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52505-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug52506expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52506-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug60749expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug60749-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug7342expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug7342-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/tables/mozilla/collapsing_borders/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillacollapsing_bordersbug412624expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt</a></li>
<li>branches/jsCStack/LayoutTests/platform/win/tables/mozilla/dom/</li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozilladomtableDomexpectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillamarvinbody_colexpectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/marvin/body_col-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozillaothermove_rowexpectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla/other/move_row-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug1725expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug24795expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug584022expectedtxt">branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestssvganimationsselfdependencycrashexpectedtxt">branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash-expected.txt</a></li>
<li><a href="#branchesjsCStackLayoutTestssvganimationsselfdependencycrashhtml">branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash.html</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreproj">branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedInstructionStreamcpp">branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedInstructionStreamh">branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorEventLoopcpp">branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorEventLooph">branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectScriptDebugServercpp">branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectScriptDebugServerh">branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramecpp">branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFrameh">branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypecpp">branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypeh">branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJavaScriptCallFramecpp">branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorJavaScriptCallFrameh">branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugServercpp">branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugServerh">branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp">branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth">branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp">branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgenth">branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgentcpp">branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgenth">branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectRuntimeAgentcpp">branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectRuntimeAgenth">branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWTFWTFvcxprojWTFproj">branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.proj</a></li>
<li><a href="#branchesjsCStackSourceWTFwtftextLCharh">branches/jsCStack/Source/WTF/wtf/text/LChar.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreForwardingHeadersinspectorScriptDebugServerh">branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreForwardingHeadersinspectoragentsInspectorDebuggerAgenth">branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreForwardingHeadersinspectoragentsInspectorRuntimeAgenth">branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreWebCorevcxprojWebCoreproj">branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.proj</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWebDebuggerAgentcpp">branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreinspectorWebDebuggerAgenth">branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackercpp">branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.cpp</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackerh">branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.h</a></li>
<li><a href="#branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackerClienth">branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTrackerClient.h</a></li>
<li><a href="#branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListmm">branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosDumpRenderTreeBrowserViewh">branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosDumpRenderTreeBrowserViewmm">branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosInfoplist">branches/jsCStack/Tools/DumpRenderTree/ios/Info.plist</a></li>
<li>branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/</li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupportc">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport.c</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupportPregeneratedpm">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupportPregenerated.pm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupport_wrapPregeneratedc">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c</a></li>
<li>branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/</li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationChanges">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Changes</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationIPhoneSimulatorNotificationxs">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationMANIFEST">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/MANIFEST</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationMakefilePL">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationREADME">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/README</a></li>
<li>branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/</li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationlibIPhoneSimulatorNotificationpm">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationppporth">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/ppport.h</a></li>
<li>branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/t/</li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationtIPhoneSimulatorNotificationt">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPerlSupportMakefile">branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/Makefile</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreeiosPixelDumpSupportIOSmm">branches/jsCStack/Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeAppxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig</a></li>
<li><a href="#branchesjsCStackToolsDumpRenderTreemacConfigurationsLayoutTestHelperxcconfig">branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityControllerIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityNotificationHandlerh">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityNotificationHandler.h</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityTextMarkerIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityUIElementIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosActivateFontsIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosEventSenderProxyIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosInjectedBundleIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm">branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppAppDelegateh">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppAppDelegatem">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppWebKitTestRunnerAppInfoplist">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/en.lproj/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppenlprojInfoPliststrings">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsInfoplist">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsm">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsenlprojInfoPliststrings">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsInfoplist">branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests-Info.plist</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunneriOSxcconfig">branches/jsCStack/Tools/WebKitTestRunner/iOS.xcconfig</a></li>
<li>branches/jsCStack/Tools/WebKitTestRunner/ios/</li>
<li><a href="#branchesjsCStackToolsWebKitTestRunneriosPlatformWebViewIOSmm">branches/jsCStack/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunneriosTestControllerIOSmm">branches/jsCStack/Tools/WebKitTestRunner/ios/TestControllerIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunneriosWebArchiveDumpSupportIOSmm">branches/jsCStack/Tools/WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm</a></li>
<li><a href="#branchesjsCStackToolsWebKitTestRunneriosmainIOSmm">branches/jsCStack/Tools/WebKitTestRunner/ios/mainIOS.mm</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#branchesjsCStackouttxt">branches/jsCStack/out.txt</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesjsCStackLayoutTestsfastcanvaswebglconstantshtml"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/canvas/webgl/constants.html (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/canvas/webgl/constants.html        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/fast/canvas/webgl/constants.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -212,7 +212,6 @@
</span><span class="cx"> INT                            : 0x1404,
</span><span class="cx"> UNSIGNED_INT                   : 0x1405,
</span><span class="cx"> FLOAT                          : 0x1406,
</span><del>-HALF_FLOAT_OES                 : 0x8D61,
</del><span class="cx">     
</span><span class="cx">     /* PixelFormat */
</span><span class="cx"> DEPTH_COMPONENT                : 0x1902,
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastcssstylesheetlayoutwithpendingpaintexpectedhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint-expected.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint-expected.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint-expected.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+&lt;div style=&quot;color:green&quot;&gt;PASS&lt;/div&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastcssstylesheetlayoutwithpendingpainthtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/css/stylesheet-layout-with-pending-paint.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+&lt;body&gt;
+&lt;script&gt;
+document.write(&quot;&lt;link rel=stylesheet href='data:text/css,div{color:green}'&gt;&quot;);
+document.body.offsetWidth;
+&lt;/script&gt;
+&lt;div&gt;PASS&lt;/div&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastdomNodeListnodelistnamegetterpropertiesexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+Test the JavaScript property descriptor of the name getter.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS Object.getOwnPropertyDescriptor(NodeList, 'aWildId').configurable is false
+PASS Object.getOwnPropertyDescriptor(NodeList, 'aWildId').enumerable is false
+PASS Object.getOwnPropertyDescriptor(NodeList, 'aWildId').writable is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+Wild
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastdomNodeListnodelistnamegetterpropertieshtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/dom/NodeList/nodelist-name-getter-properties.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;div id='aWildId'&gt;Wild&lt;/div&gt;
+
+&lt;script&gt;
+description('Test the JavaScript property descriptor of the name getter.');
+
+var NodeList = document.getElementsByTagName('div');
+
+shouldBe(&quot;Object.getOwnPropertyDescriptor(NodeList, 'aWildId').configurable&quot;, 'false');
+shouldBe(&quot;Object.getOwnPropertyDescriptor(NodeList, 'aWildId').enumerable&quot;, 'false');
+shouldBe(&quot;Object.getOwnPropertyDescriptor(NodeList, 'aWildId').writable&quot;, 'false');
+&lt;/script&gt;
+&lt;script src=&quot;../../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastdomxmlparserentityinattributevalueexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+This test verifies the parsing of unicode html entities used as an invalid style attribute.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS paragraphElement.getAttribute(&quot;style&quot;) is &quot;0񶔬&quot;
+PASS paragraphElement.style.cssText is &quot;&quot;
+PASS successfullyParsed is true
+
+TEST COMPLETE
+x
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastdomxmlparserentityinattributevaluehtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/fast/dom/xml-parser-entity-in-attribute-value.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+&lt;?xml version='1.0' encoding='UTF-8'?&gt;
+&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
+  &lt;head&gt;
+    &lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+    &lt;title&gt;Unicode XML character entities used for the style attribute of an element's style.&lt;/title&gt;
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;p id=target style=&quot;0&amp;#x7652C;&quot;&gt;x&lt;/p&gt;
+  &lt;script&gt;
+      description(&quot;This test verifies the parsing of unicode html entities used as an invalid style attribute.&quot;);
+
+      var paragraphElement = document.getElementById('target');
+      shouldBeEqualToString('paragraphElement.getAttribute(&quot;style&quot;)', '0\ud999\udd2c');
+      shouldBeEqualToString('paragraphElement.style.cssText', '');
+  &lt;/script&gt;
+  &lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastprofilerdeadtimeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/profiler/dead-time-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/profiler/dead-time-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/fast/profiler/dead-time-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,8 +4,8 @@
</span><span class="cx"> 
</span><span class="cx"> Profile title: Dead time in profile.
</span><span class="cx"> Thread_1 (no file) (line 0)
</span><del>-   onload dead-time.html (line 20)
-      startTest dead-time.html (line 12)
</del><ins>+   onload dead-time.html (line 21)
+      startTest dead-time.html (line 13)
</ins><span class="cx">          setTimeout (no file) (line 0)
</span><span class="cx">    (program) dead-time.html (line 1)
</span><span class="cx">       endTest profiler-test-JS-resources.js (line 1)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastprofilerresourcesprofilertestJSresourcesjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/profiler/resources/profiler-test-JS-resources.js (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/profiler/resources/profiler-test-JS-resources.js        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/fast/profiler/resources/profiler-test-JS-resources.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -79,9 +79,6 @@
</span><span class="cx">     if (node.functionName == &quot;(idle)&quot;)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!node.visible)
-        return;
-
</del><span class="cx">     var space = &quot;&quot;;
</span><span class="cx">     for (var i = 0; i &lt; indentLevel; ++i)
</span><span class="cx">         space += &quot;   &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsfastprofilerstopprofilingaftersetTimeoutexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/fast/profiler/stop-profiling-after-setTimeout-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/fast/profiler/stop-profiling-after-setTimeout-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/fast/profiler/stop-profiling-after-setTimeout-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,8 +4,8 @@
</span><span class="cx"> 
</span><span class="cx"> Profile title: Stop profiling from a timeout
</span><span class="cx"> Thread_1 (no file) (line 0)
</span><del>-   onload stop-profiling-after-setTimeout.html (line 20)
-      startTest stop-profiling-after-setTimeout.html (line 12)
</del><ins>+   onload stop-profiling-after-setTimeout.html (line 21)
+      startTest stop-profiling-after-setTimeout.html (line 13)
</ins><span class="cx">          setTimeout (no file) (line 0)
</span><span class="cx">    (program) stop-profiling-after-setTimeout.html (line 1)
</span><span class="cx">       endTest profiler-test-JS-resources.js (line 1)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocoldebuggerpauseonassertexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+CONSOLE MESSAGE: line 10: Should always fail.
+CONSOLE MESSAGE: line 22: ASSERT message
+Test that a failing console.assert will pause in the debugger with an optional message.
+
+Should not pause on passing assert.
+inside assertOkay
+Should pause on failing assert.
+inside assertFalse
+PASS: Paused!
+Should not pause on passing assert.
+inside assertCondition, and condition is true
+Should pause on failing assert.
+inside assertCondition, and condition is false
+PASS: Paused!
+Should not pause on passing assert.
+inside assertConditionWithMessage, and condition is true
+Should pause on failing assert and include a message.
+inside assertConditionWithMessage, and condition is false
+PASS: Paused!
+
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocoldebuggerpauseonasserthtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/inspector-protocol/debugger/pause-on-assert.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../http/tests/inspector-protocol/resources/protocol-test.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;resources/assert.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+function test()
+{
+    InspectorTest.sendCommand(&quot;Debugger.enable&quot;, {});
+    InspectorTest.sendCommand(&quot;Debugger.setPauseOnExceptions&quot;, {state: &quot;all&quot;}, InspectorTest.checkForError);
+
+    var step = null;
+    var steps = [
+        {
+            message: &quot;Should not pause on passing assert.&quot;,
+            evaluate: &quot;assertTrue()&quot;,
+            pause: false,
+        },
+        {
+            message: &quot;Should pause on failing assert.&quot;,
+            evaluate: &quot;assertFalse()&quot;,
+            pause: true,
+        },
+        {
+            message: &quot;Should not pause on passing assert.&quot;,
+            evaluate: &quot;assertCondition(window)&quot;,
+            pause: false,
+        },
+        {
+            message: &quot;Should pause on failing assert.&quot;,
+            evaluate: &quot;assertCondition(window === null)&quot;,
+            pause: true,
+        },
+        {
+            message: &quot;Should not pause on passing assert.&quot;,
+            evaluate: &quot;assertConditionWithMessage(window, 'Should not happen')&quot;,
+            pause: false,
+        },
+        {
+            message: &quot;Should pause on failing assert and include a message.&quot;,
+            evaluate: &quot;assertConditionWithMessage(window === null, 'ASSERT message')&quot;,
+            pause: true,
+        },
+    ];
+
+    InspectorTest.eventHandler[&quot;Debugger.paused&quot;] = function(messageObject)
+    {
+        if (step.pause)
+            InspectorTest.log(&quot;PASS: Paused!&quot;);
+        else
+            InspectorTest.log(&quot;FAIL: Paused when unexpected&quot;);
+
+        InspectorTest.sendCommand(&quot;Debugger.resume&quot;, {}, runNextStep);
+    }
+
+    function runNextStep() {
+        step = steps.shift();
+        if (!step) {
+            InspectorTest.completeTest();
+            return;
+        }
+
+        // Evalute the command inside a setTimeout so that we can hit exceptions and break.
+        // Otherwise, evaluating through RuntimeAgent will not trigger a pause.
+        // Likewise, if no pause is expected wait for a bit before continuing.
+        InspectorTest.log(step.message);
+        InspectorTest.sendCommand(&quot;Runtime.evaluate&quot;, {expression: &quot;setTimeout(function(){&quot; + step.evaluate + &quot;}, 0)&quot;}, function(responseObject) {
+            InspectorTest.checkForError(responseObject);
+            if (!step.pause)
+                setTimeout(runNextStep, 20);
+        });
+    }
+
+    runNextStep();
+}
+&lt;/script&gt;
+&lt;/head&gt;
+&lt;body onload=&quot;runTest()&quot;&gt;
+&lt;p&gt;Test that a failing console.assert will pause in the debugger with an optional message.&lt;/p&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsinspectorprotocoldebuggerresourcesassertjs"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/inspector-protocol/debugger/resources/assert.js (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/inspector-protocol/debugger/resources/assert.js                                (rev 0)
+++ branches/jsCStack/LayoutTests/inspector-protocol/debugger/resources/assert.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,23 @@
</span><ins>+function assertTrue()
+{
+    log(&quot;inside assertOkay&quot;);
+    console.assert(true, &quot;Should never happen.&quot;);
+}
+
+function assertFalse()
+{
+    log(&quot;inside assertFalse&quot;);
+    console.assert(false, &quot;Should always fail.&quot;);
+}
+
+function assertCondition(condition)
+{
+    log(&quot;inside assertCondition, and condition is &quot; + !!condition);
+    console.assert(condition);
+}
+
+function assertConditionWithMessage(condition, message)
+{
+    log(&quot;inside assertConditionWithMessage, and condition is &quot; + !!condition);
+    console.assert(condition, message);
+}
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsdomdomasprototypeassignmentexceptionexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+Tests to make sure we throw when triggering a custom property with a mismatched this
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS testObject.id threw exception TypeError: Type error.
+PASS testObject.id=&quot;foo&quot; threw exception TypeError: Type error.
+PASS testObject.length threw exception TypeError: Type error.
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsdomdomasprototypeassignmentexceptionhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/dom/dom-as-prototype-assignment-exception.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;script src=&quot;script-tests/dom-as-prototype-assignment-exception.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsdomscripttestsdomasprototypeassignmentexceptionjs"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/dom/script-tests/dom-as-prototype-assignment-exception.js (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/dom/script-tests/dom-as-prototype-assignment-exception.js                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/dom/script-tests/dom-as-prototype-assignment-exception.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,14 @@
</span><ins>+description(
+'Tests to make sure we throw when triggering a custom property with a mismatched this'
+);
+
+
+
+var div = document.createElement(&quot;div&quot;)
+var testObject = { __proto__: div}
+shouldThrow('testObject.id')
+shouldThrow('testObject.id=&quot;foo&quot;')
+
+testObject = {__proto__: document.getElementsByTagName(&quot;div&quot;)}
+shouldThrow(&quot;testObject.length&quot;)
+
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsscripttestsstaticputinprototypechainjs"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/script-tests/static-put-in-prototype-chain.js (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/script-tests/static-put-in-prototype-chain.js                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/script-tests/static-put-in-prototype-chain.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,12 @@
</span><ins>+description(&quot;This test ensures that we will call a custom setter when the setter is in the prototype chain&quot;);
+
+// The RegExp Object is a convenient constructor with a custom setter.
+// This will also test the weird behaviour in which the RegExp constructor
+// setters are expected to act on the base object (e.g. the constructor object)
+// rather than the this value.
+var testObject = {__proto__: RegExp }
+
+testObject.input = &quot;testInput&quot;
+
+shouldBe(&quot;testObject.input&quot;, &quot;'testInput'&quot;)
+shouldBe(&quot;RegExp.input&quot;, &quot;'testInput'&quot;)
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsstaticputinprototypechainexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,11 @@
</span><ins>+This test ensures that we will call a custom setter when the setter is in the prototype chain
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS testObject.input is 'testInput'
+PASS RegExp.input is 'testInput'
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsjsstaticputinprototypechainhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/js/static-put-in-prototype-chain.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,10 @@
</span><ins>+&lt;!DOCTYPE HTML PUBLIC &quot;-//IETF//DTD HTML//EN&quot;&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;script src=&quot;script-tests/static-put-in-prototype-chain.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsmedianetworknosourceconstshadowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/media/network-no-source-const-shadow-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/media/network-no-source-const-shadow-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/media/network-no-source-const-shadow-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx"> PASS element.NETWORK_NO_SOURCE is 3
</span><span class="cx"> PASS HTMLMediaElement.NETWORK_NO_SOURCE is 3
</span><span class="cx"> PASS HTMLAudioElement.prototype.NETWORK_NO_SOURCE is 3
</span><del>-FAIL element.NETWORK_NO_SOURCE should be 3. Was 15.
</del><ins>+PASS element.NETWORK_NO_SOURCE is 3
</ins><span class="cx"> PASS successfullyParsed is true
</span><span class="cx"> 
</span><span class="cx"> TEST COMPLETE
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflTestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/TestExpectations (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/TestExpectations        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/TestExpectations        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -258,11 +258,6 @@
</span><span class="cx"> fast/events/drag-and-drop-subframe-dataTransfer.html
</span><span class="cx"> fast/events/drag-dataTransferItemList-file-handling.html
</span><span class="cx"> 
</span><del>-# Still failing after https://bugs.webkit.org/show_bug.cgi?id=42328
-# most likely related to https://bugs.webkit.org/show_bug.cgi?id=84102
-fast/profiler/stop-profiling-after-setTimeout.html
-fast/profiler/dead-time.html
-
</del><span class="cx"> # ENABLE(DRAGGABLE_REGION) is disabled
</span><span class="cx"> fast/css/draggable-region-parser.html
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcompositingoverflowthemeaffectsvisualoverflowexpectedpng"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.png (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.png        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.png        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> \x89PNG
</span><span class="cx"> 
</span><span class="cx">  -IHDR X')tEXtchecksumcd0ff99ebac41a8776653b8f7a200ab2\xB1\xBAZ%bKGD\xFF\xFF\xFF\xA0\xBD\xA7\x93\xA8IDATx\x9C\xED\xDDOȜ\x81\xC7\xF1\x99y\xFFe\xDE\xE0\xDBP߄Pmښذ\xA5\xEB\xD4(&amp;ꖲ\xB6\x87\x8B\xECR\xA17a\xBA{
</span><del>-^d\x92CAڃV(E\xAD,+\xB4ǂb\xB3\x81\xD6\\xBA\xED{(Ė.\xACx\x906f\xE6}_\xF3\xCE\xECA\xB7
-B\xE4]\xBE\xE9 \xE6\xF3a\xC333\xF0;~y\x9E\x87y\x86\xF3\xF9|@g\xB4\xDB\xFE\xD2,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88-\xEE\xE8\xDB\xF3\xD9\xEC\xCD7\xDEx\xE1\xFC\xF9\xFF\xB8x\xF1\xAD_\xFFz&gt;ܲo\xDF\xC7&gt;\xFA\xD1\xFB\xEF\xBF\xFF\x8E;\xEF\x8Ev-\xD7N\x9F\xFE\xEA\x9D\xF8\xC0\xDE\xD5\xD5\xE1`0\xFC\xE1\xE9\x8A\xC3\xC1h6\x9FM'\x93˗\xF1\x8Do&lt;\xB6[\xF3\x80\x9B\xCAk6\x9B\xBDz\xE9\xD27\x9F|\xF2\xFD\xB7\xBF\xFF\x91/&gt;\xB2\xF9|\xFE\xF6\xDBWΟ\xFF\xF7\xAF\x9F9\xF3O_\xFE\xF2\x87&gt;\xF2\x91\xD1.5\xD6]w\xDD\xF5\x89\x8Fb\xBCw\xBC\xB2\xBC4.\xBCs|&gt;\xDF\xDE\xDCښN6ϴ\xDE%;\xAC\xFF~\xE3\x8D'\xBF\xFD\xEDc\x9F&lt;\xF6\xE0\x83lnn\xAE\xAC\xAC,,,\xDCz뭏&lt;\xF2\xF7?\xFB\xD9\xC5o~\xEB[\xFF\xF2\xB5\xAF\xDDy\xF8\xF0\x8D\xDBz\xE3\xD5\xD5\xF1\xDE\xF1\xFE\x{1EEBEE}\xEE\xF9\xE3\xC0\x9AN\xAF&gt;\xFC\xF0ß&gt;~\xFC\xE8ѿڕa\xC0Mh'\x9C~\xFA\xC2 o\xBB\xED\xF3\x9F\xFF\xDB\xD9l\xB6\xBE\xBE\xFF\xC0\x81\x83\xEB\xEB\xF6\xED\xBBum\xED\x96'\x8E\xFF\xF5\x87?\xFC\xFC\xF3\xCF߸\xA1\xC6p\xB0\xB2\xBC\xBC\xBA:^]]ݻw\xFC\xCE\xEB\x89'\x9E\xB8p\xE1\xC2\xFB\xDEw\xFBpז7\x9D\xD6+\x97.}\xEAS\x9F\x9C\xCF\xE7kk\xB7\xBC\xE7=k\x8B\x8B\x8B \xE3\xF1x&lt;^]Y\xD9\xF3\xE0\z\xF5\xD57\xF4\xFA\x86\x83\xC1p8G\xA3\xD1h\xF8\x9E{\xEE\xB9\xC7{\xEC\xE8ѣ\x9F\xFB\x9B\xCF\xCD]&quot;\xDE-;\xBBe\xEAȑ#\xA3\xD1huu\xEF\ZZZZZ:p`}ee%ݶc?\xFAѿ=\xFE\xF8\xE3\xBF{\xFF\xDAk\xAF=\xFA\xE8\xA3w\xDCq\xC7\xF7\xBE\xF7\x83\xF1\x9E\xF1\xEEn*;\xACť\xA5\xB5\xB5\xB5\x85\x85\x85?\xFDh8.,,,//w\xC3\xFE?Ν;w\xFA\xF4\xE9 . \x83\x93'ON\xA7ӧ\x9F~\xFA\xDE{\xEF\xDD\xDDU\xC0\xCDf7\xB9//.\xBE\xFE\xFA\xEB\x87\xDA\xDA\xDA\\\xFC\xC3\xB7\xB7\xAFmooollη\xB7o\xC0\xC28s\xE6̥K\xFFu\xF2\xE4\xC9'N\xBC\xF8\xE2\x8B\xCF&gt;\xFB\xEC\xF1\xE3\xC7'\x93\x8D\xDD]\xDClvp\xEB\x9E{\xEEy\xF9\xE5W\xC6\xE3\xF1\xE6\xE6\xE6\xC6\xC6t6۞\xCDf[[\x9B\x9B\x9B[׮]\xBBx\xF1\xE2\xDDw\xDF}\xE3\x86^\xDFp0\x9C\xCFg\xFB\xF7\xEF\xE6\x99gf\xB3\xD9SO=u\xF6\xECهzh&gt;\x9F\xCF\xE7\xB3\xF9|\xE6,\xE0]\xB3\x83\xC0\xFA\xECg&gt;\xF3\xEA\xCF\xFE\xD2K/---N\xA7W\xAE\xFC\xE6\xEA\xD5+\xDB\xDB\xD7\xDE|\xF3\xCDs\xE7~z\xDF}\xF7ݸ\xA1\xD77 6\xB7\xB6&amp;\x93\xE9\xC1\x83\xF8\xC3\xFD\xFE\xF7\xF0\x85/\xFC\xDDի\xD3\xC9d2\x99L7\xB7\xB6\xDC\xE3\xBCkvp\x89\xF0\xE0m\xB7\x9D:u\xEA;\xDF\xFD\xEE[o\xBD}\xECر\xE5\xE5\xA5\xCD\xCD\xDF\xCEf\xB3\xFF|\xF9\x95\x9F\xFC\xF8\xC7\xFF\xF0\xA5/\xDD~\xE8Ѝz}\x93\xAB\xBF\x99N\xA6\xBF\xFCj\xE5\xCA\xF2{\xD7\xD7?\xBD~\xE2~\xF9\xCB\xC1\xEF\xFFh\xF4\xB7ӫ\xD3\xE9d\xB2[\xDB\x80\x9B\xCDk4&gt;r䟿\xF2\x95\xF3.\x9C={vkk\xEBʕ+&lt;|xeϞ&lt;u\xEA\xC8\xEE] \x97/\xBF&gt; ǫ\xAB\xA3\xE1h&gt;\x98\xBDs|8\xCE\x83\xAB\x93\xC9/._\xDE\xC5y\xC0Me8\x9F\xBBxPڵ\xC73\xFC\xA5X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81X1\x81\xFB_\xF1\xFB]\x95'\xA7-IEND\xAEB`\x82
</del><span class="cx">\ No newline at end of file
</span><ins>+IHDR X')tEXtchecksumcc90405da5f95533fbc112cc4a8601d0\xDD]
+\x87bKGD\xFF\xFF\xFF\xA0\xBD\xA7\x93\xA5IDATx\x9C\xED\xDDO\x88]\xA1\xC7\xF1{\xEFdf2\x9C\x86:\x86P\xADiMl(\xF4\xF95\x8A\xFF\x94\xA2-t[D\xA9Ѕ&amp;\xB8P\xDF*\xBC\x8D\xBC\xC5\xC3BAڅV(E\xAD\x88R讠\x85\xD8\xE8B\xB3\xA9-\xA9]bK\xA5\x8B\xD2ƙ;3f\xEEu_\xDF\xDE\xC0{\x9Fwq9\xF7,~\xCB/\xE7\xEEN\xA7\xD3\x9D\xD1\xD5\xF0\x8D\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80؞\xE7\xA4\xE9d\xF2\xF2K/=y\xE6̯ϝ{\xED\xD5W\xA7\x83\xC15\xFB\xF7\xE8\x83\xBC\xFD\xF6\xDB\xDDp\xC3p4\xBBJ;y\xF2\xBFnx\xCF{\xF6-/\x83\xE9\xE0\xEFoQF\x93\xE9d\xBC\xB1q\xE1\xC2\xEF\xBF\xF5\xAD\xFBg\xB6\xE0\xCDv\xAC\xC9d\xF2\xFC\xF9\xF3\xDF~\xE8\xA1w]\xFF\xAE{\xBEx\xCF\xFEkV\xA6\xD3\xE9\xEB\xAF_&lt;s\xE6W\xFF\xF3\xCDo~\xFD\xAB_}\xDF&gt;0\x9AUc\xDDx\xE3\x8D\xF9\xF0G\x96\xF6--.\xCC\x87so\x9FNw\xB6\xB6\xB7\xC7\x9B\x83\x81wWW\xD9\xEE\x81\xF5\x87\x97^z\xE8\xBB\xDF=\xF6\xD1cw\xDEy\xC7\xD6\xD6\xD6\xE2\xE2\xE2\xDC\xDCܵ\xD7^{\xCF=_\xF8\xCDo\xCE}\xFB;\xDF\xF9\xEFo|\xE3\x86Çg\xB0u0,-//\xED[z\xC7\xDBW\x97\x97\xF7\xFEc`\x8D\xC7\xEBw\xDF}\xF7\xC7o\xBD\xF5\xE8ћg\xB3\xE0\x9F\xD9\xFD\xCA\xD3/\x9F|\xF2\xE0u\xD7}\x{1B37D9}L&amp;\xAB\xAB\xEF8p\xE0\xE0\xEA\xEA\x81\xFD\xFB\xAF]Y\xB9fm\xED\xD6\xFFx\xFF\xFB\x9Fx\xE2\x89 \xFD\x9B\xE1`qaayyiyyy߾\xA57&gt;&gt;\xF8\xE0ٳg\xDF\xF9\xCE뇳\x9Bpe\xBBֳ\xE7\xCF\xECc\x9DN\xA7++׼\xEDm+{\xF6왛\x9B[ZZZZZ^\\xDC{\xE7w\x9C\xFE\xF9 \xBDl8 \x87\xA3\xE1p4\x8D\x86\xFF\xEB\xF1\xC7\xBF\xFF\xFE\xFB\x8F=\xFA\xA9Oj\xEA!p\xB5\xFD[\xCFN9rd4-/\xEF\xFBǃ\xF3\xF3\xF3\xF3\xF3\xF3\xAC...\xBE5\xDB\xFE\xA9\x9F\xFD\xEC\xA7&lt;\xF0\xC0\xE5\xEF/\xBC\xF0½\xF7\xDE{\xE8С\xFC\xE0GK{\x97f\xBC\xE0\xCDv\xAC=\xF3\xF3+++ssso\xFEi8\xCE\xCD\xCD-,,\xBC\xC3\xFE\x95ӧO\x9F&lt;y\xF2\xECٳ\x83\xC1\xE0\xF8\xF1\xE3\xE3\xF1\xF8\x91G\xB9\xE5\x96[f&lt;\xE0\x8Av\xC8}q~\xFE\xC5_&lt;t\xE8\xD0\xF6\xF6֞=?g\xE7\xD2\xCE\xCE\xCE\xE6\xE6\xD6tg\xE7\xAD\x\xF7\xDDw\xDFsϝ?~\xFC\xF8\xDA\xDA\xDASO=\xF5\xD8c\x8F\xAD\xAD\xAD\xAD\xAF\x8Fg&lt;\xE0\x8Av\xBF\x82u\xF3\xCD7?\xF3̳{\xF7\xEE\xDD\xDA\xDA\xDA\xDCO&amp;;\x93\xC9d{{kkk\xFBҥK\xE7Ν\xBB馛f0\xF4\xB2\xE1`8\x9DNVWW}\xF4\xD1\xC9d\xF2\xF0\xC3\x9F:uꮻ\xEE\x9AL&amp;\xD3\xE9d:\x9Dx \xB8\xEAv\xACO~\xE2\xCF\xFF\xEEwO?\xFD\xF4\xFC\xFC\x9E\xF1x\xF3\xE2\xC5?\xAF\xAF_\xDC\xDC\xDC\xDCٹ\xF4\xF2\xCB/\x9F&gt;\xFD\xCB\xDBn\xBBmC/\x9B[\xDB\xDB\xE3\x83\xFE\xF8\xC7?\xF9\xE1\xF4\xB9\xCF}~}}\xBC\xB1\xB1\xB1\xB11\xDE\xDA\xDE\xF6\x8C;p\xD5\xED~\x8B\xF0\xE0uם8q\xE2{\xDF\xFF\xFEk\xAF\xBD~\xECر\x85\x85\xF9\xAD\xAD\xBFL&amp;\x93\xDF&gt;\xF3\xEC/~\xFE\xF3/\xE9K׿\xFB\xDD3z\xD9\xC6\xFA\x9F\xC7\xE3W\xAF,^\x\xFB\xEA\xEA\xC7W\xD7\xFE\xF8\xA7? +\xFE\xF6G\xA3\xAF\x8F\xC73pE\xBB\xD6h4:|\xE4\xC8~\xEDkgΞ=u\xEA\xD4\xF6\xF6\xF6ŋ\xDF{\xF8\xF0\xE2޽_9q\xE2\xC8 \xEF\x83 ^ \x86K\xCBˣ\xE1h:\x98\xBCq|8N\x83\xF5\x8D\x8D\xDF_\xB80\xCB=o6\x9CN\xDDT(\xCD\xEE=\xCD\xFFO,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88        ,\x80\x98\xC0\x88\xFD\xFE]G\xAB(IEND\xAEB`\x82
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcompositingoverflowthemeaffectsvisualoverflowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/compositing/overflow/theme-affects-visual-overflow-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,13 +5,13 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x21
</span><span class="cx"> layer at (8,8) size 784x21
</span><span class="cx">   RenderBlock {DIV} at (0,0) size 784x21
</span><del>-    RenderText {#text} at (24,1) size 4x17
-      text run at (24,1) width 4: &quot; &quot;
-    RenderBlock {SPAN} at (28,15) size 20x0
-    RenderText {#text} at (48,1) size 4x17
-      text run at (48,1) width 4: &quot; &quot;
</del><ins>+    RenderText {#text} at (19,1) size 4x17
+      text run at (19,1) width 4: &quot; &quot;
+    RenderBlock {SPAN} at (23,15) size 20x0
+    RenderText {#text} at (43,1) size 4x17
+      text run at (43,1) width 4: &quot; &quot;
</ins><span class="cx">     RenderText {#text} at (0,0) size 0x0
</span><del>-layer at (13,11) size 15x15
-  RenderBlock (relative positioned) {INPUT} at (4,3) size 16x15
-layer at (65,11) size 15x15
-  RenderBlock (relative positioned) {INPUT} at (56,3) size 16x15
</del><ins>+layer at (10,11) size 15x15
+  RenderBlock (relative positioned) {INPUT} at (2,3) size 15x15
+layer at (57,11) size 15x15
+  RenderBlock (relative positioned) {INPUT} at (49,3) size 15x15
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss1box_propertiesacid_testexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss1box_propertiesacid_testexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css1/box_properties/acid_test-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">                 RenderBlock {P} at (0,0) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 27x11
</span><span class="cx">                     text run at (0,4) width 27: &quot;bang &quot;
</span><del>-                  RenderBlock {INPUT} at (31,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (29,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderBlock {P} at (0,19) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 41x11
</span><span class="cx">                     text run at (0,4) width 41: &quot;whimper &quot;
</span><del>-                  RenderBlock {INPUT} at (45,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (43,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderBlock (anonymous) at (10,58) size 140x0
</span><span class="cx">                 RenderInline {FORM} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss21t09c5526cdisplay00eexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss21t09c5526cdisplay00eexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css2.1/t09-c5526c-display-00-e-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">                 RenderBlock {P} at (0,0) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 27x11
</span><span class="cx">                     text run at (0,4) width 27: &quot;bang &quot;
</span><del>-                  RenderBlock {INPUT} at (31,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (29,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderBlock {P} at (0,19) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 41x11
</span><span class="cx">                     text run at (0,4) width 41: &quot;whimper &quot;
</span><del>-                  RenderBlock {INPUT} at (45,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (43,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderBlock (anonymous) at (10,58) size 140x0
</span><span class="cx">                 RenderInline {FORM} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel25expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x52
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x20
</span><span class="cx">       RenderBlock {P} at (0,0) size 784x20
</span><del>-        RenderBlock {INPUT} at (4,5) size 13x12 [bgcolor=#00FF00]
-        RenderText {#text} at (21,0) size 4x17
-          text run at (21,0) width 4: &quot; &quot;
</del><ins>+        RenderBlock {INPUT} at (2,5) size 12x12 [bgcolor=#00FF00]
+        RenderText {#text} at (16,0) size 4x17
+          text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {SPAN} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (25,0) size 388x17
-            text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (20,0) size 388x17
+            text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel70expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3htmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/html/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x52
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x20
</span><span class="cx">       RenderBlock {P} at (0,0) size 784x20
</span><del>-        RenderBlock {INPUT} at (4,5) size 13x12 [bgcolor=#00FF00]
-        RenderText {#text} at (21,0) size 4x17
-          text run at (21,0) width 4: &quot; &quot;
</del><ins>+        RenderBlock {INPUT} at (2,5) size 12x12 [bgcolor=#00FF00]
+        RenderText {#text} at (16,0) size 4x17
+          text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {SPAN} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (25,0) size 388x17
-            text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (20,0) size 388x17
+            text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel25expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x52
</span><span class="cx">     RenderBody {body} at (8,16) size 784x20
</span><span class="cx">       RenderBlock {p} at (0,0) size 784x20
</span><del>-        RenderBlock {input} at (4,5) size 13x12 [bgcolor=#00FF00]
-        RenderText {#text} at (21,0) size 4x17
-          text run at (21,0) width 4: &quot; &quot;
</del><ins>+        RenderBlock {input} at (2,5) size 12x12 [bgcolor=#00FF00]
+        RenderText {#text} at (16,0) size 4x17
+          text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (25,0) size 388x17
-            text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (20,0) size 388x17
+            text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel70expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xhtmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xhtml/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x52
</span><span class="cx">     RenderBody {body} at (8,16) size 784x20
</span><span class="cx">       RenderBlock {p} at (0,0) size 784x20
</span><del>-        RenderBlock {input} at (4,5) size 13x12 [bgcolor=#00FF00]
-        RenderText {#text} at (21,0) size 4x17
-          text run at (21,0) width 4: &quot; &quot;
</del><ins>+        RenderBlock {input} at (2,5) size 12x12 [bgcolor=#00FF00]
+        RenderText {#text} at (16,0) size 4x17
+          text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (25,0) size 388x17
-            text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (20,0) size 388x17
+            text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel25expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,9 +3,9 @@
</span><span class="cx"> layer at (0,0) size 800x52
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x52
</span><span class="cx">     RenderBlock {p} at (0,16) size 800x20
</span><del>-      RenderBlock {input} at (4,5) size 13x12 [bgcolor=#00FF00]
-      RenderText {#text} at (21,0) size 4x17
-        text run at (21,0) width 4: &quot; &quot;
</del><ins>+      RenderBlock {input} at (2,5) size 12x12 [bgcolor=#00FF00]
+      RenderText {#text} at (16,0) size 4x17
+        text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">       RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-        RenderText {#text} at (25,0) size 388x17
-          text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+        RenderText {#text} at (20,0) size 388x17
+          text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel70expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflcss3selectors3xmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/css3/selectors3/xml/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,9 +3,9 @@
</span><span class="cx"> layer at (0,0) size 800x52
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x52
</span><span class="cx">     RenderBlock {p} at (0,16) size 800x20
</span><del>-      RenderBlock {input} at (4,5) size 13x12 [bgcolor=#00FF00]
-      RenderText {#text} at (21,0) size 4x17
-        text run at (21,0) width 4: &quot; &quot;
</del><ins>+      RenderBlock {input} at (2,5) size 12x12 [bgcolor=#00FF00]
+      RenderText {#text} at (16,0) size 4x17
+        text run at (16,0) width 4: &quot; &quot;
</ins><span class="cx">       RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-        RenderText {#text} at (25,0) size 388x17
-          text run at (25,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+        RenderText {#text} at (20,0) size 388x17
+          text run at (20,0) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastblockbasic011expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastblockbasic011expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/block/basic/011-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">                 RenderBlock {P} at (0,0) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 27x11
</span><span class="cx">                     text run at (0,4) width 27: &quot;bang &quot;
</span><del>-                  RenderBlock {INPUT} at (31,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (29,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderBlock {P} at (0,19) size 140x19
</span><span class="cx">                   RenderText {#text} at (0,4) size 41x11
</span><span class="cx">                     text run at (0,4) width 41: &quot;whimper &quot;
</span><del>-                  RenderBlock {INPUT} at (45,4) size 13x12 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (43,4) size 12x12 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderBlock (anonymous) at (10,58) size 140x0
</span><span class="cx">                 RenderInline {FORM} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastblockmargincollapse103expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastblockmargincollapse103expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -80,17 +80,17 @@
</span><span class="cx">               RenderText {#text} at (0,2) size 220x15
</span><span class="cx">                 text run at (0,2) width 220: &quot;Your research is primarily focused on:&quot;
</span><span class="cx">             RenderBlock {SPAN} at (325,368) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,5) size 13x12 [color=#000000]
-              RenderText {#text} at (21,2) size 33x15
-                text run at (21,2) width 33: &quot;Texts&quot;
</del><ins>+              RenderBlock {INPUT} at (2,5) size 12x12 [color=#000000]
+              RenderText {#text} at (16,2) size 33x15
+                text run at (16,2) width 33: &quot;Texts&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,388) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,5) size 13x12 [color=#000000]
-              RenderText {#text} at (21,2) size 131x15
-                text run at (21,2) width 131: &quot;Performance materials&quot;
</del><ins>+              RenderBlock {INPUT} at (2,5) size 12x12 [color=#000000]
+              RenderText {#text} at (16,2) size 131x15
+                text run at (16,2) width 131: &quot;Performance materials&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,408) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,5) size 13x12 [color=#000000]
-              RenderText {#text} at (21,2) size 18x15
-                text run at (21,2) width 18: &quot;n/a&quot;
</del><ins>+              RenderBlock {INPUT} at (2,5) size 12x12 [color=#000000]
+              RenderText {#text} at (16,2) size 18x15
+                text run at (16,2) width 18: &quot;n/a&quot;
</ins><span class="cx">             RenderBlock {H2} at (0,453) size 560x17 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,0) size 335x15
</span><span class="cx">                 text run at (0,0) width 335: &quot;INTERNET SHAKESPEARE EDITIONS QUESTIONS&quot;
</span><span class="lines">@@ -100,11 +100,11 @@
</span><span class="cx">             RenderBlock {SPAN} at (325,479) size 180x21 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,2) size 23x15
</span><span class="cx">                 text run at (0,2) width 23: &quot;Yes&quot;
</span><del>-              RenderBlock {INPUT} at (27,5) size 13x12 [color=#000000]
-              RenderText {#text} at (44,2) size 20x15
-                text run at (44,2) width 4: &quot; &quot;
-                text run at (48,2) width 16: &quot;No&quot;
-              RenderBlock {INPUT} at (68,5) size 13x12 [color=#000000]
</del><ins>+              RenderBlock {INPUT} at (25,5) size 12x12 [color=#000000]
+              RenderText {#text} at (39,2) size 20x15
+                text run at (39,2) width 4: &quot; &quot;
+                text run at (43,2) width 16: &quot;No&quot;
+              RenderBlock {INPUT} at (61,5) size 12x12 [color=#000000]
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">             RenderBlock {P} at (0,512) size 560x21 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,2) size 371x15
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastcssnonstandardcheckboxsizeexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastcssnonstandardcheckboxsizeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/css/non-standard-checkbox-size-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,8 +5,8 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderText {#text} at (0,36) size 289x17
</span><span class="cx">         text run at (0,36) width 289: &quot;The following inputs should not be stretched. &quot;
</span><del>-      RenderBlock {INPUT} at (293,3) size 13x50
-      RenderText {#text} at (310,36) size 4x17
-        text run at (310,36) width 4: &quot; &quot;
-      RenderBlock {INPUT} at (318,3) size 13x50
</del><ins>+      RenderBlock {INPUT} at (291,3) size 12x50
+      RenderText {#text} at (305,36) size 4x17
+        text run at (305,36) width 4: &quot; &quot;
+      RenderBlock {INPUT} at (311,3) size 12x50
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastforms001expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastforms001expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/001-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,16 +19,16 @@
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x20
</span><span class="cx">             RenderTableRow {TR} at (0,0) size 780x20
</span><del>-              RenderTableCell {TD} at (0,0) size 23x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {INPUT} at (5,4) size 13x12
-              RenderTableCell {TD} at (23,9) size 757x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</del><ins>+              RenderTableCell {TD} at (0,0) size 18x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (18,9) size 762x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</ins><span class="cx">       RenderBlock {P} at (0,158) size 784x25
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x20
</span><span class="cx">             RenderTableRow {TR} at (0,0) size 780x20
</span><del>-              RenderTableCell {TD} at (0,0) size 23x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {INPUT} at (5,4) size 13x12
-              RenderTableCell {TD} at (23,9) size 757x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</del><ins>+              RenderTableCell {TD} at (0,0) size 18x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (18,9) size 762x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</ins><span class="cx">       RenderBlock {P} at (0,198) size 784x51
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x50 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x46
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsbasicinputsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/basic-inputs-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/basic-inputs-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/basic-inputs-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,21 +51,21 @@
</span><span class="cx">       RenderBlock {DIV} at (10,424) size 450x22 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,1) size 7x17
</span><span class="cx">           text run at (1,1) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (12,6) size 13x12
-        RenderText {#text} at (29,1) size 65x17
-          text run at (29,1) width 65: &quot;checkbox &quot;
-        RenderBlock {INPUT} at (98,6) size 13x12
-        RenderText {#text} at (115,1) size 8x17
-          text run at (115,1) width 8: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,6) size 12x12
+        RenderText {#text} at (24,1) size 65x17
+          text run at (24,1) width 65: &quot;checkbox &quot;
+        RenderBlock {INPUT} at (91,6) size 12x12
+        RenderText {#text} at (105,1) size 8x17
+          text run at (105,1) width 8: &quot;b&quot;
</ins><span class="cx">       RenderBlock {DIV} at (10,456) size 450x22 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,1) size 7x17
</span><span class="cx">           text run at (1,1) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (12,6) size 13x12
-        RenderText {#text} at (29,1) size 36x17
-          text run at (29,1) width 36: &quot;radio &quot;
-        RenderBlock {INPUT} at (69,6) size 13x12
-        RenderText {#text} at (86,1) size 8x17
-          text run at (86,1) width 8: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,6) size 12x12
+        RenderText {#text} at (24,1) size 36x17
+          text run at (24,1) width 36: &quot;radio &quot;
+        RenderBlock {INPUT} at (62,6) size 12x12
+        RenderText {#text} at (76,1) size 8x17
+          text run at (76,1) width 8: &quot;b&quot;
</ins><span class="cx"> layer at (32,333) size 185x18 scrollWidth 214
</span><span class="cx">   RenderBlock {DIV} at (4,6) size 185x18
</span><span class="cx">     RenderText {#text} at (0,0) size 213x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsboxshadowoverrideexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsboxshadowoverrideexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,38 +31,38 @@
</span><span class="cx">             RenderBlock {DIV} at (203,1) size 16x16
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,164) size 784x98
</span><del>-        RenderBlock {INPUT} at (4,21) size 13x12
-        RenderText {#text} at (21,16) size 4x17
-          text run at (21,16) width 4: &quot; &quot;
-        RenderBlock {INPUT} at (29,21) size 13x12
-        RenderText {#text} at (46,16) size 4x17
-          text run at (46,16) width 4: &quot; &quot;
-        RenderSlider {INPUT} at (52,19) size 129x11 [color=#909090] [bgcolor=#FFFFFF]
</del><ins>+        RenderBlock {INPUT} at (2,21) size 12x12
+        RenderText {#text} at (16,16) size 4x17
+          text run at (16,16) width 4: &quot; &quot;
+        RenderBlock {INPUT} at (22,21) size 12x12
+        RenderText {#text} at (36,16) size 4x17
+          text run at (36,16) width 4: &quot; &quot;
+        RenderSlider {INPUT} at (42,19) size 129x11 [color=#909090] [bgcolor=#FFFFFF]
</ins><span class="cx">           RenderFlexibleBox {DIV} at (0,0) size 129x11
</span><span class="cx">             RenderBlock {DIV} at (0,0) size 129x11
</span><span class="cx">               RenderBlock {DIV} at (50,0) size 29x11
</span><del>-        RenderText {#text} at (183,16) size 4x17
-          text run at (183,16) width 4: &quot; &quot;
-        RenderFileUploadControl {INPUT} at (189,6) size 306x40 &quot;No file selected&quot;
</del><ins>+        RenderText {#text} at (173,16) size 4x17
+          text run at (173,16) width 4: &quot; &quot;
+        RenderFileUploadControl {INPUT} at (179,6) size 306x40 &quot;No file selected&quot;
</ins><span class="cx">           RenderButton {INPUT} at (0,0) size 121x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="cx">             RenderBlock (anonymous) at (17,10) size 87x18
</span><span class="cx">               RenderText at (0,0) size 87x17
</span><span class="cx">                 text run at (0,0) width 87: &quot;Choose File&quot;
</span><del>-        RenderText {#text} at (497,16) size 4x17
-          text run at (497,16) width 4: &quot; &quot;
-        RenderButton {INPUT} at (503,2) size 92x45 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (487,16) size 4x17
+          text run at (487,16) width 4: &quot; &quot;
+        RenderButton {INPUT} at (493,2) size 92x45 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (17,10) size 58x23
</span><span class="cx">             RenderText at (0,0) size 58x22
</span><span class="cx">               text run at (0,0) width 58: &quot;Button&quot;
</span><del>-        RenderText {#text} at (597,16) size 4x17
-          text run at (597,16) width 4: &quot; &quot;
-        RenderButton {INPUT} at (603,6) size 80x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (587,16) size 4x17
+          text run at (587,16) width 4: &quot; &quot;
+        RenderButton {INPUT} at (593,6) size 80x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (17,10) size 46x18
</span><span class="cx">             RenderText at (0,0) size 46x17
</span><span class="cx">               text run at (0,0) width 46: &quot;Button&quot;
</span><del>-        RenderText {#text} at (685,16) size 4x17
-          text run at (685,16) width 4: &quot; &quot;
-        RenderButton {INPUT} at (689,15) size 48x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (675,16) size 4x17
+          text run at (675,16) width 4: &quot; &quot;
+        RenderButton {INPUT} at (679,15) size 48x28 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (17,10) size 14x6
</span><span class="cx">             RenderText at (0,0) size 14x6
</span><span class="cx">               text run at (0,0) width 14: &quot;Button&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsfilefileinputdisabledexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsfilefileinputdisabledexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,11 +5,11 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x576
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x82
</span><span class="cx">         RenderBlock (anonymous) at (0,0) size 784x82
</span><del>-          RenderBlock {INPUT} at (4,5) size 13x12
</del><ins>+          RenderBlock {INPUT} at (2,5) size 12x12
</ins><span class="cx">           RenderInline {B} at (0,0) size 75x17
</span><del>-            RenderText {#text} at (21,0) size 75x17
-              text run at (21,0) width 75: &quot;Attach File&quot;
-          RenderBR {BR} at (96,14) size 0x0
</del><ins>+            RenderText {#text} at (16,0) size 75x17
+              text run at (16,0) width 75: &quot;Attach File&quot;
+          RenderBR {BR} at (91,14) size 0x0
</ins><span class="cx">           RenderBR {BR} at (0,20) size 0x17
</span><span class="cx">           RenderText {#text} at (0,50) size 86x17
</span><span class="cx">             text run at (0,50) width 86: &quot;  Select File:  &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformelementgeometryexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformelementgeometryexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">         RenderText {#text} at (0,1) size 200x26
</span><span class="cx">           text run at (0,1) width 200: &quot;Baseline Alignment&quot;
</span><span class="cx">       RenderBlock {DIV} at (0,445) size 769x45
</span><del>-        RenderInline {FONT} at (0,0) size 285x26
</del><ins>+        RenderInline {FONT} at (0,0) size 275x26
</ins><span class="cx">           RenderText {#text} at (0,5) size 43x26
</span><span class="cx">             text run at (0,5) width 43: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (45,2) size 78x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="lines">@@ -120,10 +120,10 @@
</span><span class="cx">                 text run at (0,0) width 40: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (231,5) size 6x26
</span><span class="cx">             text run at (231,5) width 6: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (241,17) size 13x12
-          RenderText {#text} at (258,5) size 6x26
-            text run at (258,5) width 6: &quot; &quot;
-          RenderBlock {INPUT} at (268,17) size 13x12
</del><ins>+          RenderBlock {INPUT} at (239,17) size 12x12
+          RenderText {#text} at (253,5) size 6x26
+            text run at (253,5) width 6: &quot; &quot;
+          RenderBlock {INPUT} at (261,17) size 12x12
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,489) size 769x45
</span><span class="cx">         RenderText {#text} at (0,12) size 27x17
</span><span class="lines">@@ -140,13 +140,13 @@
</span><span class="cx">               text run at (0,0) width 40: &quot;menu&quot;
</span><span class="cx">         RenderText {#text} at (213,12) size 4x17
</span><span class="cx">           text run at (213,12) width 4: &quot; &quot;
</span><del>-        RenderBlock {INPUT} at (221,17) size 13x12
-        RenderText {#text} at (238,12) size 4x17
-          text run at (238,12) width 4: &quot; &quot;
-        RenderBlock {INPUT} at (246,17) size 13x12
</del><ins>+        RenderBlock {INPUT} at (219,17) size 12x12
+        RenderText {#text} at (233,12) size 4x17
+          text run at (233,12) width 4: &quot; &quot;
+        RenderBlock {INPUT} at (239,17) size 12x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,533) size 769x45
</span><del>-        RenderInline {FONT} at (0,0) size 251x11
</del><ins>+        RenderInline {FONT} at (0,0) size 241x11
</ins><span class="cx">           RenderText {#text} at (0,17) size 18x11
</span><span class="cx">             text run at (0,17) width 18: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (20,2) size 78x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="lines">@@ -161,10 +161,10 @@
</span><span class="cx">                 text run at (0,0) width 40: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (203,17) size 3x11
</span><span class="cx">             text run at (203,17) width 3: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (210,17) size 13x12
-          RenderText {#text} at (227,17) size 3x11
-            text run at (227,17) width 3: &quot; &quot;
-          RenderBlock {INPUT} at (234,17) size 13x12
</del><ins>+          RenderBlock {INPUT} at (208,17) size 12x12
+          RenderText {#text} at (222,17) size 3x11
+            text run at (222,17) width 3: &quot; &quot;
+          RenderBlock {INPUT} at (227,17) size 12x12
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,577) size 769x65
</span><span class="cx">         RenderText {#text} at (0,32) size 27x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformmoveexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformmoveexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,25 +4,25 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x20
</span><del>-        RenderBlock {INPUT} at (4,5) size 13x12
-        RenderText {#text} at (21,0) size 34x17
-          text run at (21,0) width 34: &quot;Two &quot;
-        RenderBlock {INPUT} at (59,5) size 13x12
-        RenderText {#text} at (76,0) size 37x17
-          text run at (76,0) width 37: &quot;Three&quot;
</del><ins>+        RenderBlock {INPUT} at (2,5) size 12x12
+        RenderText {#text} at (16,0) size 34x17
+          text run at (16,0) width 34: &quot;Two &quot;
+        RenderBlock {INPUT} at (52,5) size 12x12
+        RenderText {#text} at (66,0) size 37x17
+          text run at (66,0) width 37: &quot;Three&quot;
</ins><span class="cx">       RenderBlock {FORM} at (0,36) size 784x20
</span><del>-        RenderBlock {INPUT} at (4,5) size 13x12
-        RenderText {#text} at (21,0) size 31x17
-          text run at (21,0) width 31: &quot;One &quot;
-        RenderBlock {INPUT} at (56,5) size 13x12
-        RenderText {#text} at (73,0) size 34x17
-          text run at (73,0) width 34: &quot;Two &quot;
-        RenderBlock {INPUT} at (111,5) size 13x12
-        RenderText {#text} at (128,0) size 41x17
-          text run at (128,0) width 41: &quot;Three &quot;
-        RenderBlock {INPUT} at (173,5) size 13x12
-        RenderText {#text} at (190,0) size 27x17
-          text run at (190,0) width 27: &quot;One&quot;
</del><ins>+        RenderBlock {INPUT} at (2,5) size 12x12
+        RenderText {#text} at (16,0) size 31x17
+          text run at (16,0) width 31: &quot;One &quot;
+        RenderBlock {INPUT} at (49,5) size 12x12
+        RenderText {#text} at (63,0) size 34x17
+          text run at (63,0) width 34: &quot;Two &quot;
+        RenderBlock {INPUT} at (99,5) size 12x12
+        RenderText {#text} at (113,0) size 41x17
+          text run at (113,0) width 41: &quot;Three &quot;
+        RenderBlock {INPUT} at (156,5) size 12x12
+        RenderText {#text} at (170,0) size 27x17
+          text run at (170,0) width 27: &quot;One&quot;
</ins><span class="cx">       RenderBlock (anonymous) at (0,72) size 784x36
</span><span class="cx">         RenderText {#text} at (0,0) size 766x35
</span><span class="cx">           text run at (0,0) width 505: &quot;The count of the # of elements in form 1 should be 2 and in form 2 should be 4. &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformmove2expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsformmove2expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/formmove2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,8 +4,8 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x18
</span><del>-        RenderBlock {INPUT} at (4,3) size 13x12
-        RenderBlock {INPUT} at (25,3) size 13x12
</del><ins>+        RenderBlock {INPUT} at (2,3) size 12x12
+        RenderBlock {INPUT} at (18,3) size 12x12
</ins><span class="cx">       RenderBlock (anonymous) at (0,34) size 784x36
</span><span class="cx">         RenderText {#text} at (0,0) size 777x35
</span><span class="cx">           text run at (0,0) width 777: &quot;There should be two elements in the first form and one in the second. The count in form one is 2, and the count in form two&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsindeterminateexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/indeterminate-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/indeterminate-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/indeterminate-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,8 +3,8 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderText {#text} at (21,0) size 491x17
-        text run at (21,0) width 491: &quot; This checkbox should look 50% transparent and should be in the mixed state.&quot;
</del><ins>+      RenderText {#text} at (16,0) size 491x17
+        text run at (16,0) width 491: &quot; This checkbox should look 50% transparent and should be in the mixed state.&quot;
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><del>-layer at (13,13) size 12x12
-  RenderBlock {INPUT} at (4,5) size 13x12
</del><ins>+layer at (10,13) size 12x12
+  RenderBlock {INPUT} at (2,5) size 12x12
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsinputappearanceheightexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsinputappearanceheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,10 +21,10 @@
</span><span class="cx">         RenderBR {BR} at (227,54) size 0x0
</span><span class="cx">         RenderText {#text} at (0,64) size 65x17
</span><span class="cx">           text run at (0,64) width 65: &quot;checkbox &quot;
</span><del>-        RenderBlock {INPUT} at (69,69) size 13x12
-        RenderText {#text} at (86,64) size 4x17
-          text run at (86,64) width 4: &quot; &quot;
-        RenderBR {BR} at (90,78) size 0x0
</del><ins>+        RenderBlock {INPUT} at (67,69) size 12x12
+        RenderText {#text} at (81,64) size 4x17
+          text run at (81,64) width 4: &quot; &quot;
+        RenderBR {BR} at (85,78) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,96) size 24x17
</span><span class="cx">           text run at (0,96) width 24: &quot;file &quot;
</span><span class="cx">         RenderFileUploadControl {INPUT} at (26,86) size 306x40 &quot;No file selected&quot;
</span><span class="lines">@@ -43,10 +43,10 @@
</span><span class="cx">         RenderBR {BR} at (56,142) size 0x0
</span><span class="cx">         RenderText {#text} at (0,146) size 36x17
</span><span class="cx">           text run at (0,146) width 36: &quot;radio &quot;
</span><del>-        RenderBlock {INPUT} at (40,151) size 13x12
-        RenderText {#text} at (57,146) size 4x17
-          text run at (57,146) width 4: &quot; &quot;
-        RenderBR {BR} at (61,160) size 0x0
</del><ins>+        RenderBlock {INPUT} at (38,151) size 12x12
+        RenderText {#text} at (52,146) size 4x17
+          text run at (52,146) width 4: &quot; &quot;
+        RenderBR {BR} at (56,160) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,166) size 39x17
</span><span class="cx">           text run at (0,166) width 39: &quot;range &quot;
</span><span class="cx">         RenderSlider {INPUT} at (41,169) size 129x11 [color=#909090] [bgcolor=#FFFFFF]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsinputvalueexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformsinputvalueexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/input-value-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 249x17
</span><span class="cx">                   text run at (1,1) width 249: &quot;check box with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (328,72) size 312x20 [r=2 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (642,72) size 62x20 [r=2 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 216x17
</span><span class="cx">                   text run at (1,1) width 216: &quot;radio with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (328,189) size 312x20 [r=6 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (642,189) size 62x20 [r=6 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 247x17
</span><span class="cx">                   text run at (1,1) width 247: &quot;check box with value attribute changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (328,247) size 312x20 [r=8 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (642,247) size 62x20 [r=8 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">                   text run at (1,1) width 314: &quot;text with value property changed, then turned into&quot;
</span><span class="cx">                   text run at (1,19) width 65: &quot;check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (328,278) size 312x20 [r=9 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (642,278) size 62x20 [r=9 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">                   text run at (1,1) width 312: &quot;text with value attribute changed, then turned into&quot;
</span><span class="cx">                   text run at (1,19) width 65: &quot;check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (328,358) size 312x20 [r=11 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (642,358) size 62x20 [r=11 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformssearchverticalalignmentexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformssearchverticalalignmentexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/search-vertical-alignment-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -10,17 +10,17 @@
</span><span class="cx">           text run at (0,18) width 103: &quot;search field and &quot;
</span><span class="cx">           text run at (103,18) width 356: &quot;a text field, the vertical position of the text should be the &quot;
</span><span class="cx">           text run at (459,18) width 122: &quot;same in both fields.&quot;
</span><del>-      RenderBlock {P} at (0,52) size 784x45
-        RenderTextControl {INPUT} at (2,0) size 225x45 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</del><ins>+      RenderBlock {P} at (0,52) size 784x46
+        RenderTextControl {INPUT} at (2,1) size 225x45 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</ins><span class="cx">           RenderFlexibleBox {DIV} at (3,3) size 219x39
</span><span class="cx">             RenderBlock {DIV} at (0,12) size 18x15
</span><span class="cx">             RenderBlock {DIV} at (18,10) size 185x19
</span><span class="cx">             RenderBlock {DIV} at (203,11) size 16x17
</span><del>-        RenderText {#text} at (229,13) size 4x17
-          text run at (229,13) width 4: &quot; &quot;
</del><ins>+        RenderText {#text} at (229,14) size 4x17
+          text run at (229,14) width 4: &quot; &quot;
</ins><span class="cx">         RenderTextControl {INPUT} at (235,0) size 191x45 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,113) size 784x20
</del><ins>+      RenderBlock {P} at (0,114) size 784x20
</ins><span class="cx">         RenderTextControl {INPUT} at (2,0) size 225x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">           RenderFlexibleBox {DIV} at (3,0) size 219x16
</span><span class="cx">             RenderBlock {DIV} at (0,0) size 18x16
</span><span class="lines">@@ -30,7 +30,7 @@
</span><span class="cx">           text run at (229,2) width 4: &quot; &quot;
</span><span class="cx">         RenderTextControl {INPUT} at (235,0) size 191x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderBlock {P} at (0,149) size 784x18
</del><ins>+      RenderBlock {P} at (0,150) size 784x18
</ins><span class="cx">         RenderTextControl {INPUT} at (2,2) size 225x12 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">           RenderFlexibleBox {DIV} at (3,0) size 219x12
</span><span class="cx">             RenderBlock {DIV} at (0,0) size 18x15
</span><span class="lines">@@ -40,27 +40,27 @@
</span><span class="cx">           text run at (229,0) width 4: &quot; &quot;
</span><span class="cx">         RenderTextControl {INPUT} at (235,2) size 191x12 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-layer at (31,74) size 185x18
</del><ins>+layer at (31,75) size 185x18
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 185x18
</span><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span><span class="cx"> layer at (246,74) size 185x18
</span><del>-  RenderBlock {DIV} at (3,13) size 185x19
</del><ins>+  RenderBlock {DIV} at (3,14) size 185x18
</ins><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span><del>-layer at (31,124) size 185x10 scrollHeight 18
</del><ins>+layer at (31,125) size 185x10 scrollHeight 18
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 185x10
</span><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span><del>-layer at (246,124) size 185x10 scrollHeight 18
</del><ins>+layer at (246,125) size 185x10 scrollHeight 18
</ins><span class="cx">   RenderBlock {DIV} at (3,3) size 185x10
</span><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span><del>-layer at (31,162) size 185x6 scrollHeight 18
</del><ins>+layer at (31,163) size 185x6 scrollHeight 18
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 185x6
</span><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span><del>-layer at (246,162) size 185x6 scrollHeight 18
</del><ins>+layer at (246,163) size 185x6 scrollHeight 18
</ins><span class="cx">   RenderBlock {DIV} at (3,3) size 185x6
</span><span class="cx">     RenderText {#text} at (0,0) size 31x17
</span><span class="cx">       text run at (0,0) width 31: &quot;Text&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformssearchfieldheightsexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastformssearchfieldheightsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/forms/searchfield-heights-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -7,7 +7,7 @@
</span><span class="cx">         text run at (0,0) width 368: &quot;This tests that aqua-style search fields do not honor height.&quot;
</span><span class="cx">       RenderBR {BR} at (368,14) size 0x0
</span><span class="cx">       RenderTextControl {INPUT} at (0,117) size 75x10 [bgcolor=#FFFFFF]
</span><del>-        RenderFlexibleBox {DIV} at (4,2) size 68x8
</del><ins>+        RenderFlexibleBox {DIV} at (4,2) size 68x7
</ins><span class="cx">           RenderBlock {DIV} at (0,3) size 0x1
</span><span class="cx">           RenderBlock {DIV} at (0,0) size 62x7
</span><span class="cx">           RenderBlock {DIV} at (62,0) size 6x7
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">           RenderBlock {DIV} at (0,79) size 309x32
</span><span class="cx">           RenderBlock {DIV} at (309,84) size 21x22
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><del>-layer at (12,128) size 62x7
</del><ins>+layer at (12,127) size 62x7
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 62x7
</span><span class="cx">     RenderText {#text} at (0,0) size 10x6
</span><span class="cx">       text run at (0,0) width 10: &quot;mini&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastinlinepositionedLifetimeexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastinlinepositionedLifetimeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,10 +3,10 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderBlock {INPUT} at (4,5) size 13x12
-      RenderText {#text} at (21,0) size 4x17
-        text run at (21,0) width 4: &quot; &quot;
-      RenderBR {BR} at (25,14) size 0x0
</del><ins>+      RenderBlock {INPUT} at (2,5) size 12x12
+      RenderText {#text} at (16,0) size 4x17
+        text run at (16,0) width 4: &quot; &quot;
+      RenderBR {BR} at (20,14) size 0x0
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastparserbadxmlslashexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastparserbadxmlslashexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/parser/bad-xml-slash-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,6 +3,6 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderBlock {INPUT} at (4,5) size 13x12
-      RenderText {#text} at (21,0) size 218x17
-        text run at (21,0) width 218: &quot;This checkbox should be checked.&quot;
</del><ins>+      RenderBlock {INPUT} at (2,5) size 12x12
+      RenderText {#text} at (16,0) size 218x17
+        text run at (16,0) width 218: &quot;This checkbox should be checked.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedreplacedbreakingexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedreplacedbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx">         RenderListBox {SELECT} at (3,381) size 63x73 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderListBox {SELECT} at (3,458) size 63x73 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (5,536) size 13x12
-        RenderBlock {INPUT} at (5,554) size 13x12
</del><ins>+        RenderBlock {INPUT} at (3,536) size 12x12
+        RenderBlock {INPUT} at (3,554) size 12x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (5,572) size 13x12
-        RenderBlock {INPUT} at (5,590) size 13x12
</del><ins>+        RenderBlock {INPUT} at (3,572) size 12x12
+        RenderBlock {INPUT} at (3,590) size 12x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderIFrame {IFRAME} at (1,605) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">           layer at (0,0) size 25x25
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentcheckboxexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentcheckboxexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,18) size 784x22
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x22
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x20
</span><del>-            RenderTableCell {TD} at (1,1) size 11x20 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (13,1) size 11x20 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (25,1) size 11x20 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (37,1) size 746x20 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x20 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (8,1) size 6x20 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (15,1) size 6x20 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (22,1) size 761x20 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x17
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentradioexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfastreplacedwidth100percentradioexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,18) size 784x22
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x22
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x20
</span><del>-            RenderTableCell {TD} at (1,1) size 11x20 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (13,1) size 11x20 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (25,1) size 11x20 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x12
-            RenderTableCell {TD} at (37,1) size 746x20 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x20 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (8,1) size 6x20 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (15,1) size 6x20 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (22,1) size 761x20 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x17
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfasttexttextIteratorNilRendererexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfasttexttextIteratorNilRendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,11 +21,11 @@
</span><span class="cx">                         text run at (0,0) width 110: &quot;Search Froogle&quot;
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (645,13) size 139x18 [r=0 c=3 rs=2 cs=1]
</span><del>-                  RenderInline {LABEL} at (0,0) size 120x11
</del><ins>+                  RenderInline {LABEL} at (0,0) size 115x11
</ins><span class="cx">                     RenderText {#text} at (0,0) size 0x0
</span><del>-                    RenderBlock {INPUT} at (14,3) size 13x12
-                    RenderText {#text} at (31,3) size 99x11
-                      text run at (31,3) width 99: &quot; Remember this location&quot;
</del><ins>+                    RenderBlock {INPUT} at (12,3) size 12x12
+                    RenderText {#text} at (26,3) size 99x11
+                      text run at (26,3) width 99: &quot; Remember this location&quot;
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderBlock (anonymous) at (0,60) size 784x18
</span><span class="cx">           RenderBR {BR} at (392,0) size 0x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfasttextwhitespacenormalafternowrapbreakingexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflfasttextwhitespacenormalafternowrapbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,498 +5,498 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderFieldSet {FIELDSET} at (2,0) size 780x380 [border: (2px groove #C0C0C0)]
</span><span class="cx">         RenderBlock {DIV} at (14,7) size 752x361
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,0) size 50x34
</span><span class="cx">               RenderText {#text} at (50,20) size 4x17
</span><span class="cx">                 text run at (50,20) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,25) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,25) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (75,20) size 45x17
-                  text run at (75,20) width 45: &quot;Classic&quot;
-              RenderText {#text} at (120,20) size 4x17
-                text run at (120,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,20) size 45x17
+                  text run at (70,20) width 45: &quot;Classic&quot;
+              RenderText {#text} at (115,20) size 4x17
+                text run at (115,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 119x17
-            RenderInline {DIV} at (0,0) size 119x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (124,0) size 50x34
-              RenderText {#text} at (174,20) size 4x17
-                text run at (174,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (182,25) size 13x12
</del><ins>+                RenderImage {IMG} at (119,0) size 50x34
+              RenderText {#text} at (169,20) size 4x17
+                text run at (169,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (175,25) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (199,20) size 40x17
-                  text run at (199,20) width 40: &quot;Africa&quot;
-              RenderText {#text} at (239,20) size 4x17
-                text run at (239,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (189,20) size 40x17
+                  text run at (189,20) width 40: &quot;Africa&quot;
+              RenderText {#text} at (229,20) size 4x17
+                text run at (229,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (243,0) size 50x34
-              RenderText {#text} at (293,20) size 4x17
-                text run at (293,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (301,25) size 13x12
</del><ins>+                RenderImage {IMG} at (233,0) size 50x34
+              RenderText {#text} at (283,20) size 4x17
+                text run at (283,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (289,25) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (318,20) size 125x17
-                  text run at (318,20) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (443,20) size 4x17
-                text run at (443,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (303,20) size 125x17
+                  text run at (303,20) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (428,20) size 4x17
+                text run at (428,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (447,0) size 50x34
-              RenderText {#text} at (497,20) size 4x17
-                text run at (497,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (505,25) size 13x12
</del><ins>+                RenderImage {IMG} at (432,0) size 50x34
+              RenderText {#text} at (482,20) size 4x17
+                text run at (482,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (488,25) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (522,20) size 99x17
-                  text run at (522,20) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (621,20) size 4x17
-                text run at (621,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (502,20) size 99x17
+                  text run at (502,20) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (601,20) size 4x17
+                text run at (601,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 120x17
-            RenderInline {DIV} at (0,0) size 120x17
</del><ins>+          RenderInline {DIV} at (0,0) size 115x17
+            RenderInline {DIV} at (0,0) size 115x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (625,0) size 50x34
-              RenderText {#text} at (675,20) size 4x17
-                text run at (675,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (683,25) size 13x12
</del><ins>+                RenderImage {IMG} at (605,0) size 50x34
+              RenderText {#text} at (655,20) size 4x17
+                text run at (655,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (661,25) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (700,20) size 45x17
-                  text run at (700,20) width 45: &quot;Classic&quot;
</del><ins>+                RenderText {#text} at (675,20) size 45x17
+                  text run at (675,20) width 45: &quot;Classic&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 119x17
-            RenderInline {DIV} at (0,0) size 119x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,40) size 50x34
</span><span class="cx">               RenderText {#text} at (50,60) size 4x17
</span><span class="cx">                 text run at (50,60) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,65) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,65) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (75,60) size 40x17
-                  text run at (75,60) width 40: &quot;Africa&quot;
-              RenderText {#text} at (115,60) size 4x17
-                text run at (115,60) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,60) size 40x17
+                  text run at (70,60) width 40: &quot;Africa&quot;
+              RenderText {#text} at (110,60) size 4x17
+                text run at (110,60) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (119,40) size 50x34
-              RenderText {#text} at (169,60) size 4x17
-                text run at (169,60) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (177,65) size 13x12
</del><ins>+                RenderImage {IMG} at (114,40) size 50x34
+              RenderText {#text} at (164,60) size 4x17
+                text run at (164,60) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (170,65) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (194,60) size 125x17
-                  text run at (194,60) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (319,60) size 4x17
-                text run at (319,60) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (184,60) size 125x17
+                  text run at (184,60) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (309,60) size 4x17
+                text run at (309,60) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (323,40) size 50x34
-              RenderText {#text} at (373,60) size 4x17
-                text run at (373,60) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (381,65) size 13x12
</del><ins>+                RenderImage {IMG} at (313,40) size 50x34
+              RenderText {#text} at (363,60) size 4x17
+                text run at (363,60) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (369,65) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (398,60) size 99x17
-                  text run at (398,60) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (497,60) size 4x17
-                text run at (497,60) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (383,60) size 99x17
+                  text run at (383,60) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (482,60) size 4x17
+                text run at (482,60) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (501,40) size 50x34
-              RenderText {#text} at (551,60) size 4x17
-                text run at (551,60) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (559,65) size 13x12
</del><ins>+                RenderImage {IMG} at (486,40) size 50x34
+              RenderText {#text} at (536,60) size 4x17
+                text run at (536,60) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (542,65) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (576,60) size 45x17
-                  text run at (576,60) width 45: &quot;Classic&quot;
-              RenderText {#text} at (621,60) size 4x17
-                text run at (621,60) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (556,60) size 45x17
+                  text run at (556,60) width 45: &quot;Classic&quot;
+              RenderText {#text} at (601,60) size 4x17
+                text run at (601,60) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (625,40) size 50x34
-              RenderText {#text} at (675,60) size 4x17
-                text run at (675,60) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (683,65) size 13x12
</del><ins>+                RenderImage {IMG} at (605,40) size 50x34
+              RenderText {#text} at (655,60) size 4x17
+                text run at (655,60) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (661,65) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (700,60) size 40x17
-                  text run at (700,60) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (675,60) size 40x17
+                  text run at (675,60) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,80) size 50x34
</span><span class="cx">               RenderText {#text} at (50,100) size 4x17
</span><span class="cx">                 text run at (50,100) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,105) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,105) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,100) size 125x17
-                  text run at (75,100) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,100) size 4x17
-                text run at (200,100) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,100) size 125x17
+                  text run at (70,100) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,100) size 4x17
+                text run at (195,100) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,80) size 50x34
-              RenderText {#text} at (254,100) size 4x17
-                text run at (254,100) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,105) size 13x12
</del><ins>+                RenderImage {IMG} at (199,80) size 50x34
+              RenderText {#text} at (249,100) size 4x17
+                text run at (249,100) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,105) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,100) size 99x17
-                  text run at (279,100) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,100) size 4x17
-                text run at (378,100) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,100) size 99x17
+                  text run at (269,100) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,100) size 4x17
+                text run at (368,100) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,80) size 50x34
-              RenderText {#text} at (432,100) size 4x17
-                text run at (432,100) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,105) size 13x12
</del><ins>+                RenderImage {IMG} at (372,80) size 50x34
+              RenderText {#text} at (422,100) size 4x17
+                text run at (422,100) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,105) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,100) size 45x17
-                  text run at (457,100) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,100) size 4x17
-                text run at (502,100) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,100) size 45x17
+                  text run at (442,100) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,100) size 4x17
+                text run at (487,100) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,80) size 50x34
-              RenderText {#text} at (556,100) size 4x17
-                text run at (556,100) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,105) size 13x12
</del><ins>+                RenderImage {IMG} at (491,80) size 50x34
+              RenderText {#text} at (541,100) size 4x17
+                text run at (541,100) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,105) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,100) size 40x17
-                  text run at (581,100) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,100) size 40x17
+                  text run at (561,100) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,120) size 50x34
</span><span class="cx">               RenderText {#text} at (50,140) size 4x17
</span><span class="cx">                 text run at (50,140) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,145) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,145) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,140) size 125x17
-                  text run at (75,140) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,140) size 4x17
-                text run at (200,140) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,140) size 125x17
+                  text run at (70,140) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,140) size 4x17
+                text run at (195,140) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,120) size 50x34
-              RenderText {#text} at (254,140) size 4x17
-                text run at (254,140) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,145) size 13x12
</del><ins>+                RenderImage {IMG} at (199,120) size 50x34
+              RenderText {#text} at (249,140) size 4x17
+                text run at (249,140) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,145) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,140) size 99x17
-                  text run at (279,140) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,140) size 4x17
-                text run at (378,140) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,140) size 99x17
+                  text run at (269,140) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,140) size 4x17
+                text run at (368,140) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,120) size 50x34
-              RenderText {#text} at (432,140) size 4x17
-                text run at (432,140) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,145) size 13x12
</del><ins>+                RenderImage {IMG} at (372,120) size 50x34
+              RenderText {#text} at (422,140) size 4x17
+                text run at (422,140) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,145) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,140) size 45x17
-                  text run at (457,140) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,140) size 4x17
-                text run at (502,140) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,140) size 45x17
+                  text run at (442,140) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,140) size 4x17
+                text run at (487,140) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,120) size 50x34
-              RenderText {#text} at (556,140) size 4x17
-                text run at (556,140) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,145) size 13x12
</del><ins>+                RenderImage {IMG} at (491,120) size 50x34
+              RenderText {#text} at (541,140) size 4x17
+                text run at (541,140) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,145) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,140) size 40x17
-                  text run at (581,140) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,140) size 40x17
+                  text run at (561,140) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,160) size 50x34
</span><span class="cx">               RenderText {#text} at (50,180) size 4x17
</span><span class="cx">                 text run at (50,180) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,185) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,185) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,180) size 125x17
-                  text run at (75,180) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,180) size 4x17
-                text run at (200,180) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,180) size 125x17
+                  text run at (70,180) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,180) size 4x17
+                text run at (195,180) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,160) size 50x34
-              RenderText {#text} at (254,180) size 4x17
-                text run at (254,180) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,185) size 13x12
</del><ins>+                RenderImage {IMG} at (199,160) size 50x34
+              RenderText {#text} at (249,180) size 4x17
+                text run at (249,180) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,185) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,180) size 99x17
-                  text run at (279,180) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,180) size 4x17
-                text run at (378,180) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,180) size 99x17
+                  text run at (269,180) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,180) size 4x17
+                text run at (368,180) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,160) size 50x34
-              RenderText {#text} at (432,180) size 4x17
-                text run at (432,180) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,185) size 13x12
</del><ins>+                RenderImage {IMG} at (372,160) size 50x34
+              RenderText {#text} at (422,180) size 4x17
+                text run at (422,180) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,185) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,180) size 45x17
-                  text run at (457,180) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,180) size 4x17
-                text run at (502,180) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,180) size 45x17
+                  text run at (442,180) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,180) size 4x17
+                text run at (487,180) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,160) size 50x34
-              RenderText {#text} at (556,180) size 4x17
-                text run at (556,180) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,185) size 13x12
</del><ins>+                RenderImage {IMG} at (491,160) size 50x34
+              RenderText {#text} at (541,180) size 4x17
+                text run at (541,180) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,185) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,180) size 40x17
-                  text run at (581,180) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,180) size 40x17
+                  text run at (561,180) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,200) size 50x34
</span><span class="cx">               RenderText {#text} at (50,220) size 4x17
</span><span class="cx">                 text run at (50,220) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,225) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,225) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,220) size 125x17
-                  text run at (75,220) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,220) size 4x17
-                text run at (200,220) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,220) size 125x17
+                  text run at (70,220) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,220) size 4x17
+                text run at (195,220) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,200) size 50x34
-              RenderText {#text} at (254,220) size 4x17
-                text run at (254,220) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,225) size 13x12
</del><ins>+                RenderImage {IMG} at (199,200) size 50x34
+              RenderText {#text} at (249,220) size 4x17
+                text run at (249,220) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,225) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,220) size 99x17
-                  text run at (279,220) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,220) size 4x17
-                text run at (378,220) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,220) size 99x17
+                  text run at (269,220) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,220) size 4x17
+                text run at (368,220) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,200) size 50x34
-              RenderText {#text} at (432,220) size 4x17
-                text run at (432,220) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,225) size 13x12
</del><ins>+                RenderImage {IMG} at (372,200) size 50x34
+              RenderText {#text} at (422,220) size 4x17
+                text run at (422,220) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,225) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,220) size 45x17
-                  text run at (457,220) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,220) size 4x17
-                text run at (502,220) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,220) size 45x17
+                  text run at (442,220) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,220) size 4x17
+                text run at (487,220) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,200) size 50x34
-              RenderText {#text} at (556,220) size 4x17
-                text run at (556,220) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,225) size 13x12
</del><ins>+                RenderImage {IMG} at (491,200) size 50x34
+              RenderText {#text} at (541,220) size 4x17
+                text run at (541,220) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,225) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,220) size 40x17
-                  text run at (581,220) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,220) size 40x17
+                  text run at (561,220) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,240) size 50x34
</span><span class="cx">               RenderText {#text} at (50,260) size 4x17
</span><span class="cx">                 text run at (50,260) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,265) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,265) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,260) size 125x17
-                  text run at (75,260) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,260) size 4x17
-                text run at (200,260) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,260) size 125x17
+                  text run at (70,260) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,260) size 4x17
+                text run at (195,260) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,240) size 50x34
-              RenderText {#text} at (254,260) size 4x17
-                text run at (254,260) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,265) size 13x12
</del><ins>+                RenderImage {IMG} at (199,240) size 50x34
+              RenderText {#text} at (249,260) size 4x17
+                text run at (249,260) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,265) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,260) size 99x17
-                  text run at (279,260) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,260) size 4x17
-                text run at (378,260) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,260) size 99x17
+                  text run at (269,260) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,260) size 4x17
+                text run at (368,260) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,240) size 50x34
-              RenderText {#text} at (432,260) size 4x17
-                text run at (432,260) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,265) size 13x12
</del><ins>+                RenderImage {IMG} at (372,240) size 50x34
+              RenderText {#text} at (422,260) size 4x17
+                text run at (422,260) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,265) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,260) size 45x17
-                  text run at (457,260) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,260) size 4x17
-                text run at (502,260) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,260) size 45x17
+                  text run at (442,260) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,260) size 4x17
+                text run at (487,260) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,240) size 50x34
-              RenderText {#text} at (556,260) size 4x17
-                text run at (556,260) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,265) size 13x12
</del><ins>+                RenderImage {IMG} at (491,240) size 50x34
+              RenderText {#text} at (541,260) size 4x17
+                text run at (541,260) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,265) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,260) size 40x17
-                  text run at (581,260) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,260) size 40x17
+                  text run at (561,260) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,280) size 50x34
</span><span class="cx">               RenderText {#text} at (50,300) size 4x17
</span><span class="cx">                 text run at (50,300) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,305) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,305) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,300) size 125x17
-                  text run at (75,300) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,300) size 4x17
-                text run at (200,300) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,300) size 125x17
+                  text run at (70,300) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,300) size 4x17
+                text run at (195,300) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,280) size 50x34
-              RenderText {#text} at (254,300) size 4x17
-                text run at (254,300) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,305) size 13x12
</del><ins>+                RenderImage {IMG} at (199,280) size 50x34
+              RenderText {#text} at (249,300) size 4x17
+                text run at (249,300) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,305) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,300) size 99x17
-                  text run at (279,300) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (378,300) size 4x17
-                text run at (378,300) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (269,300) size 99x17
+                  text run at (269,300) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,300) size 4x17
+                text run at (368,300) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 124x17
-            RenderInline {DIV} at (0,0) size 124x17
</del><ins>+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (382,280) size 50x34
-              RenderText {#text} at (432,300) size 4x17
-                text run at (432,300) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (440,305) size 13x12
</del><ins>+                RenderImage {IMG} at (372,280) size 50x34
+              RenderText {#text} at (422,300) size 4x17
+                text run at (422,300) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,305) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (457,300) size 45x17
-                  text run at (457,300) width 45: &quot;Classic&quot;
-              RenderText {#text} at (502,300) size 4x17
-                text run at (502,300) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (442,300) size 45x17
+                  text run at (442,300) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,300) size 4x17
+                text run at (487,300) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 115x17
-            RenderInline {DIV} at (0,0) size 115x17
</del><ins>+          RenderInline {DIV} at (0,0) size 110x17
+            RenderInline {DIV} at (0,0) size 110x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (506,280) size 50x34
-              RenderText {#text} at (556,300) size 4x17
-                text run at (556,300) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (564,305) size 13x12
</del><ins>+                RenderImage {IMG} at (491,280) size 50x34
+              RenderText {#text} at (541,300) size 4x17
+                text run at (541,300) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,305) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (581,300) size 40x17
-                  text run at (581,300) width 40: &quot;Africa&quot;
</del><ins>+                RenderText {#text} at (561,300) size 40x17
+                  text run at (561,300) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 204x17
-            RenderInline {DIV} at (0,0) size 204x17
</del><ins>+          RenderInline {DIV} at (0,0) size 199x17
+            RenderInline {DIV} at (0,0) size 199x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,320) size 50x34
</span><span class="cx">               RenderText {#text} at (50,340) size 4x17
</span><span class="cx">                 text run at (50,340) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,345) size 13x12
</del><ins>+              RenderBlock {INPUT} at (56,345) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (75,340) size 125x17
-                  text run at (75,340) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (200,340) size 4x17
-                text run at (200,340) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (70,340) size 125x17
+                  text run at (70,340) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,340) size 4x17
+                text run at (195,340) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 174x17
-            RenderInline {DIV} at (0,0) size 174x17
</del><ins>+          RenderInline {DIV} at (0,0) size 169x17
+            RenderInline {DIV} at (0,0) size 169x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (204,320) size 50x34
-              RenderText {#text} at (254,340) size 4x17
-                text run at (254,340) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (262,345) size 13x12
</del><ins>+                RenderImage {IMG} at (199,320) size 50x34
+              RenderText {#text} at (249,340) size 4x17
+                text run at (249,340) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,345) size 12x12
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (279,340) size 99x17
-                  text run at (279,340) width 99: &quot;Ancient Greece&quot;
</del><ins>+                RenderText {#text} at (269,340) size 99x17
+                  text run at (269,340) width 99: &quot;Ancient Greece&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflhttptestsnavigationjavascriptlinkframesexpectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformeflhttptestsnavigationjavascriptlinkframesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,22 +40,22 @@
</span><span class="cx">                   text run at (0,127) width 334: &quot;that we can use for testing&quot;
</span><span class="cx">                 RenderTextControl {INPUT} at (336,136) size 192x28 [bgcolor=#FFFFFF]
</span><span class="cx">                 RenderBR {BR} at (530,156) size 0x0
</span><del>-                RenderBlock {INPUT} at (4,186) size 13x12
-                RenderText {#text} at (21,166) size 73x36
-                  text run at (21,166) width 73: &quot; Male&quot;
-                RenderBR {BR} at (94,195) size 0x0
-                RenderBlock {INPUT} at (4,223) size 13x12
-                RenderText {#text} at (21,203) size 102x36
-                  text run at (21,203) width 102: &quot; Female&quot;
-                RenderBR {BR} at (123,232) size 0x0
-                RenderBlock {INPUT} at (4,260) size 13x12
-                RenderText {#text} at (21,240) size 130x36
-                  text run at (21,240) width 130: &quot; option #1&quot;
-                RenderBR {BR} at (151,269) size 0x0
-                RenderBlock {INPUT} at (4,297) size 13x12
-                RenderText {#text} at (21,277) size 130x36
-                  text run at (21,277) width 130: &quot; option #2&quot;
-                RenderBR {BR} at (151,306) size 0x0
</del><ins>+                RenderBlock {INPUT} at (2,186) size 12x12
+                RenderText {#text} at (16,166) size 73x36
+                  text run at (16,166) width 73: &quot; Male&quot;
+                RenderBR {BR} at (89,195) size 0x0
+                RenderBlock {INPUT} at (2,223) size 12x12
+                RenderText {#text} at (16,203) size 102x36
+                  text run at (16,203) width 102: &quot; Female&quot;
+                RenderBR {BR} at (118,232) size 0x0
+                RenderBlock {INPUT} at (2,260) size 12x12
+                RenderText {#text} at (16,240) size 130x36
+                  text run at (16,240) width 130: &quot; option #1&quot;
+                RenderBR {BR} at (146,269) size 0x0
+                RenderBlock {INPUT} at (2,297) size 12x12
+                RenderText {#text} at (16,277) size 130x36
+                  text run at (16,277) width 130: &quot; option #2&quot;
+                RenderBR {BR} at (146,306) size 0x0
</ins><span class="cx">                 RenderMenuList {SELECT} at (2,316) size 355x38 [bgcolor=#FFFFFF]
</span><span class="cx">                   RenderBlock (anonymous) at (15,10) size 299x18
</span><span class="cx">                     RenderText at (0,0) size 84x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug1318expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug1318expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug1318-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -18,31 +18,31 @@
</span><span class="cx">                 RenderBR {BR} at (392,55) size 0x17
</span><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderTableRow {TR} at (0,74) size 784x20
</span><del>-            RenderTableCell {TD} at (0,75) size 489x17 [r=1 c=0 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (0,75) size 499x17 [r=1 c=0 rs=1 cs=1]
</ins><span class="cx">               RenderInline {FONT} at (0,0) size 140x15
</span><del>-                RenderText {#text} at (348,1) size 140x15
-                  text run at (348,1) width 140: &quot;I agree with the program&quot;
</del><ins>+                RenderText {#text} at (358,1) size 140x15
+                  text run at (358,1) width 140: &quot;I agree with the program&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (489,74) size 72x20 [r=1 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+            RenderTableCell {TD} at (499,74) size 58x20 [r=1 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">           RenderTableRow {TR} at (0,94) size 784x20
</span><del>-            RenderTableCell {TD} at (0,95) size 489x17 [r=2 c=0 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (0,95) size 499x17 [r=2 c=0 rs=1 cs=1]
</ins><span class="cx">               RenderInline {FONT} at (0,0) size 153x15
</span><del>-                RenderText {#text} at (335,1) size 153x15
-                  text run at (335,1) width 153: &quot;I think vouchers are wrong&quot;
</del><ins>+                RenderText {#text} at (345,1) size 153x15
+                  text run at (345,1) width 153: &quot;I think vouchers are wrong&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (489,94) size 72x20 [r=2 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 13x12
</del><ins>+            RenderTableCell {TD} at (499,94) size 58x20 [r=2 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">           RenderTableRow {TR} at (0,114) size 784x46
</span><del>-            RenderTableCell {TD} at (0,128) size 561x17 [r=3 c=0 rs=1 cs=2]
</del><ins>+            RenderTableCell {TD} at (0,128) size 557x17 [r=3 c=0 rs=1 cs=2]
</ins><span class="cx">               RenderInline {A} at (0,0) size 77x17 [color=#0000EE]
</span><span class="cx">                 RenderInline {FONT} at (0,0) size 77x15
</span><del>-                  RenderText {#text} at (242,1) size 77x15
-                    text run at (242,1) width 77: &quot;View Results&quot;
</del><ins>+                  RenderText {#text} at (240,1) size 77x15
+                    text run at (240,1) width 77: &quot;View Results&quot;
</ins><span class="cx">               RenderInline {FONT} at (0,0) size 1x15
</span><span class="cx">                 RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (561,114) size 223x46 [r=3 c=2 rs=1 cs=2]
-              RenderButton {INPUT} at (79,3) size 65x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+            RenderTableCell {TD} at (557,114) size 227x46 [r=3 c=2 rs=1 cs=2]
+              RenderButton {INPUT} at (81,3) size 65x40 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">                 RenderBlock (anonymous) at (17,10) size 30x18
</span><span class="cx">                   RenderText at (0,0) size 30x17
</span><span class="cx">                     text run at (0,0) width 30: &quot;vote&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug4527expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozillabugsbug4527expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -6,10 +6,10 @@
</span><span class="cx">       RenderBlock (anonymous) at (0,0) size 784x0
</span><span class="cx">         RenderInline {BASEFONT} at (0,0) size 0x0
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-      RenderTable {TABLE} at (0,0) size 613x120
-        RenderTableSection {TBODY} at (0,0) size 613x120
</del><ins>+      RenderTable {TABLE} at (0,0) size 613x102
+        RenderTableSection {TBODY} at (0,0) size 613x102
</ins><span class="cx">           RenderTableRow {TR} at (0,0) size 613x70
</span><del>-            RenderTableCell {TD} at (0,17) size 126x85 [r=0 c=0 rs=2 cs=1]
</del><ins>+            RenderTableCell {TD} at (0,8) size 126x85 [r=0 c=0 rs=2 cs=1]
</ins><span class="cx">               RenderInline {A} at (0,0) size 126x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,0) size 126x85
</span><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="lines">@@ -32,17 +32,18 @@
</span><span class="cx">               RenderBR {BR} at (487,60) size 0x0
</span><span class="cx">               RenderImage {IMG} at (0,60) size 470x10
</span><span class="cx">               RenderBR {BR} at (470,70) size 0x0
</span><del>-          RenderTableRow {TR} at (0,70) size 613x50
-            RenderTableCell {TD} at (126,82) size 232x25 [bgcolor=#CCCCCC] [r=1 c=1 rs=1 cs=1]
</del><ins>+          RenderTableRow {TR} at (0,70) size 613x32
+            RenderTableCell {TD} at (126,73) size 232x25 [bgcolor=#CCCCCC] [r=1 c=1 rs=1 cs=1]
</ins><span class="cx">               RenderImage {IMG} at (0,0) size 232x25
</span><del>-            RenderTableCell {TD} at (358,70) size 127x50 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
-              RenderTextControl {INPUT} at (12,2) size 103x28 [bgcolor=#FFFFFF]
-              RenderImage {INPUT} at (51,32) size 25x18
-            RenderTableCell {TD} at (485,70) size 128x50 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
-              RenderBlock {INPUT} at (4,7) size 13x12
-              RenderImage {IMG} at (21,0) size 40x25
-              RenderBlock {INPUT} at (65,7) size 13x12
-              RenderText {#text} at (0,0) size 0x0
-              RenderImage {IMG} at (0,25) size 46x25
-layer at (383,86) size 95x18
</del><ins>+            RenderTableCell {TD} at (358,70) size 132x32 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
+              RenderTextControl {INPUT} at (2,2) size 103x28 [bgcolor=#FFFFFF]
+              RenderImage {INPUT} at (106,9) size 26x18
+            RenderTableCell {TD} at (490,73) size 123x25 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
+              RenderBlock {INPUT} at (2,7) size 12x12
+              RenderImage {IMG} at (16,0) size 40x25
+              RenderBlock {INPUT} at (58,7) size 12x12
+              RenderText {#text} at (72,2) size 4x17
+                text run at (72,2) width 4: &quot; &quot;
+              RenderImage {IMG} at (76,0) size 46x25
+layer at (373,86) size 95x18
</ins><span class="cx">   RenderBlock {DIV} at (4,6) size 95x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions1expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions1expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions1-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,8 +11,8 @@
</span><span class="cx">           text run at (0,0) width 103: &quot;table 1 - original&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,46) size 90x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,68) size 80x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (6,3) size 47x17
-            text run at (6,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (9,3) size 46x17
+            text run at (9,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (57,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,10) size 70x46
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 70x20
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">           text run at (0,0) width 188: &quot;table 2 - caption gains content&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,173) size 90x112 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,68) size 80x44 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (6,3) size 47x17
-            text run at (6,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (9,3) size 46x17
+            text run at (9,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (57,8) size 12x12
</span><span class="cx">           RenderText {#text} at (17,23) size 46x17
</span><span class="cx">             text run at (17,23) width 46: &quot;foo foo&quot;
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">           text run at (0,0) width 384: &quot;table 3 - caption gains content extending its max element size&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,318) size 148x112 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,68) size 138x44 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (35,3) size 47x17
-            text run at (35,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (38,3) size 46x17
+            text run at (38,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (86,8) size 12x12
</span><span class="cx">           RenderText {#text} at (3,23) size 142x17
</span><span class="cx">             text run at (3,23) width 142: &quot;very_large_very_large&quot;
</span><span class="lines">@@ -106,8 +106,8 @@
</span><span class="cx">           text run at (0,0) width 154: &quot;table 5 - table gets wider&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,588) size 136x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,68) size 126x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (29,3) size 47x17
-            text run at (29,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (32,3) size 46x17
+            text run at (32,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (80,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,10) size 116x46
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 116x20
</span><span class="lines">@@ -136,8 +136,8 @@
</span><span class="cx">               RenderText {#text} at (1,1) size 46x17
</span><span class="cx">                 text run at (1,1) width 46: &quot;foo foo&quot;
</span><span class="cx">         RenderBlock {CAPTION} at (10,90) size 96x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (14,3) size 47x17
-            text run at (14,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (17,3) size 46x17
+            text run at (17,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (65,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,34) size 86x44
</span><span class="cx">           RenderTableRow {TR} at (0,0) size 86x20
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions2expectedpng"></a>
<div class="binary"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.png</h4>
<pre class="diff"><span>
<span class="cx">(Binary files differ)
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformefltablesmozilla_expected_failurescorecaptions2expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/efl/tables/mozilla_expected_failures/core/captions2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,8 +11,8 @@
</span><span class="cx">           text run at (0,0) width 103: &quot;table 1 - original&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,46) size 90x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 80x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (6,3) size 47x17
-            text run at (6,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (9,3) size 46x17
+            text run at (9,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (57,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,38) size 70x46
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 70x20
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">           text run at (0,0) width 188: &quot;table 2 - caption gains content&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,173) size 90x112 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 80x44 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (6,3) size 47x17
-            text run at (6,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (9,3) size 46x17
+            text run at (9,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (57,8) size 12x12
</span><span class="cx">           RenderText {#text} at (17,23) size 46x17
</span><span class="cx">             text run at (17,23) width 46: &quot;foo foo&quot;
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">           text run at (0,0) width 384: &quot;table 3 - caption gains content extending its max element size&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,318) size 148x112 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 138x44 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (35,3) size 47x17
-            text run at (35,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (38,3) size 46x17
+            text run at (38,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (86,8) size 12x12
</span><span class="cx">           RenderText {#text} at (3,23) size 142x17
</span><span class="cx">             text run at (3,23) width 142: &quot;very_large_very_large&quot;
</span><span class="lines">@@ -106,8 +106,8 @@
</span><span class="cx">           text run at (0,0) width 154: &quot;table 5 - table gets wider&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,588) size 136x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 126x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (29,3) size 47x17
-            text run at (29,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (32,3) size 46x17
+            text run at (32,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (80,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,38) size 116x46
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 116x20
</span><span class="lines">@@ -131,8 +131,8 @@
</span><span class="cx">           text run at (0,0) width 149: &quot;table 6 - table gets taller&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,715) size 106x116 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 96x26 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (14,3) size 47x17
-            text run at (14,3) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (17,3) size 46x17
+            text run at (17,3) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (65,8) size 12x12
</span><span class="cx">         RenderTableSection {TBODY} at (10,38) size 86x68
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 86x20
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss1box_propertiespaddingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,7 +39,7 @@
</span><span class="cx">           text run at (80,97) width 29: &quot;test. &quot;
</span><span class="cx">           text run at (109,97) width 464: &quot;Both the content background and the padding should be aqua (light blue).&quot;
</span><span class="cx">       RenderBlock {P} at (0,643) size 769x453 [bgcolor=#00FFFF]
</span><del>-        RenderText {#text} at (192,192) size 380x69
</del><ins>+        RenderText {#text} at (192,192) size 380x68
</ins><span class="cx">           text run at (192,192) width 380: &quot;This element should have an overall padding of 25%, which&quot;
</span><span class="cx">           text run at (192,209) width 377: &quot;is calculated with respect to the width of the parent element.&quot;
</span><span class="cx">           text run at (192,226) width 354: &quot;Both the content background and the padding should be&quot;
</span><span class="lines">@@ -80,12 +80,12 @@
</span><span class="cx">                   text run at (80,97) width 45: &quot;to test. &quot;
</span><span class="cx">                   text run at (125,97) width 464: &quot;Both the content background and the padding should be aqua (light blue).&quot;
</span><span class="cx">               RenderBlock {P} at (4,493) size 747x442 [bgcolor=#00FFFF]
</span><del>-                RenderText {#text} at (186,186) size 363x69
-                  text run at (186,186) width 337: &quot;This element should have an overall padding of 25%,&quot;
-                  text run at (186,203) width 363: &quot;which is calculated with respect to the width of the parent&quot;
-                  text run at (186,220) width 58: &quot;element. &quot;
-                  text run at (243,220) width 289: &quot;Both the content background and the padding&quot;
-                  text run at (186,237) width 173: &quot;should be aqua (light blue).&quot;
</del><ins>+                RenderText {#text} at (186,187) size 363x68
+                  text run at (186,187) width 337: &quot;This element should have an overall padding of 25%,&quot;
+                  text run at (186,204) width 363: &quot;which is calculated with respect to the width of the parent&quot;
+                  text run at (186,221) width 58: &quot;element. &quot;
+                  text run at (243,221) width 289: &quot;Both the content background and the padding&quot;
+                  text run at (186,238) width 173: &quot;should be aqua (light blue).&quot;
</ins><span class="cx">               RenderBlock {P} at (4,950) size 747x35 [bgcolor=#00FFFF]
</span><span class="cx">                 RenderText {#text} at (0,0) size 724x34
</span><span class="cx">                   text run at (0,0) width 541: &quot;This element should have no padding, since negative padding values are not allowed. &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss1box_propertiespadding_topexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding_top-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding_top-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css1/box_properties/padding_top-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">           text run at (590,80) width 104: &quot;Both the content&quot;
</span><span class="cx">           text run at (0,97) width 356: &quot;background and the padding should be aqua (light blue).&quot;
</span><span class="cx">       RenderBlock {P} at (0,490) size 769x227 [bgcolor=#00FFFF]
</span><del>-        RenderText {#text} at (0,192) size 763x35
</del><ins>+        RenderText {#text} at (0,192) size 763x34
</ins><span class="cx">           text run at (0,192) width 732: &quot;This element should have a top padding of 25%, which is calculated with respect to the width of the parent element. &quot;
</span><span class="cx">           text run at (732,192) width 31: &quot;Both&quot;
</span><span class="cx">           text run at (0,209) width 433: &quot;the content background and the padding should be aqua (light blue). &quot;
</span><span class="lines">@@ -81,10 +81,10 @@
</span><span class="cx">                   text run at (590,80) width 104: &quot;Both the content&quot;
</span><span class="cx">                   text run at (0,97) width 356: &quot;background and the padding should be aqua (light blue).&quot;
</span><span class="cx">               RenderBlock {P} at (4,340) size 747x221 [bgcolor=#00FFFF]
</span><del>-                RenderText {#text} at (0,186) size 732x35
-                  text run at (0,186) width 728: &quot;This element should have a top padding of 25%, which is calculated with respect to the width of the parent element.&quot;
-                  text run at (0,203) width 468: &quot;Both the content background and the padding should be aqua (light blue). &quot;
-                  text run at (468,203) width 264: &quot;This will require extra text in order to test.&quot;
</del><ins>+                RenderText {#text} at (0,187) size 732x34
+                  text run at (0,187) width 728: &quot;This element should have a top padding of 25%, which is calculated with respect to the width of the parent element.&quot;
+                  text run at (0,204) width 468: &quot;Both the content background and the padding should be aqua (light blue). &quot;
+                  text run at (468,204) width 264: &quot;This will require extra text in order to test.&quot;
</ins><span class="cx">               RenderBlock {P} at (4,576) size 747x35 [bgcolor=#00FFFF]
</span><span class="cx">                 RenderText {#text} at (0,0) size 669x34
</span><span class="cx">                   text run at (0,0) width 565: &quot;This element should have no top padding, since negative padding values are not allowed. &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss1formatting_modelvertical_formattingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css1/formatting_model/vertical_formatting-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css1/formatting_model/vertical_formatting-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css1/formatting_model/vertical_formatting-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -82,9 +82,9 @@
</span><span class="cx">           text run at (0,0) width 726: &quot;There should be two centimeters between this paragraph and the one below, because negative margins collapse to a&quot;
</span><span class="cx">           text run at (0,17) width 456: &quot;negative margin with the largest absolute value of the margins collapsed.&quot;
</span><span class="cx">       RenderBlock {P} at (0,1027) size 769x73
</span><del>-        RenderText {#text} at (0,37) size 765x35
-          text run at (0,37) width 765: &quot;This is a paragraph, which I should make very long so that you can easily see how much space there is between it and the&quot;
-          text run at (0,54) width 181: &quot;one below it and to the right.&quot;
</del><ins>+        RenderText {#text} at (0,38) size 765x34
+          text run at (0,38) width 765: &quot;This is a paragraph, which I should make very long so that you can easily see how much space there is between it and the&quot;
+          text run at (0,55) width 181: &quot;one below it and to the right.&quot;
</ins><span class="cx">       RenderBlock (floating) {P} at (0,1175) size 385x52
</span><span class="cx">         RenderText {#text} at (0,0) size 382x51
</span><span class="cx">           text run at (0,0) width 382: &quot;There should be two centimeters between this paragraph and&quot;
</span><span class="lines">@@ -101,8 +101,8 @@
</span><span class="cx">           text run at (555,0) width 195: &quot;Padding does not collapse, and&quot;
</span><span class="cx">           text run at (0,17) width 234: &quot;there is 1cm of padding on each side.&quot;
</span><span class="cx">       RenderBlock {P} at (0,1314) size 769x55
</span><del>-        RenderText {#text} at (0,37) size 167x18
-          text run at (0,37) width 167: &quot;This is the next paragraph.&quot;
</del><ins>+        RenderText {#text} at (0,38) size 167x17
+          text run at (0,38) width 167: &quot;This is the next paragraph.&quot;
</ins><span class="cx">       RenderTable {TABLE} at (0,1384) size 769x1041 [border: (1px outset #808080)]
</span><span class="cx">         RenderTableSection {TBODY} at (1,1) size 767x1038
</span><span class="cx">           RenderTableRow {TR} at (0,0) size 767x25
</span><span class="lines">@@ -149,9 +149,9 @@
</span><span class="cx">                   text run at (0,0) width 726: &quot;There should be two centimeters between this paragraph and the one below, because negative margins collapse to a&quot;
</span><span class="cx">                   text run at (0,17) width 456: &quot;negative margin with the largest absolute value of the margins collapsed.&quot;
</span><span class="cx">               RenderBlock {P} at (4,667) size 747x73
</span><del>-                RenderText {#text} at (0,37) size 742x35
-                  text run at (0,37) width 742: &quot;This is a paragraph, which I should make very long so that you can easily see how much space there is between it and&quot;
-                  text run at (0,54) width 204: &quot;the one below it and to the right.&quot;
</del><ins>+                RenderText {#text} at (0,38) size 742x34
+                  text run at (0,38) width 742: &quot;This is a paragraph, which I should make very long so that you can easily see how much space there is between it and&quot;
+                  text run at (0,55) width 204: &quot;the one below it and to the right.&quot;
</ins><span class="cx">               RenderBlock (floating) {P} at (4,815) size 374x52
</span><span class="cx">                 RenderText {#text} at (0,0) size 355x51
</span><span class="cx">                   text run at (0,0) width 355: &quot;There should be two centimeters between this paragraph&quot;
</span><span class="lines">@@ -168,5 +168,5 @@
</span><span class="cx">                   text run at (555,0) width 168: &quot;Padding does not collapse,&quot;
</span><span class="cx">                   text run at (0,17) width 261: &quot;and there is 1cm of padding on each side.&quot;
</span><span class="cx">               RenderBlock {P} at (4,954) size 747x55
</span><del>-                RenderText {#text} at (0,37) size 167x18
-                  text run at (0,37) width 167: &quot;This is the next paragraph.&quot;
</del><ins>+                RenderText {#text} at (0,38) size 167x17
+                  text run at (0,38) width 167: &quot;This is the next paragraph.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss21t080301c411vtmrgn00bexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,8 +39,8 @@
</span><span class="cx">                 RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                   text run at (0,0) width 5: &quot;-&quot;
</span><span class="cx">               RenderBlock {P} at (3,533) size 80x56 [bgcolor=#00FF00]
</span><del>-                RenderText {#text} at (0,37) size 5x18
-                  text run at (0,37) width 5: &quot;-&quot;
</del><ins>+                RenderText {#text} at (0,38) size 5x17
+                  text run at (0,38) width 5: &quot;-&quot;
</ins><span class="cx">               RenderBlock (floating) {P} at (3,664) size 40x18 [bgcolor=#FFFFFF]
</span><span class="cx">                 RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                   text run at (0,0) width 5: &quot;-&quot;
</span><span class="lines">@@ -51,8 +51,8 @@
</span><span class="cx">                 RenderText {#text} at (0,0) size 5x17
</span><span class="cx">                   text run at (0,0) width 5: &quot;-&quot;
</span><span class="cx">               RenderBlock {P} at (3,736) size 80x55 [bgcolor=#FFFF00]
</span><del>-                RenderText {#text} at (0,37) size 5x18
-                  text run at (0,37) width 5: &quot;-&quot;
</del><ins>+                RenderText {#text} at (0,38) size 5x17
+                  text run at (0,38) width 5: &quot;-&quot;
</ins><span class="cx">             RenderTableCell {TD} at (90,2) size 86x794 [border: (3px solid #000000)] [r=0 c=1 rs=1 cs=1]
</span><span class="cx">               RenderBlock {DIV} at (3,3) size 80x17 [bgcolor=#FFFF00]
</span><span class="cx">                 RenderText {#text} at (0,0) size 5x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss21t0804c5510padn00bagexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0804-c5510-padn-00-b-ag-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,5 +28,5 @@
</span><span class="cx">           RenderText {#text} at (24,24) size 90x10
</span><span class="cx">             text run at (24,24) width 90: &quot;x x x x x&quot;
</span><span class="cx">         RenderBlock {P} at (0,272) size 138x58 [bgcolor=#FFFF00]
</span><del>-          RenderText {#text} at (23,23) size 91x11
-            text run at (23,23) width 91: &quot;x x x x x&quot;
</del><ins>+          RenderText {#text} at (23,24) size 91x10
+            text run at (23,24) width 91: &quot;x x x x x&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss21t0905c414fltwrap00eexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css2.1/t0905-c414-flt-wrap-00-e-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -8,10 +8,10 @@
</span><span class="cx">           text run at (0,0) width 263: &quot;The word \&quot;fail\&quot; should not appear below.&quot;
</span><span class="cx">       RenderBlock {DIV} at (16,33) size 240x120 [color=#FFFFFF] [bgcolor=#FFFFFF]
</span><span class="cx">         RenderBlock (floating) {P} at (0,0) size 44x18 [color=#000080]
</span><del>-          RenderText {#text} at (0,0) size 44x18
</del><ins>+          RenderText {#text} at (0,0) size 44x17
</ins><span class="cx">             text run at (0,0) width 44: &quot;TEST:&quot;
</span><span class="cx">         RenderBlock (floating) {P} at (0,17) size 240x18 [color=#00FFFF] [bgcolor=#008080]
</span><del>-          RenderText {#text} at (100,0) size 40x18
</del><ins>+          RenderText {#text} at (100,0) size 40x17
</ins><span class="cx">             text run at (100,0) width 40: &quot;PASS&quot;
</span><span class="cx">         RenderText {#text} at (43,0) size 236x119
</span><span class="cx">           text run at (43,0) width 188: &quot;fail fail fail fail fail fail fail fail&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3htmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x54
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x22
</span><span class="cx">       RenderBlock {P} at (0,0) size 784x22
</span><del>-        RenderBlock {INPUT} at (4,3) size 17x16 [bgcolor=#00FF00]
-        RenderText {#text} at (25,3) size 4x17
-          text run at (25,3) width 4: &quot; &quot;
</del><ins>+        RenderBlock {INPUT} at (2,3) size 16x16 [bgcolor=#00FF00]
+        RenderText {#text} at (20,3) size 4x17
+          text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {SPAN} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (29,3) size 388x17
-            text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (24,3) size 388x17
+            text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3htmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/html/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x54
</span><span class="cx">     RenderBody {BODY} at (8,16) size 784x22
</span><span class="cx">       RenderBlock {P} at (0,0) size 784x22
</span><del>-        RenderBlock {INPUT} at (4,3) size 17x16 [bgcolor=#00FF00]
-        RenderText {#text} at (25,3) size 4x17
-          text run at (25,3) width 4: &quot; &quot;
</del><ins>+        RenderBlock {INPUT} at (2,3) size 16x16 [bgcolor=#00FF00]
+        RenderText {#text} at (20,3) size 4x17
+          text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {SPAN} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (29,3) size 388x17
-            text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (24,3) size 388x17
+            text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3xhtmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x54
</span><span class="cx">     RenderBody {body} at (8,16) size 784x22
</span><span class="cx">       RenderBlock {p} at (0,0) size 784x22
</span><del>-        RenderBlock {input} at (4,3) size 17x16 [bgcolor=#00FF00]
-        RenderText {#text} at (25,3) size 4x17
-          text run at (25,3) width 4: &quot; &quot;
</del><ins>+        RenderBlock {input} at (2,3) size 16x16 [bgcolor=#00FF00]
+        RenderText {#text} at (20,3) size 4x17
+          text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (29,3) size 388x17
-            text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (24,3) size 388x17
+            text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3xhtmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xhtml/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,9 +4,9 @@
</span><span class="cx">   RenderBlock {html} at (0,0) size 800x54
</span><span class="cx">     RenderBody {body} at (8,16) size 784x22
</span><span class="cx">       RenderBlock {p} at (0,0) size 784x22
</span><del>-        RenderBlock {input} at (4,3) size 17x16 [bgcolor=#00FF00]
-        RenderText {#text} at (25,3) size 4x17
-          text run at (25,3) width 4: &quot; &quot;
</del><ins>+        RenderBlock {input} at (2,3) size 16x16 [bgcolor=#00FF00]
+        RenderText {#text} at (20,3) size 4x17
+          text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">         RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-          RenderText {#text} at (29,3) size 388x17
-            text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+          RenderText {#text} at (24,3) size 388x17
+            text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3xmlcss3modsel25expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-25-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,9 +3,9 @@
</span><span class="cx"> layer at (0,0) size 800x54
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x54
</span><span class="cx">     RenderBlock {p} at (0,16) size 800x22
</span><del>-      RenderBlock {input} at (4,3) size 17x16 [bgcolor=#00FF00]
-      RenderText {#text} at (25,3) size 4x17
-        text run at (25,3) width 4: &quot; &quot;
</del><ins>+      RenderBlock {input} at (2,3) size 16x16 [bgcolor=#00FF00]
+      RenderText {#text} at (20,3) size 4x17
+        text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">       RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-        RenderText {#text} at (29,3) size 388x17
-          text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+        RenderText {#text} at (24,3) size 388x17
+          text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkcss3selectors3xmlcss3modsel70expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/css3/selectors3/xml/css3-modsel-70-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,9 +3,9 @@
</span><span class="cx"> layer at (0,0) size 800x54
</span><span class="cx">   RenderBlock {test} at (0,0) size 800x54
</span><span class="cx">     RenderBlock {p} at (0,16) size 800x22
</span><del>-      RenderBlock {input} at (4,3) size 17x16 [bgcolor=#00FF00]
-      RenderText {#text} at (25,3) size 4x17
-        text run at (25,3) width 4: &quot; &quot;
</del><ins>+      RenderBlock {input} at (2,3) size 16x16 [bgcolor=#00FF00]
+      RenderText {#text} at (20,3) size 4x17
+        text run at (20,3) width 4: &quot; &quot;
</ins><span class="cx">       RenderInline {span} at (0,0) size 388x17 [bgcolor=#00FF00]
</span><del>-        RenderText {#text} at (29,3) size 388x17
-          text run at (29,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</del><ins>+        RenderText {#text} at (24,3) size 388x17
+          text run at (24,3) width 388: &quot;Everything in this paragraph should have a green background&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastblockbasic011expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/block/basic/011-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/block/basic/011-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/block/basic/011-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">                 RenderBlock {P} at (0,0) size 140x23
</span><span class="cx">                   RenderText {#text} at (0,8) size 27x11
</span><span class="cx">                     text run at (0,8) width 27: &quot;bang &quot;
</span><del>-                  RenderBlock {INPUT} at (31,3) size 17x16 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (29,3) size 16x16 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderBlock {P} at (0,23) size 140x23
</span><span class="cx">                   RenderText {#text} at (0,8) size 41x11
</span><span class="cx">                     text run at (0,8) width 41: &quot;whimper &quot;
</span><del>-                  RenderBlock {INPUT} at (45,3) size 17x16 [color=#000000]
</del><ins>+                  RenderBlock {INPUT} at (43,3) size 16x16 [color=#000000]
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderBlock (anonymous) at (10,66) size 140x0
</span><span class="cx">                 RenderInline {FORM} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastblockfloat032expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/block/float/032-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/block/float/032-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/block/float/032-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,10 +46,10 @@
</span><span class="cx">         RenderTextControl {INPUT} at (55,5) size 106x106 [bgcolor=#800080] [border: (2px inset #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx"> layer at (216,566) size 100x17
</span><del>-  RenderBlock {DIV} at (3,44) size 100x18
</del><ins>+  RenderBlock {DIV} at (3,45) size 100x17
</ins><span class="cx"> layer at (316,693) size 100x17
</span><del>-  RenderBlock {DIV} at (3,44) size 100x18
</del><ins>+  RenderBlock {DIV} at (3,45) size 100x17
</ins><span class="cx"> layer at (66,820) size 100x17
</span><del>-  RenderBlock {DIV} at (3,44) size 100x18
</del><ins>+  RenderBlock {DIV} at (3,45) size 100x17
</ins><span class="cx"> layer at (66,947) size 100x17
</span><del>-  RenderBlock {DIV} at (3,44) size 100x18
</del><ins>+  RenderBlock {DIV} at (3,45) size 100x17
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastblockmargincollapse103expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/block/margin-collapse/103-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -80,17 +80,17 @@
</span><span class="cx">               RenderText {#text} at (0,2) size 220x15
</span><span class="cx">                 text run at (0,2) width 220: &quot;Your research is primarily focused on:&quot;
</span><span class="cx">             RenderBlock {SPAN} at (325,301) size 180x24 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,3) size 17x16 [color=#000000]
-              RenderText {#text} at (25,5) size 33x15
-                text run at (25,5) width 33: &quot;Texts&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 16x16 [color=#000000]
+              RenderText {#text} at (20,5) size 33x15
+                text run at (20,5) width 33: &quot;Texts&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,324) size 180x24 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,3) size 17x16 [color=#000000]
-              RenderText {#text} at (25,5) size 131x15
-                text run at (25,5) width 131: &quot;Performance materials&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 16x16 [color=#000000]
+              RenderText {#text} at (20,5) size 131x15
+                text run at (20,5) width 131: &quot;Performance materials&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,347) size 180x24 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (4,3) size 17x16 [color=#000000]
-              RenderText {#text} at (25,5) size 18x15
-                text run at (25,5) width 18: &quot;n/a&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 16x16 [color=#000000]
+              RenderText {#text} at (20,5) size 18x15
+                text run at (20,5) width 18: &quot;n/a&quot;
</ins><span class="cx">             RenderBlock {H2} at (0,395) size 560x16 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,0) size 335x15
</span><span class="cx">                 text run at (0,0) width 335: &quot;INTERNET SHAKESPEARE EDITIONS QUESTIONS&quot;
</span><span class="lines">@@ -100,11 +100,11 @@
</span><span class="cx">             RenderBlock {SPAN} at (325,420) size 180x24 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,5) size 23x15
</span><span class="cx">                 text run at (0,5) width 23: &quot;Yes&quot;
</span><del>-              RenderBlock {INPUT} at (27,3) size 17x16 [color=#000000]
-              RenderText {#text} at (48,5) size 20x15
-                text run at (48,5) width 4: &quot; &quot;
-                text run at (52,5) width 16: &quot;No&quot;
-              RenderBlock {INPUT} at (72,3) size 17x16 [color=#000000]
</del><ins>+              RenderBlock {INPUT} at (25,3) size 16x16 [color=#000000]
+              RenderText {#text} at (43,5) size 20x15
+                text run at (43,5) width 4: &quot; &quot;
+                text run at (47,5) width 16: &quot;No&quot;
+              RenderBlock {INPUT} at (65,3) size 16x16 [color=#000000]
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">             RenderBlock {P} at (0,456) size 560x21 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,2) size 371x15
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssemptypseudoclassexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/empty-pseudo-class-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/empty-pseudo-class-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/empty-pseudo-class-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -75,17 +75,17 @@
</span><span class="cx">               RenderText {#text} at (12,12) size 4x17
</span><span class="cx">                 text run at (12,12) width 4: &quot;.&quot;
</span><span class="cx">           RenderBlock {PRE} at (16,70) size 584x103 [bgcolor=#FFFFFF]
</span><del>-            RenderText {#text} at (6,6) size 225x91
-              text run at (6,6) width 65: &quot;:empty {&quot;
-              text run at (70,6) width 1: &quot; &quot;
-              text run at (6,21) width 9: &quot;}&quot;
-              text run at (14,21) width 1: &quot; &quot;
-              text run at (6,36) width 1: &quot; &quot;
-              text run at (6,51) width 49: &quot;&lt;div&gt; &quot;
-              text run at (54,51) width 1: &quot; &quot;
-              text run at (6,66) width 225: &quot;   How about regular text...&quot;
-              text run at (230,66) width 1: &quot; &quot;
-              text run at (6,81) width 49: &quot;&lt;/div&gt;&quot;
</del><ins>+            RenderText {#text} at (6,7) size 225x90
+              text run at (6,7) width 65: &quot;:empty {&quot;
+              text run at (70,7) width 1: &quot; &quot;
+              text run at (6,22) width 9: &quot;}&quot;
+              text run at (14,22) width 1: &quot; &quot;
+              text run at (6,37) width 1: &quot; &quot;
+              text run at (6,52) width 49: &quot;&lt;div&gt; &quot;
+              text run at (54,52) width 1: &quot; &quot;
+              text run at (6,67) width 225: &quot;   How about regular text...&quot;
+              text run at (230,67) width 1: &quot; &quot;
+              text run at (6,82) width 49: &quot;&lt;/div&gt;&quot;
</ins><span class="cx">           RenderBlock {P} at (16,189) size 584x17
</span><span class="cx">             RenderText {#text} at (0,0) size 533x17
</span><span class="cx">               text run at (0,0) width 533: &quot;The CSS selector should not match the div element, because it is not empty&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssfieldsetdisplayrowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/fieldset-display-row-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/fieldset-display-row-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/fieldset-display-row-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,5 +4,5 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderFieldSet {FIELDSET} at (2,0) size 780x37 [border: (2px groove #C0C0C0)]
</span><del>-        RenderText {#text} at (14,7) size 375x18
-          text run at (14,7) width 375: &quot;If you can see this fieldset without crashing, then all is well.&quot;
</del><ins>+        RenderText {#text} at (14,8) size 375x17
+          text run at (14,8) width 375: &quot;If you can see this fieldset without crashing, then all is well.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssfirstchildpseudoclassexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/first-child-pseudo-class-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/first-child-pseudo-class-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/first-child-pseudo-class-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -98,19 +98,19 @@
</span><span class="cx">                 text run at (0,0) width 4: &quot;.&quot;
</span><span class="cx">             RenderBlock {DIV} at (0,17) size 584x24 [bgcolor=#009900]
</span><span class="cx">           RenderBlock {PRE} at (16,70) size 584x118 [bgcolor=#FFFFFF]
</span><del>-            RenderText {#text} at (6,6) size 225x106
-              text run at (6,6) width 145: &quot;div :first-child {&quot;
-              text run at (150,6) width 1: &quot; &quot;
-              text run at (6,21) width 9: &quot;}&quot;
-              text run at (14,21) width 1: &quot; &quot;
-              text run at (6,36) width 1: &quot; &quot;
-              text run at (6,51) width 49: &quot;&lt;div&gt; &quot;
-              text run at (54,51) width 1: &quot; &quot;
-              text run at (6,66) width 225: &quot;   How about regular text...&quot;
-              text run at (230,66) width 1: &quot; &quot;
-              text run at (6,81) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
-              text run at (118,81) width 1: &quot; &quot;
-              text run at (6,96) width 49: &quot;&lt;/div&gt;&quot;
</del><ins>+            RenderText {#text} at (6,7) size 225x105
+              text run at (6,7) width 145: &quot;div :first-child {&quot;
+              text run at (150,7) width 1: &quot; &quot;
+              text run at (6,22) width 9: &quot;}&quot;
+              text run at (14,22) width 1: &quot; &quot;
+              text run at (6,37) width 1: &quot; &quot;
+              text run at (6,52) width 49: &quot;&lt;div&gt; &quot;
+              text run at (54,52) width 1: &quot; &quot;
+              text run at (6,67) width 225: &quot;   How about regular text...&quot;
+              text run at (230,67) width 1: &quot; &quot;
+              text run at (6,82) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
+              text run at (118,82) width 1: &quot; &quot;
+              text run at (6,97) width 49: &quot;&lt;/div&gt;&quot;
</ins><span class="cx">           RenderBlock {P} at (16,204) size 584x51
</span><span class="cx">             RenderText {#text} at (0,0) size 567x51
</span><span class="cx">               text run at (0,0) width 567: &quot;The CSS selector should match the inner div element, because it is the first child&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssinputsearchpaddingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/input-search-padding-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -12,7 +12,7 @@
</span><span class="cx">       RenderTextControl {INPUT} at (2,85) size 460x79 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">       RenderBR {BR} at (464,124) size 0x0
</span><span class="cx">       RenderTextControl {INPUT} at (2,166) size 259x25 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><del>-        RenderFlexibleBox {DIV} at (6,1) size 247x23
</del><ins>+        RenderFlexibleBox {DIV} at (6,1) size 247x22
</ins><span class="cx">           RenderBlock {DIV} at (0,11) size 0x0
</span><span class="cx">           RenderBlock {DIV} at (0,0) size 227x22
</span><span class="cx">           RenderBlock {DIV} at (227,1) size 20x20
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">   RenderBlock {DIV} at (3,3) size 454x44
</span><span class="cx">     RenderText {#text} at (0,0) size 362x44
</span><span class="cx">       text run at (0,0) width 362: &quot;value jgq not clipped&quot;
</span><del>-layer at (16,176) size 227x22
</del><ins>+layer at (16,175) size 227x22
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 227x22
</span><span class="cx">     RenderText {#text} at (0,0) size 118x22
</span><span class="cx">       text run at (0,0) width 118: &quot;Sample Input&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcsslastchildpseudoclassexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/last-child-pseudo-class-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/last-child-pseudo-class-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/last-child-pseudo-class-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -98,19 +98,19 @@
</span><span class="cx">               RenderText {#text} at (0,0) size 4x17
</span><span class="cx">                 text run at (0,0) width 4: &quot;.&quot;
</span><span class="cx">           RenderBlock {PRE} at (16,70) size 584x118 [bgcolor=#FFFFFF]
</span><del>-            RenderText {#text} at (6,6) size 225x106
-              text run at (6,6) width 137: &quot;div :last-child {&quot;
-              text run at (142,6) width 1: &quot; &quot;
-              text run at (6,21) width 9: &quot;}&quot;
-              text run at (14,21) width 1: &quot; &quot;
-              text run at (6,36) width 1: &quot; &quot;
-              text run at (6,51) width 49: &quot;&lt;div&gt; &quot;
-              text run at (54,51) width 1: &quot; &quot;
-              text run at (6,66) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
-              text run at (118,66) width 1: &quot; &quot;
-              text run at (6,81) width 225: &quot;   How about regular text...&quot;
-              text run at (230,81) width 1: &quot; &quot;
-              text run at (6,96) width 49: &quot;&lt;/div&gt;&quot;
</del><ins>+            RenderText {#text} at (6,7) size 225x105
+              text run at (6,7) width 137: &quot;div :last-child {&quot;
+              text run at (142,7) width 1: &quot; &quot;
+              text run at (6,22) width 9: &quot;}&quot;
+              text run at (14,22) width 1: &quot; &quot;
+              text run at (6,37) width 1: &quot; &quot;
+              text run at (6,52) width 49: &quot;&lt;div&gt; &quot;
+              text run at (54,52) width 1: &quot; &quot;
+              text run at (6,67) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
+              text run at (118,67) width 1: &quot; &quot;
+              text run at (6,82) width 225: &quot;   How about regular text...&quot;
+              text run at (230,82) width 1: &quot; &quot;
+              text run at (6,97) width 49: &quot;&lt;/div&gt;&quot;
</ins><span class="cx">           RenderBlock {P} at (16,204) size 584x51
</span><span class="cx">             RenderText {#text} at (0,0) size 567x51
</span><span class="cx">               text run at (0,0) width 567: &quot;The CSS selector should match the inner div element, because it is the last child&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssnonstandardcheckboxsizeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/non-standard-checkbox-size-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/non-standard-checkbox-size-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/non-standard-checkbox-size-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,8 +5,8 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderText {#text} at (0,37) size 289x17
</span><span class="cx">         text run at (0,37) width 289: &quot;The following inputs should not be stretched. &quot;
</span><del>-      RenderBlock {INPUT} at (293,3) size 17x50
-      RenderText {#text} at (314,37) size 4x17
-        text run at (314,37) width 4: &quot; &quot;
-      RenderBlock {INPUT} at (322,3) size 17x50
</del><ins>+      RenderBlock {INPUT} at (291,3) size 16x50
+      RenderText {#text} at (309,37) size 4x17
+        text run at (309,37) width 4: &quot; &quot;
+      RenderBlock {INPUT} at (315,3) size 16x50
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastcssonlychildpseudoclassexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/css/only-child-pseudo-class-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/css/only-child-pseudo-class-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/css/only-child-pseudo-class-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -73,19 +73,19 @@
</span><span class="cx">               RenderText {#text} at (0,0) size 4x17
</span><span class="cx">                 text run at (0,0) width 4: &quot;.&quot;
</span><span class="cx">           RenderBlock {PRE} at (16,70) size 584x118 [bgcolor=#FFFFFF]
</span><del>-            RenderText {#text} at (6,6) size 225x106
-              text run at (6,6) width 137: &quot;div :only-child {&quot;
-              text run at (142,6) width 1: &quot; &quot;
-              text run at (6,21) width 9: &quot;}&quot;
-              text run at (14,21) width 1: &quot; &quot;
-              text run at (6,36) width 1: &quot; &quot;
-              text run at (6,51) width 41: &quot;&lt;div&gt;&quot;
-              text run at (46,51) width 1: &quot; &quot;
-              text run at (6,66) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
-              text run at (118,66) width 1: &quot; &quot;
-              text run at (6,81) width 225: &quot;   How about regular text...&quot;
-              text run at (230,81) width 1: &quot; &quot;
-              text run at (6,96) width 49: &quot;&lt;/div&gt;&quot;
</del><ins>+            RenderText {#text} at (6,7) size 225x105
+              text run at (6,7) width 137: &quot;div :only-child {&quot;
+              text run at (142,7) width 1: &quot; &quot;
+              text run at (6,22) width 9: &quot;}&quot;
+              text run at (14,22) width 1: &quot; &quot;
+              text run at (6,37) width 1: &quot; &quot;
+              text run at (6,52) width 41: &quot;&lt;div&gt;&quot;
+              text run at (46,52) width 1: &quot; &quot;
+              text run at (6,67) width 113: &quot;   &lt;div&gt;&lt;/div&gt;&quot;
+              text run at (118,67) width 1: &quot; &quot;
+              text run at (6,82) width 225: &quot;   How about regular text...&quot;
+              text run at (230,82) width 1: &quot; &quot;
+              text run at (6,97) width 49: &quot;&lt;/div&gt;&quot;
</ins><span class="cx">           RenderBlock {P} at (16,204) size 584x34
</span><span class="cx">             RenderText {#text} at (0,0) size 572x34
</span><span class="cx">               text run at (0,0) width 572: &quot;The CSS selector should match the inner div element, because it is the only child&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastforms001expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/001-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/001-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/001-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,16 +19,16 @@
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x20
</span><span class="cx">             RenderTableRow {TR} at (0,0) size 780x20
</span><del>-              RenderTableCell {TD} at (0,0) size 27x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {INPUT} at (5,4) size 17x12
-              RenderTableCell {TD} at (27,9) size 753x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</del><ins>+              RenderTableCell {TD} at (0,0) size 22x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 16x12
+              RenderTableCell {TD} at (22,9) size 758x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</ins><span class="cx">       RenderBlock {P} at (0,199) size 784x25
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x20
</span><span class="cx">             RenderTableRow {TR} at (0,0) size 780x20
</span><del>-              RenderTableCell {TD} at (0,0) size 27x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
-                RenderBlock {INPUT} at (5,4) size 17x12
-              RenderTableCell {TD} at (27,9) size 753x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</del><ins>+              RenderTableCell {TD} at (0,0) size 22x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 16x12
+              RenderTableCell {TD} at (22,9) size 758x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</ins><span class="cx">       RenderBlock {P} at (0,239) size 784x37
</span><span class="cx">         RenderTable {TABLE} at (0,0) size 784x36 [border: (2px outset #808080)]
</span><span class="cx">           RenderTableSection {TBODY} at (2,2) size 780x32
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsbasicinputsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/basic-inputs-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/basic-inputs-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/basic-inputs-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,21 +51,21 @@
</span><span class="cx">       RenderBlock {DIV} at (10,392) size 450x24 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,4) size 7x17
</span><span class="cx">           text run at (1,4) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (12,4) size 17x16
-        RenderText {#text} at (33,4) size 65x17
-          text run at (33,4) width 65: &quot;checkbox &quot;
-        RenderBlock {INPUT} at (102,4) size 17x16
-        RenderText {#text} at (123,4) size 8x17
-          text run at (123,4) width 8: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,4) size 16x16
+        RenderText {#text} at (28,4) size 65x17
+          text run at (28,4) width 65: &quot;checkbox &quot;
+        RenderBlock {INPUT} at (95,4) size 16x16
+        RenderText {#text} at (113,4) size 8x17
+          text run at (113,4) width 8: &quot;b&quot;
</ins><span class="cx">       RenderBlock {DIV} at (10,426) size 450x24 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,4) size 7x17
</span><span class="cx">           text run at (1,4) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (12,4) size 17x16
-        RenderText {#text} at (33,4) size 36x17
-          text run at (33,4) width 36: &quot;radio &quot;
-        RenderBlock {INPUT} at (73,4) size 17x16
-        RenderText {#text} at (94,4) size 8x17
-          text run at (94,4) width 8: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,4) size 16x16
+        RenderText {#text} at (28,4) size 36x17
+          text run at (28,4) width 36: &quot;radio &quot;
+        RenderBlock {INPUT} at (66,4) size 16x16
+        RenderText {#text} at (84,4) size 8x17
+          text run at (84,4) width 8: &quot;b&quot;
</ins><span class="cx"> layer at (31,313) size 185x17 scrollWidth 214
</span><span class="cx">   RenderBlock {DIV} at (3,3) size 185x17
</span><span class="cx">     RenderText {#text} at (0,0) size 213x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsboxshadowoverrideexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,44 +31,44 @@
</span><span class="cx">             RenderBlock {DIV} at (201,0) size 16x17
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,147) size 784x35
</span><del>-        RenderBlock {INPUT} at (4,10) size 17x16
-        RenderText {#text} at (25,10) size 4x17
-          text run at (25,10) width 4: &quot; &quot;
-        RenderBlock {INPUT} at (33,10) size 17x16
-        RenderText {#text} at (54,10) size 4x17
-          text run at (54,10) width 4: &quot; &quot;
-        RenderSlider {INPUT} at (60,10) size 129x14 [color=#909090] [bgcolor=#FFFFFF]
</del><ins>+        RenderBlock {INPUT} at (2,10) size 16x16
+        RenderText {#text} at (20,10) size 4x17
+          text run at (20,10) width 4: &quot; &quot;
+        RenderBlock {INPUT} at (26,10) size 16x16
+        RenderText {#text} at (44,10) size 4x17
+          text run at (44,10) width 4: &quot; &quot;
+        RenderSlider {INPUT} at (50,10) size 129x14 [color=#909090] [bgcolor=#FFFFFF]
</ins><span class="cx">           RenderFlexibleBox {DIV} at (0,0) size 129x14
</span><span class="cx">             RenderBlock {DIV} at (0,0) size 129x14
</span><span class="cx">               RenderBlock {DIV} at (49,0) size 31x14
</span><del>-        RenderText {#text} at (191,10) size 4x17
-          text run at (191,10) width 4: &quot; &quot;
-        RenderFileUploadControl {INPUT} at (197,6) size 306x26 &quot;(None)&quot;
</del><ins>+        RenderText {#text} at (181,10) size 4x17
+          text run at (181,10) width 4: &quot; &quot;
+        RenderFileUploadControl {INPUT} at (187,6) size 306x26 &quot;(None)&quot;
</ins><span class="cx">           RenderButton {INPUT} at (0,0) size 103x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="cx">             RenderBlock (anonymous) at (8,4) size 87x17
</span><span class="cx">               RenderText at (0,0) size 87x17
</span><span class="cx">                 text run at (0,0) width 87: &quot;Choose File&quot;
</span><del>-        RenderText {#text} at (505,10) size 4x17
-          text run at (505,10) width 4: &quot; &quot;
-        RenderButton {INPUT} at (511,2) size 74x31 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (495,10) size 4x17
+          text run at (495,10) width 4: &quot; &quot;
+        RenderButton {INPUT} at (501,2) size 74x31 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (8,4) size 58x22
</span><span class="cx">             RenderText at (0,0) size 58x22
</span><span class="cx">               text run at (0,0) width 58: &quot;Button&quot;
</span><del>-        RenderText {#text} at (587,10) size 4x17
-          text run at (587,10) width 4: &quot; &quot;
-        RenderButton {INPUT} at (593,6) size 62x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (577,10) size 4x17
+          text run at (577,10) width 4: &quot; &quot;
+        RenderButton {INPUT} at (583,6) size 62x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (8,4) size 46x17
</span><span class="cx">             RenderText at (0,0) size 46x17
</span><span class="cx">               text run at (0,0) width 46: &quot;Button&quot;
</span><del>-        RenderText {#text} at (657,10) size 4x17
-          text run at (657,10) width 4: &quot; &quot;
-        RenderButton {INPUT} at (661,15) size 30x15 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (647,10) size 4x17
+          text run at (647,10) width 4: &quot; &quot;
+        RenderButton {INPUT} at (651,15) size 30x15 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (8,4) size 14x6
</span><span class="cx">             RenderText at (0,0) size 14x6
</span><span class="cx">               text run at (0,0) width 14: &quot;Button&quot;
</span><del>-        RenderText {#text} at (691,10) size 4x17
-          text run at (691,10) width 4: &quot; &quot;
-        RenderButton {BUTTON} at (697,2) size 74x31 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (681,10) size 4x17
+          text run at (681,10) width 4: &quot; &quot;
+        RenderButton {BUTTON} at (687,2) size 74x31 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (8,4) size 58x22
</span><span class="cx">             RenderText {#text} at (0,0) size 58x22
</span><span class="cx">               text run at (0,0) width 58: &quot;Button&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsfilefileinputdisabledexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/file/file-input-disabled-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,11 +5,11 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x576
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x69
</span><span class="cx">         RenderBlock (anonymous) at (0,0) size 784x69
</span><del>-          RenderBlock {INPUT} at (4,3) size 17x16
</del><ins>+          RenderBlock {INPUT} at (2,3) size 16x16
</ins><span class="cx">           RenderInline {B} at (0,0) size 75x17
</span><del>-            RenderText {#text} at (25,3) size 75x17
-              text run at (25,3) width 75: &quot;Attach File&quot;
-          RenderBR {BR} at (100,17) size 0x0
</del><ins>+            RenderText {#text} at (20,3) size 75x17
+              text run at (20,3) width 75: &quot;Attach File&quot;
+          RenderBR {BR} at (95,17) size 0x0
</ins><span class="cx">           RenderBR {BR} at (0,22) size 0x17
</span><span class="cx">           RenderText {#text} at (0,45) size 86x17
</span><span class="cx">             text run at (0,45) width 86: &quot;  Select File:  &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsformelementgeometryexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/form-element-geometry-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 200x26
</span><span class="cx">           text run at (0,0) width 200: &quot;Baseline Alignment&quot;
</span><span class="cx">       RenderBlock {DIV} at (0,400) size 769x32
</span><del>-        RenderInline {FONT} at (0,0) size 246x26
</del><ins>+        RenderInline {FONT} at (0,0) size 236x26
</ins><span class="cx">           RenderText {#text} at (0,0) size 43x26
</span><span class="cx">             text run at (0,0) width 43: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (45,3) size 60x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="lines">@@ -120,10 +120,10 @@
</span><span class="cx">                 text run at (4,4) width 40: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (184,0) size 6x26
</span><span class="cx">             text run at (184,0) width 6: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (194,7) size 17x16
-          RenderText {#text} at (215,0) size 6x26
-            text run at (215,0) width 6: &quot; &quot;
-          RenderBlock {INPUT} at (225,7) size 17x16
</del><ins>+          RenderBlock {INPUT} at (192,7) size 16x16
+          RenderText {#text} at (210,0) size 6x26
+            text run at (210,0) width 6: &quot; &quot;
+          RenderBlock {INPUT} at (218,7) size 16x16
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,431) size 769x32
</span><span class="cx">         RenderText {#text} at (0,7) size 27x17
</span><span class="lines">@@ -140,13 +140,13 @@
</span><span class="cx">               text run at (4,4) width 40: &quot;menu&quot;
</span><span class="cx">         RenderText {#text} at (166,7) size 4x17
</span><span class="cx">           text run at (166,7) width 4: &quot; &quot;
</span><del>-        RenderBlock {INPUT} at (174,7) size 17x16
-        RenderText {#text} at (195,7) size 4x17
-          text run at (195,7) width 4: &quot; &quot;
-        RenderBlock {INPUT} at (203,7) size 17x16
</del><ins>+        RenderBlock {INPUT} at (172,7) size 16x16
+        RenderText {#text} at (190,7) size 4x17
+          text run at (190,7) width 4: &quot; &quot;
+        RenderBlock {INPUT} at (196,7) size 16x16
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,462) size 769x32
</span><del>-        RenderInline {FONT} at (0,0) size 212x11
</del><ins>+        RenderInline {FONT} at (0,0) size 202x11
</ins><span class="cx">           RenderText {#text} at (0,12) size 18x11
</span><span class="cx">             text run at (0,12) width 18: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (20,3) size 60x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</span><span class="lines">@@ -161,10 +161,10 @@
</span><span class="cx">                 text run at (4,4) width 40: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (156,12) size 3x11
</span><span class="cx">             text run at (156,12) width 3: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (163,7) size 17x16
-          RenderText {#text} at (184,12) size 3x11
-            text run at (184,12) width 3: &quot; &quot;
-          RenderBlock {INPUT} at (191,7) size 17x16
</del><ins>+          RenderBlock {INPUT} at (161,7) size 16x16
+          RenderText {#text} at (179,12) size 3x11
+            text run at (179,12) width 3: &quot; &quot;
+          RenderBlock {INPUT} at (184,7) size 16x16
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,493) size 769x55
</span><span class="cx">         RenderText {#text} at (0,30) size 27x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsformmoveexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,25 +4,25 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x22
</span><del>-        RenderBlock {INPUT} at (4,3) size 17x16
-        RenderText {#text} at (25,3) size 34x17
-          text run at (25,3) width 34: &quot;Two &quot;
-        RenderBlock {INPUT} at (63,3) size 17x16
-        RenderText {#text} at (84,3) size 37x17
-          text run at (84,3) width 37: &quot;Three&quot;
</del><ins>+        RenderBlock {INPUT} at (2,3) size 16x16
+        RenderText {#text} at (20,3) size 34x17
+          text run at (20,3) width 34: &quot;Two &quot;
+        RenderBlock {INPUT} at (56,3) size 16x16
+        RenderText {#text} at (74,3) size 37x17
+          text run at (74,3) width 37: &quot;Three&quot;
</ins><span class="cx">       RenderBlock {FORM} at (0,38) size 784x22
</span><del>-        RenderBlock {INPUT} at (4,3) size 17x16
-        RenderText {#text} at (25,3) size 31x17
-          text run at (25,3) width 31: &quot;One &quot;
-        RenderBlock {INPUT} at (60,3) size 17x16
-        RenderText {#text} at (81,3) size 34x17
-          text run at (81,3) width 34: &quot;Two &quot;
-        RenderBlock {INPUT} at (119,3) size 17x16
-        RenderText {#text} at (140,3) size 41x17
-          text run at (140,3) width 41: &quot;Three &quot;
-        RenderBlock {INPUT} at (185,3) size 17x16
-        RenderText {#text} at (206,3) size 27x17
-          text run at (206,3) width 27: &quot;One&quot;
</del><ins>+        RenderBlock {INPUT} at (2,3) size 16x16
+        RenderText {#text} at (20,3) size 31x17
+          text run at (20,3) width 31: &quot;One &quot;
+        RenderBlock {INPUT} at (53,3) size 16x16
+        RenderText {#text} at (71,3) size 34x17
+          text run at (71,3) width 34: &quot;Two &quot;
+        RenderBlock {INPUT} at (107,3) size 16x16
+        RenderText {#text} at (125,3) size 41x17
+          text run at (125,3) width 41: &quot;Three &quot;
+        RenderBlock {INPUT} at (168,3) size 16x16
+        RenderText {#text} at (186,3) size 27x17
+          text run at (186,3) width 27: &quot;One&quot;
</ins><span class="cx">       RenderBlock (anonymous) at (0,76) size 784x34
</span><span class="cx">         RenderText {#text} at (0,0) size 766x34
</span><span class="cx">           text run at (0,0) width 505: &quot;The count of the # of elements in form 1 should be 2 and in form 2 should be 4. &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsformmove2expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/formmove2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4,8 +4,8 @@
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x22
</span><del>-        RenderBlock {INPUT} at (4,3) size 17x16
-        RenderBlock {INPUT} at (29,3) size 17x16
</del><ins>+        RenderBlock {INPUT} at (2,3) size 16x16
+        RenderBlock {INPUT} at (22,3) size 16x16
</ins><span class="cx">       RenderBlock (anonymous) at (0,38) size 784x34
</span><span class="cx">         RenderText {#text} at (0,0) size 777x34
</span><span class="cx">           text run at (0,0) width 777: &quot;There should be two elements in the first form and one in the second. The count in form one is 2, and the count in form two&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsindeterminateexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/indeterminate-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/indeterminate-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/indeterminate-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,8 +3,8 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderText {#text} at (25,3) size 491x17
-        text run at (25,3) width 491: &quot; This checkbox should look 50% transparent and should be in the mixed state.&quot;
</del><ins>+      RenderText {#text} at (20,3) size 491x17
+        text run at (20,3) width 491: &quot; This checkbox should look 50% transparent and should be in the mixed state.&quot;
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><del>-layer at (13,11) size 16x16
-  RenderBlock {INPUT} at (4,3) size 17x16
</del><ins>+layer at (10,11) size 16x16
+  RenderBlock {INPUT} at (2,3) size 16x16
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsinputappearanceheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,10 +21,10 @@
</span><span class="cx">         RenderBR {BR} at (226,46) size 0x0
</span><span class="cx">         RenderText {#text} at (0,57) size 65x17
</span><span class="cx">           text run at (0,57) width 65: &quot;checkbox &quot;
</span><del>-        RenderBlock {INPUT} at (69,57) size 17x16
-        RenderText {#text} at (90,57) size 4x17
-          text run at (90,57) width 4: &quot; &quot;
-        RenderBR {BR} at (94,71) size 0x0
</del><ins>+        RenderBlock {INPUT} at (67,57) size 16x16
+        RenderText {#text} at (85,57) size 4x17
+          text run at (85,57) width 4: &quot; &quot;
+        RenderBR {BR} at (89,71) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,82) size 24x17
</span><span class="cx">           text run at (0,82) width 24: &quot;file &quot;
</span><span class="cx">         RenderFileUploadControl {INPUT} at (26,78) size 306x26 &quot;(None)&quot;
</span><span class="lines">@@ -43,10 +43,10 @@
</span><span class="cx">         RenderBR {BR} at (56,120) size 0x0
</span><span class="cx">         RenderText {#text} at (0,126) size 36x17
</span><span class="cx">           text run at (0,126) width 36: &quot;radio &quot;
</span><del>-        RenderBlock {INPUT} at (40,126) size 17x16
-        RenderText {#text} at (61,126) size 4x17
-          text run at (61,126) width 4: &quot; &quot;
-        RenderBR {BR} at (65,140) size 0x0
</del><ins>+        RenderBlock {INPUT} at (38,126) size 16x16
+        RenderText {#text} at (56,126) size 4x17
+          text run at (56,126) width 4: &quot; &quot;
+        RenderBR {BR} at (60,140) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,147) size 39x17
</span><span class="cx">           text run at (0,147) width 39: &quot;range &quot;
</span><span class="cx">         RenderSlider {INPUT} at (41,147) size 129x14 [color=#909090] [bgcolor=#FFFFFF]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsinputtextwordwrapexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-text-word-wrap-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-text-word-wrap-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-text-word-wrap-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -15,6 +15,6 @@
</span><span class="cx">         RenderTextControl {INPUT} at (2,0) size 191x48 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx"> layer at (13,58) size 185x17 scrollWidth 342
</span><del>-  RenderBlock {DIV} at (3,15) size 185x18
</del><ins>+  RenderBlock {DIV} at (3,16) size 185x17
</ins><span class="cx">     RenderText {#text} at (0,0) size 341x17
</span><span class="cx">       text run at (0,0) width 341: &quot;This sentence should not wrap into the next line.&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformsinputvalueexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-value-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-value-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/input-value-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 249x17
</span><span class="cx">                   text run at (1,1) width 249: &quot;check box with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (343,62) size 312x24 [r=2 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+                RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">               RenderTableCell {TD} at (657,64) size 62x19 [r=2 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 216x17
</span><span class="cx">                   text run at (1,1) width 216: &quot;radio with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (343,168) size 312x24 [r=6 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+                RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">               RenderTableCell {TD} at (657,170) size 62x19 [r=6 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 247x17
</span><span class="cx">                   text run at (1,1) width 247: &quot;check box with value attribute changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (343,225) size 312x24 [r=8 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+                RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">               RenderTableCell {TD} at (657,227) size 62x19 [r=8 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">                   text run at (1,1) width 314: &quot;text with value property changed, then turned into&quot;
</span><span class="cx">                   text run at (1,18) width 65: &quot;check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (343,257) size 312x24 [r=9 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+                RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">               RenderTableCell {TD} at (657,259) size 62x19 [r=9 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">                   text run at (1,1) width 312: &quot;text with value attribute changed, then turned into&quot;
</span><span class="cx">                   text run at (1,18) width 65: &quot;check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (343,333) size 312x24 [r=11 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+                RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">               RenderTableCell {TD} at (657,335) size 62x19 [r=11 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x17
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastformslargetoggleelementsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/forms/large-toggle-elements-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/forms/large-toggle-elements-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/forms/large-toggle-elements-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,8 +5,8 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderText {#text} at (0,0) size 689x17
</span><span class="cx">         text run at (0,0) width 689: &quot;This is a test that large toggle elements render correctly. See https://bugs.webkit.org/show_bug.cgi?id=82833 &quot;
</span><del>-      RenderBlock {INPUT} at (4,20) size 201x200
-      RenderText {#text} at (209,204) size 4x17
-        text run at (209,204) width 4: &quot; &quot;
-      RenderBlock {INPUT} at (217,20) size 201x200
</del><ins>+      RenderBlock {INPUT} at (2,20) size 200x200
+      RenderText {#text} at (204,204) size 4x17
+        text run at (204,204) width 4: &quot; &quot;
+      RenderBlock {INPUT} at (210,20) size 200x200
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastinlinepositionedLifetimeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/inline/positionedLifetime-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,10 +3,10 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderBlock {INPUT} at (4,3) size 17x16
-      RenderText {#text} at (25,3) size 4x17
-        text run at (25,3) width 4: &quot; &quot;
-      RenderBR {BR} at (29,17) size 0x0
</del><ins>+      RenderBlock {INPUT} at (2,3) size 16x16
+      RenderText {#text} at (20,3) size 4x17
+        text run at (20,3) width 4: &quot; &quot;
+      RenderBR {BR} at (24,17) size 0x0
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastparserbadxmlslashexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/parser/bad-xml-slash-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/parser/bad-xml-slash-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/parser/bad-xml-slash-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,6 +3,6 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderBlock {INPUT} at (4,3) size 17x16
-      RenderText {#text} at (25,3) size 218x17
-        text run at (25,3) width 218: &quot;This checkbox should be checked.&quot;
</del><ins>+      RenderBlock {INPUT} at (2,3) size 16x16
+      RenderText {#text} at (20,3) size 218x17
+        text run at (20,3) width 218: &quot;This checkbox should be checked.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastprofilerdeadtimeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/dead-time-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/dead-time-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/dead-time-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-This page's JavaScript Has some dead time in the profile. 
-
-To run this test manually, load it in the browser then load the WebInspector and look at the profile. In the profile there should be a large amount of the % spent in (non-JavaScript).
-
-Profile title: Dead time in profile.
-Thread_1 (no file) (line 0)
-   onload dead-time.html (line 21)
-      startTest dead-time.html (line 13)
-         setTimeout (no file) (line 0)
-   (program) dead-time.html (line 1)
-      endTest profiler-test-JS-resources.js (line 1)
-
-
</del></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastprofilerstopprofilingaftersetTimeoutexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/stop-profiling-after-setTimeout-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/stop-profiling-after-setTimeout-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/profiler/stop-profiling-after-setTimeout-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,13 +0,0 @@
</span><del>-This page's JavaScript stops profiling from a timeout. 
-
-To run this test manually, load it in the browser then load the WebInspector and look at the profile. In the profile endProfile() should not be a child of (program).
-
-Profile title: Stop profiling from a timeout
-Thread_1 (no file) (line 0)
-   onload stop-profiling-after-setTimeout.html (line 21)
-      startTest stop-profiling-after-setTimeout.html (line 13)
-         setTimeout (no file) (line 0)
-   (program) stop-profiling-after-setTimeout.html (line 1)
-      endTest profiler-test-JS-resources.js (line 1)
-
-
</del></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastrepaintreflectionredrawexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/repaint/reflection-redraw-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/repaint/reflection-redraw-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/repaint/reflection-redraw-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -7,28 +7,28 @@
</span><span class="cx"> layer at (293,130) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (285,10) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x51 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 126x51
</del><ins>+      RenderText {#text} at (12,0) size 125x51
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,17) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,34) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (218,240) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (210,120) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x51 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 126x51
</del><ins>+      RenderText {#text} at (12,0) size 125x51
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,17) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,34) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (368,240) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (360,120) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x51 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 126x51
</del><ins>+      RenderText {#text} at (12,0) size 125x51
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,17) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,34) width 100: &quot;should be green&quot;
</span><span class="cx"> layer at (293,350) size 150x100
</span><span class="cx">   RenderBlock (positioned) {DIV} at (285,230) size 150x100 [bgcolor=#808080] [border: (1px solid #000000)]
</span><span class="cx">     RenderBlock {P} at (11,27) size 128x51 [color=#008000]
</span><del>-      RenderText {#text} at (12,0) size 126x51
</del><ins>+      RenderText {#text} at (12,0) size 125x51
</ins><span class="cx">         text run at (12,0) width 104: &quot;The color of this&quot;
</span><span class="cx">         text run at (1,17) width 126: &quot;text in the reflection&quot;
</span><span class="cx">         text run at (14,34) width 100: &quot;should be green&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastreplacedreplacedbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/replaced-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx">         RenderListBox {SELECT} at (3,293) size 63x73 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderListBox {SELECT} at (3,370) size 63x73 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (5,448) size 17x16
-        RenderBlock {INPUT} at (5,470) size 17x16
</del><ins>+        RenderBlock {INPUT} at (3,448) size 16x16
+        RenderBlock {INPUT} at (3,470) size 16x16
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (5,492) size 17x16
-        RenderBlock {INPUT} at (5,514) size 17x16
</del><ins>+        RenderBlock {INPUT} at (3,492) size 16x16
+        RenderBlock {INPUT} at (3,514) size 16x16
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderIFrame {IFRAME} at (1,533) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">           layer at (0,0) size 25x25
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastreplacedwidth100percentcheckboxexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-checkbox-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,17) size 784x26
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x26
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x24
</span><del>-            RenderTableCell {TD} at (1,1) size 11x24 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (13,1) size 11x24 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (25,1) size 11x24 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (37,3) size 746x19 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x24 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (8,1) size 6x24 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (15,1) size 6x24 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (22,3) size 761x19 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x17
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfastreplacedwidth100percentradioexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-radio-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,17) size 784x26
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x26
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x24
</span><del>-            RenderTableCell {TD} at (1,1) size 11x24 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (13,1) size 11x24 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (25,1) size 11x24 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 10x16
-            RenderTableCell {TD} at (37,3) size 746x19 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x24 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (8,1) size 6x24 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (15,1) size 6x24 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x16
+            RenderTableCell {TD} at (22,3) size 761x19 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x17
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfasttabledynamiccaptionaddremovebeforechildexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/table/dynamic-caption-add-remove-before-child-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,7 +5,7 @@
</span><span class="cx">     RenderBody {body} at (8,8) size 784x68
</span><span class="cx">       RenderTable {table} at (0,0) size 46x68
</span><span class="cx">         RenderBlock {caption} at (0,0) size 46x68
</span><del>-          RenderText {#text} at (1,0) size 46x68
</del><ins>+          RenderText {#text} at (1,0) size 47x68
</ins><span class="cx">             text run at (1,0) width 44: &quot;PASS:&quot;
</span><span class="cx">             text run at (0,17) width 46: &quot;Text in&quot;
</span><span class="cx">             text run at (0,34) width 46: &quot;caption&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfasttexttextIteratorNilRendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/text/textIteratorNilRenderer-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,11 +21,11 @@
</span><span class="cx">                         text run at (0,0) width 110: &quot;Search Froogle&quot;
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (637,4) size 147x22 [r=0 c=3 rs=2 cs=1]
</span><del>-                  RenderInline {LABEL} at (0,0) size 124x11
</del><ins>+                  RenderInline {LABEL} at (0,0) size 119x11
</ins><span class="cx">                     RenderText {#text} at (0,0) size 0x0
</span><del>-                    RenderBlock {INPUT} at (14,3) size 17x16
-                    RenderText {#text} at (35,8) size 99x11
-                      text run at (35,8) width 99: &quot; Remember this location&quot;
</del><ins>+                    RenderBlock {INPUT} at (12,3) size 16x16
+                    RenderText {#text} at (30,8) size 99x11
+                      text run at (30,8) width 99: &quot; Remember this location&quot;
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderBlock (anonymous) at (0,46) size 784x17
</span><span class="cx">           RenderBR {BR} at (392,0) size 0x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkfasttextwhitespacenormalafternowrapbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,498 +5,498 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderFieldSet {FIELDSET} at (2,0) size 780x371 [border: (2px groove #C0C0C0)]
</span><span class="cx">         RenderBlock {DIV} at (14,7) size 752x352
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,0) size 50x34
</span><span class="cx">               RenderText {#text} at (50,20) size 4x17
</span><span class="cx">                 text run at (50,20) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,20) size 17x16
</del><ins>+              RenderBlock {INPUT} at (56,20) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,20) size 45x17
-                  text run at (79,20) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,20) size 4x17
-                text run at (124,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,20) size 45x17
+                  text run at (74,20) width 45: &quot;Classic&quot;
+              RenderText {#text} at (119,20) size 4x17
+                text run at (119,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 118x17
+            RenderInline {DIV} at (0,0) size 118x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,0) size 50x34
-              RenderText {#text} at (178,20) size 4x17
-                text run at (178,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,20) size 17x16
</del><ins>+                RenderImage {IMG} at (123,0) size 50x34
+              RenderText {#text} at (173,20) size 4x17
+                text run at (173,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (179,20) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,20) size 40x17
-                  text run at (207,20) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,20) size 4x17
-                text run at (247,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (197,20) size 40x17
+                  text run at (197,20) width 40: &quot;Africa&quot;
+              RenderText {#text} at (237,20) size 4x17
+                text run at (237,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,0) size 50x34
-              RenderText {#text} at (301,20) size 4x17
-                text run at (301,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,20) size 17x16
</del><ins>+                RenderImage {IMG} at (241,0) size 50x34
+              RenderText {#text} at (291,20) size 4x17
+                text run at (291,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (297,20) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,20) size 125x17
-                  text run at (330,20) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,20) size 4x17
-                text run at (455,20) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (315,20) size 125x17
+                  text run at (315,20) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (440,20) size 4x17
+                text run at (440,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,0) size 50x34
-              RenderText {#text} at (509,20) size 4x17
-                text run at (509,20) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,20) size 17x16
</del><ins>+                RenderImage {IMG} at (444,0) size 50x34
+              RenderText {#text} at (494,20) size 4x17
+                text run at (494,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (500,20) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,20) size 99x17
-                  text run at (538,20) width 99: &quot;Ancient Greece&quot;
</del><ins>+                RenderText {#text} at (518,20) size 99x17
+                  text run at (518,20) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (617,20) size 4x17
+                text run at (617,20) width 4: &quot; &quot;
+          RenderText {#text} at (0,0) size 0x0
+          RenderInline {DIV} at (0,0) size 119x17
+            RenderInline {DIV} at (0,0) size 119x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><ins>+              RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
+                RenderImage {IMG} at (621,0) size 50x34
+              RenderText {#text} at (671,20) size 4x17
+                text run at (671,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (677,20) size 16x16
+              RenderInline {LABEL} at (0,0) size 45x17
+                RenderText {#text} at (695,20) size 45x17
+                  text run at (695,20) width 45: &quot;Classic&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 118x17
+            RenderInline {DIV} at (0,0) size 118x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,39) size 50x34
</span><span class="cx">               RenderText {#text} at (50,59) size 4x17
</span><span class="cx">                 text run at (50,59) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (58,59) size 17x16
-              RenderInline {LABEL} at (0,0) size 45x17
-                RenderText {#text} at (79,59) size 45x17
-                  text run at (79,59) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,59) size 4x17
-                text run at (124,59) width 4: &quot; &quot;
-          RenderText {#text} at (0,0) size 0x0
-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
-              RenderText {#text} at (0,0) size 0x0
-              RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
-                RenderImage {IMG} at (128,39) size 50x34
-              RenderText {#text} at (178,59) size 4x17
-                text run at (178,59) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,59) size 17x16
</del><ins>+              RenderBlock {INPUT} at (56,59) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,59) size 40x17
-                  text run at (207,59) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,59) size 4x17
-                text run at (247,59) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,59) size 40x17
+                  text run at (74,59) width 40: &quot;Africa&quot;
+              RenderText {#text} at (114,59) size 4x17
+                text run at (114,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,39) size 50x34
-              RenderText {#text} at (301,59) size 4x17
-                text run at (301,59) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,59) size 17x16
</del><ins>+                RenderImage {IMG} at (118,39) size 50x34
+              RenderText {#text} at (168,59) size 4x17
+                text run at (168,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (174,59) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,59) size 125x17
-                  text run at (330,59) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,59) size 4x17
-                text run at (455,59) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (192,59) size 125x17
+                  text run at (192,59) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (317,59) size 4x17
+                text run at (317,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,39) size 50x34
-              RenderText {#text} at (509,59) size 4x17
-                text run at (509,59) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,59) size 17x16
</del><ins>+                RenderImage {IMG} at (321,39) size 50x34
+              RenderText {#text} at (371,59) size 4x17
+                text run at (371,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (377,59) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,59) size 99x17
-                  text run at (538,59) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (395,59) size 99x17
+                  text run at (395,59) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (494,59) size 4x17
+                text run at (494,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,78) size 50x34
-              RenderText {#text} at (50,98) size 4x17
-                text run at (50,98) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,98) size 17x16
</del><ins>+                RenderImage {IMG} at (498,39) size 50x34
+              RenderText {#text} at (548,59) size 4x17
+                text run at (548,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (554,59) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,98) size 45x17
-                  text run at (79,98) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,98) size 4x17
-                text run at (124,98) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (572,59) size 45x17
+                  text run at (572,59) width 45: &quot;Classic&quot;
+              RenderText {#text} at (617,59) size 4x17
+                text run at (617,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,78) size 50x34
-              RenderText {#text} at (178,98) size 4x17
-                text run at (178,98) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,98) size 17x16
</del><ins>+                RenderImage {IMG} at (621,39) size 50x34
+              RenderText {#text} at (671,59) size 4x17
+                text run at (671,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (677,59) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,98) size 40x17
-                  text run at (207,98) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,98) size 4x17
-                text run at (247,98) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (695,59) size 40x17
+                  text run at (695,59) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,78) size 50x34
-              RenderText {#text} at (301,98) size 4x17
-                text run at (301,98) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,98) size 17x16
</del><ins>+                RenderImage {IMG} at (0,78) size 50x34
+              RenderText {#text} at (50,98) size 4x17
+                text run at (50,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,98) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,98) size 125x17
-                  text run at (330,98) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,98) size 4x17
-                text run at (455,98) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,98) size 125x17
+                  text run at (74,98) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,98) size 4x17
+                text run at (199,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,78) size 50x34
-              RenderText {#text} at (509,98) size 4x17
-                text run at (509,98) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,98) size 17x16
</del><ins>+                RenderImage {IMG} at (203,78) size 50x34
+              RenderText {#text} at (253,98) size 4x17
+                text run at (253,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,98) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,98) size 99x17
-                  text run at (538,98) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,98) size 99x17
+                  text run at (277,98) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,98) size 4x17
+                text run at (376,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,117) size 50x34
-              RenderText {#text} at (50,137) size 4x17
-                text run at (50,137) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,137) size 17x16
</del><ins>+                RenderImage {IMG} at (380,78) size 50x34
+              RenderText {#text} at (430,98) size 4x17
+                text run at (430,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,98) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,137) size 45x17
-                  text run at (79,137) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,137) size 4x17
-                text run at (124,137) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,98) size 45x17
+                  text run at (454,98) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,98) size 4x17
+                text run at (499,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,117) size 50x34
-              RenderText {#text} at (178,137) size 4x17
-                text run at (178,137) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,137) size 17x16
</del><ins>+                RenderImage {IMG} at (503,78) size 50x34
+              RenderText {#text} at (553,98) size 4x17
+                text run at (553,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,98) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,137) size 40x17
-                  text run at (207,137) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,137) size 4x17
-                text run at (247,137) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,98) size 40x17
+                  text run at (577,98) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,117) size 50x34
-              RenderText {#text} at (301,137) size 4x17
-                text run at (301,137) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,137) size 17x16
</del><ins>+                RenderImage {IMG} at (0,117) size 50x34
+              RenderText {#text} at (50,137) size 4x17
+                text run at (50,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,137) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,137) size 125x17
-                  text run at (330,137) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,137) size 4x17
-                text run at (455,137) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,137) size 125x17
+                  text run at (74,137) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,137) size 4x17
+                text run at (199,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,117) size 50x34
-              RenderText {#text} at (509,137) size 4x17
-                text run at (509,137) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,137) size 17x16
</del><ins>+                RenderImage {IMG} at (203,117) size 50x34
+              RenderText {#text} at (253,137) size 4x17
+                text run at (253,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,137) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,137) size 99x17
-                  text run at (538,137) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,137) size 99x17
+                  text run at (277,137) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,137) size 4x17
+                text run at (376,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,156) size 50x34
-              RenderText {#text} at (50,176) size 4x17
-                text run at (50,176) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,176) size 17x16
</del><ins>+                RenderImage {IMG} at (380,117) size 50x34
+              RenderText {#text} at (430,137) size 4x17
+                text run at (430,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,137) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,176) size 45x17
-                  text run at (79,176) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,176) size 4x17
-                text run at (124,176) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,137) size 45x17
+                  text run at (454,137) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,137) size 4x17
+                text run at (499,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,156) size 50x34
-              RenderText {#text} at (178,176) size 4x17
-                text run at (178,176) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,176) size 17x16
</del><ins>+                RenderImage {IMG} at (503,117) size 50x34
+              RenderText {#text} at (553,137) size 4x17
+                text run at (553,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,137) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,176) size 40x17
-                  text run at (207,176) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,176) size 4x17
-                text run at (247,176) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,137) size 40x17
+                  text run at (577,137) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,156) size 50x34
-              RenderText {#text} at (301,176) size 4x17
-                text run at (301,176) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,176) size 17x16
</del><ins>+                RenderImage {IMG} at (0,156) size 50x34
+              RenderText {#text} at (50,176) size 4x17
+                text run at (50,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,176) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,176) size 125x17
-                  text run at (330,176) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,176) size 4x17
-                text run at (455,176) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,176) size 125x17
+                  text run at (74,176) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,176) size 4x17
+                text run at (199,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,156) size 50x34
-              RenderText {#text} at (509,176) size 4x17
-                text run at (509,176) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,176) size 17x16
</del><ins>+                RenderImage {IMG} at (203,156) size 50x34
+              RenderText {#text} at (253,176) size 4x17
+                text run at (253,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,176) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,176) size 99x17
-                  text run at (538,176) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,176) size 99x17
+                  text run at (277,176) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,176) size 4x17
+                text run at (376,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,195) size 50x34
-              RenderText {#text} at (50,215) size 4x17
-                text run at (50,215) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,215) size 17x16
</del><ins>+                RenderImage {IMG} at (380,156) size 50x34
+              RenderText {#text} at (430,176) size 4x17
+                text run at (430,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,176) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,215) size 45x17
-                  text run at (79,215) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,215) size 4x17
-                text run at (124,215) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,176) size 45x17
+                  text run at (454,176) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,176) size 4x17
+                text run at (499,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,195) size 50x34
-              RenderText {#text} at (178,215) size 4x17
-                text run at (178,215) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,215) size 17x16
</del><ins>+                RenderImage {IMG} at (503,156) size 50x34
+              RenderText {#text} at (553,176) size 4x17
+                text run at (553,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,176) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,215) size 40x17
-                  text run at (207,215) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,215) size 4x17
-                text run at (247,215) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,176) size 40x17
+                  text run at (577,176) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,195) size 50x34
-              RenderText {#text} at (301,215) size 4x17
-                text run at (301,215) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,215) size 17x16
</del><ins>+                RenderImage {IMG} at (0,195) size 50x34
+              RenderText {#text} at (50,215) size 4x17
+                text run at (50,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,215) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,215) size 125x17
-                  text run at (330,215) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,215) size 4x17
-                text run at (455,215) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,215) size 125x17
+                  text run at (74,215) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,215) size 4x17
+                text run at (199,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,195) size 50x34
-              RenderText {#text} at (509,215) size 4x17
-                text run at (509,215) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,215) size 17x16
</del><ins>+                RenderImage {IMG} at (203,195) size 50x34
+              RenderText {#text} at (253,215) size 4x17
+                text run at (253,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,215) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,215) size 99x17
-                  text run at (538,215) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,215) size 99x17
+                  text run at (277,215) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,215) size 4x17
+                text run at (376,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,234) size 50x34
-              RenderText {#text} at (50,254) size 4x17
-                text run at (50,254) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,254) size 17x16
</del><ins>+                RenderImage {IMG} at (380,195) size 50x34
+              RenderText {#text} at (430,215) size 4x17
+                text run at (430,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,215) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,254) size 45x17
-                  text run at (79,254) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,254) size 4x17
-                text run at (124,254) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,215) size 45x17
+                  text run at (454,215) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,215) size 4x17
+                text run at (499,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,234) size 50x34
-              RenderText {#text} at (178,254) size 4x17
-                text run at (178,254) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,254) size 17x16
</del><ins>+                RenderImage {IMG} at (503,195) size 50x34
+              RenderText {#text} at (553,215) size 4x17
+                text run at (553,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,215) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,254) size 40x17
-                  text run at (207,254) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,254) size 4x17
-                text run at (247,254) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,215) size 40x17
+                  text run at (577,215) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,234) size 50x34
-              RenderText {#text} at (301,254) size 4x17
-                text run at (301,254) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,254) size 17x16
</del><ins>+                RenderImage {IMG} at (0,234) size 50x34
+              RenderText {#text} at (50,254) size 4x17
+                text run at (50,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,254) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,254) size 125x17
-                  text run at (330,254) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,254) size 4x17
-                text run at (455,254) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,254) size 125x17
+                  text run at (74,254) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,254) size 4x17
+                text run at (199,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,234) size 50x34
-              RenderText {#text} at (509,254) size 4x17
-                text run at (509,254) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,254) size 17x16
</del><ins>+                RenderImage {IMG} at (203,234) size 50x34
+              RenderText {#text} at (253,254) size 4x17
+                text run at (253,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,254) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,254) size 99x17
-                  text run at (538,254) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,254) size 99x17
+                  text run at (277,254) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,254) size 4x17
+                text run at (376,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,273) size 50x34
-              RenderText {#text} at (50,293) size 4x17
-                text run at (50,293) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,293) size 17x16
</del><ins>+                RenderImage {IMG} at (380,234) size 50x34
+              RenderText {#text} at (430,254) size 4x17
+                text run at (430,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,254) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,293) size 45x17
-                  text run at (79,293) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,293) size 4x17
-                text run at (124,293) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,254) size 45x17
+                  text run at (454,254) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,254) size 4x17
+                text run at (499,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,273) size 50x34
-              RenderText {#text} at (178,293) size 4x17
-                text run at (178,293) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,293) size 17x16
</del><ins>+                RenderImage {IMG} at (503,234) size 50x34
+              RenderText {#text} at (553,254) size 4x17
+                text run at (553,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,254) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,293) size 40x17
-                  text run at (207,293) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,293) size 4x17
-                text run at (247,293) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,254) size 40x17
+                  text run at (577,254) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,273) size 50x34
-              RenderText {#text} at (301,293) size 4x17
-                text run at (301,293) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,293) size 17x16
</del><ins>+                RenderImage {IMG} at (0,273) size 50x34
+              RenderText {#text} at (50,293) size 4x17
+                text run at (50,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,293) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,293) size 125x17
-                  text run at (330,293) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,293) size 4x17
-                text run at (455,293) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,293) size 125x17
+                  text run at (74,293) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,293) size 4x17
+                text run at (199,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 177x17
+            RenderInline {DIV} at (0,0) size 177x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,273) size 50x34
-              RenderText {#text} at (509,293) size 4x17
-                text run at (509,293) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,293) size 17x16
</del><ins>+                RenderImage {IMG} at (203,273) size 50x34
+              RenderText {#text} at (253,293) size 4x17
+                text run at (253,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,293) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,293) size 99x17
-                  text run at (538,293) width 99: &quot;Ancient Greece&quot;
-              RenderText {#text} at (0,0) size 0x0
</del><ins>+                RenderText {#text} at (277,293) size 99x17
+                  text run at (277,293) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (376,293) size 4x17
+                text run at (376,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 128x17
-            RenderInline {DIV} at (0,0) size 128x17
</del><ins>+          RenderInline {DIV} at (0,0) size 123x17
+            RenderInline {DIV} at (0,0) size 123x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (0,312) size 50x34
-              RenderText {#text} at (50,332) size 4x17
-                text run at (50,332) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (58,332) size 17x16
</del><ins>+                RenderImage {IMG} at (380,273) size 50x34
+              RenderText {#text} at (430,293) size 4x17
+                text run at (430,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (436,293) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 45x17
</span><del>-                RenderText {#text} at (79,332) size 45x17
-                  text run at (79,332) width 45: &quot;Classic&quot;
-              RenderText {#text} at (124,332) size 4x17
-                text run at (124,332) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (454,293) size 45x17
+                  text run at (454,293) width 45: &quot;Classic&quot;
+              RenderText {#text} at (499,293) size 4x17
+                text run at (499,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 123x17
-            RenderInline {DIV} at (0,0) size 123x17
</del><ins>+          RenderInline {DIV} at (0,0) size 114x17
+            RenderInline {DIV} at (0,0) size 114x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (128,312) size 50x34
-              RenderText {#text} at (178,332) size 4x17
-                text run at (178,332) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (186,332) size 17x16
</del><ins>+                RenderImage {IMG} at (503,273) size 50x34
+              RenderText {#text} at (553,293) size 4x17
+                text run at (553,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (559,293) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 40x17
</span><del>-                RenderText {#text} at (207,332) size 40x17
-                  text run at (207,332) width 40: &quot;Africa&quot;
-              RenderText {#text} at (247,332) size 4x17
-                text run at (247,332) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (577,293) size 40x17
+                  text run at (577,293) width 40: &quot;Africa&quot;
+              RenderText {#text} at (0,0) size 0x0
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 208x17
-            RenderInline {DIV} at (0,0) size 208x17
</del><ins>+          RenderInline {DIV} at (0,0) size 203x17
+            RenderInline {DIV} at (0,0) size 203x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (251,312) size 50x34
-              RenderText {#text} at (301,332) size 4x17
-                text run at (301,332) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (309,332) size 17x16
</del><ins>+                RenderImage {IMG} at (0,312) size 50x34
+              RenderText {#text} at (50,332) size 4x17
+                text run at (50,332) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (56,332) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 125x17
</span><del>-                RenderText {#text} at (330,332) size 125x17
-                  text run at (330,332) width 125: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (455,332) size 4x17
-                text run at (455,332) width 4: &quot; &quot;
</del><ins>+                RenderText {#text} at (74,332) size 125x17
+                  text run at (74,332) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (199,332) size 4x17
+                text run at (199,332) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 178x17
-            RenderInline {DIV} at (0,0) size 178x17
</del><ins>+          RenderInline {DIV} at (0,0) size 173x17
+            RenderInline {DIV} at (0,0) size 173x17
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x17 [color=#0000EE]
</span><del>-                RenderImage {IMG} at (459,312) size 50x34
-              RenderText {#text} at (509,332) size 4x17
-                text run at (509,332) width 4: &quot; &quot;
-              RenderBlock {INPUT} at (517,332) size 17x16
</del><ins>+                RenderImage {IMG} at (203,312) size 50x34
+              RenderText {#text} at (253,332) size 4x17
+                text run at (253,332) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (259,332) size 16x16
</ins><span class="cx">               RenderInline {LABEL} at (0,0) size 99x17
</span><del>-                RenderText {#text} at (538,332) size 99x17
-                  text run at (538,332) width 99: &quot;Ancient Greece&quot;
</del><ins>+                RenderText {#text} at (277,332) size 99x17
+                  text run at (277,332) width 99: &quot;Ancient Greece&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtkhttptestsnavigationjavascriptlinkframesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,22 +40,22 @@
</span><span class="cx">                   text run at (0,97) width 334: &quot;that we can use for testing&quot;
</span><span class="cx">                 RenderTextControl {INPUT} at (336,109) size 191x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                 RenderBR {BR} at (529,126) size 0x0
</span><del>-                RenderBlock {INPUT} at (4,149) size 17x16
-                RenderText {#text} at (25,134) size 73x36
-                  text run at (25,134) width 73: &quot; Male&quot;
-                RenderBR {BR} at (98,163) size 0x0
-                RenderBlock {INPUT} at (4,185) size 17x16
-                RenderText {#text} at (25,170) size 102x36
-                  text run at (25,170) width 102: &quot; Female&quot;
-                RenderBR {BR} at (127,199) size 0x0
-                RenderBlock {INPUT} at (4,221) size 17x16
-                RenderText {#text} at (25,206) size 130x36
-                  text run at (25,206) width 130: &quot; option #1&quot;
-                RenderBR {BR} at (155,235) size 0x0
-                RenderBlock {INPUT} at (4,257) size 17x16
-                RenderText {#text} at (25,242) size 130x36
-                  text run at (25,242) width 130: &quot; option #2&quot;
-                RenderBR {BR} at (155,271) size 0x0
</del><ins>+                RenderBlock {INPUT} at (2,149) size 16x16
+                RenderText {#text} at (20,134) size 73x36
+                  text run at (20,134) width 73: &quot; Male&quot;
+                RenderBR {BR} at (93,163) size 0x0
+                RenderBlock {INPUT} at (2,185) size 16x16
+                RenderText {#text} at (20,170) size 102x36
+                  text run at (20,170) width 102: &quot; Female&quot;
+                RenderBR {BR} at (122,199) size 0x0
+                RenderBlock {INPUT} at (2,221) size 16x16
+                RenderText {#text} at (20,206) size 130x36
+                  text run at (20,206) width 130: &quot; option #1&quot;
+                RenderBR {BR} at (150,235) size 0x0
+                RenderBlock {INPUT} at (2,257) size 16x16
+                RenderText {#text} at (20,242) size 130x36
+                  text run at (20,242) width 130: &quot; option #2&quot;
+                RenderBR {BR} at (150,271) size 0x0
</ins><span class="cx">                 RenderMenuList {SELECT} at (2,280) size 326x27 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
</span><span class="cx">                   RenderBlock (anonymous) at (1,1) size 324x25
</span><span class="cx">                     RenderText at (4,4) size 84x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozillabugsbug1318expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug1318-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug1318-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug1318-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -18,31 +18,31 @@
</span><span class="cx">                 RenderBR {BR} at (392,52) size 0x17
</span><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderTableRow {TR} at (0,70) size 784x24
</span><del>-            RenderTableCell {TD} at (0,73) size 518x17 [r=1 c=0 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (0,73) size 530x17 [r=1 c=0 rs=1 cs=1]
</ins><span class="cx">               RenderInline {FONT} at (0,0) size 140x15
</span><del>-                RenderText {#text} at (377,1) size 140x15
-                  text run at (377,1) width 140: &quot;I agree with the program&quot;
</del><ins>+                RenderText {#text} at (389,1) size 140x15
+                  text run at (389,1) width 140: &quot;I agree with the program&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (518,70) size 90x24 [r=1 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+            RenderTableCell {TD} at (530,70) size 75x24 [r=1 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">           RenderTableRow {TR} at (0,94) size 784x24
</span><del>-            RenderTableCell {TD} at (0,97) size 518x17 [r=2 c=0 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (0,97) size 530x17 [r=2 c=0 rs=1 cs=1]
</ins><span class="cx">               RenderInline {FONT} at (0,0) size 153x15
</span><del>-                RenderText {#text} at (364,1) size 153x15
-                  text run at (364,1) width 153: &quot;I think vouchers are wrong&quot;
</del><ins>+                RenderText {#text} at (376,1) size 153x15
+                  text run at (376,1) width 153: &quot;I think vouchers are wrong&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (518,94) size 90x24 [r=2 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (5,4) size 17x16
</del><ins>+            RenderTableCell {TD} at (530,94) size 75x24 [r=2 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 16x16
</ins><span class="cx">           RenderTableRow {TR} at (0,118) size 784x32
</span><del>-            RenderTableCell {TD} at (0,125) size 608x17 [r=3 c=0 rs=1 cs=2]
-              RenderInline {A} at (0,0) size 76x17 [color=#0000EE]
-                RenderInline {FONT} at (0,0) size 76x15
-                  RenderText {#text} at (266,1) size 76x15
-                    text run at (266,1) width 76: &quot;View Results&quot;
-              RenderInline {FONT} at (0,0) size 0x15
</del><ins>+            RenderTableCell {TD} at (0,125) size 605x17 [r=3 c=0 rs=1 cs=2]
+              RenderInline {A} at (0,0) size 77x17 [color=#0000EE]
+                RenderInline {FONT} at (0,0) size 77x15
+                  RenderText {#text} at (264,1) size 77x15
+                    text run at (264,1) width 77: &quot;View Results&quot;
+              RenderInline {FONT} at (0,0) size 1x15
</ins><span class="cx">                 RenderText {#text} at (0,0) size 0x0
</span><del>-            RenderTableCell {TD} at (608,118) size 176x32 [r=3 c=2 rs=1 cs=2]
-              RenderButton {INPUT} at (65,3) size 46x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</del><ins>+            RenderTableCell {TD} at (605,118) size 179x32 [r=3 c=2 rs=1 cs=2]
+              RenderButton {INPUT} at (66,3) size 47x26 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]
</ins><span class="cx">                 RenderBlock (anonymous) at (8,4) size 30x17
</span><span class="cx">                   RenderText at (0,0) size 30x17
</span><span class="cx">                     text run at (0,0) width 30: &quot;vote&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozillabugsbug4527expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug4527-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,14 +35,14 @@
</span><span class="cx">           RenderTableRow {TR} at (0,70) size 613x51
</span><span class="cx">             RenderTableCell {TD} at (126,83) size 232x25 [bgcolor=#CCCCCC] [r=1 c=1 rs=1 cs=1]
</span><span class="cx">               RenderImage {IMG} at (0,0) size 232x25
</span><del>-            RenderTableCell {TD} at (358,73) size 122x45 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
-              RenderTextControl {INPUT} at (10,2) size 102x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-              RenderImage {INPUT} at (48,27) size 26x18
-            RenderTableCell {TD} at (480,70) size 133x51 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
-              RenderBlock {INPUT} at (4,3) size 17x16
-              RenderImage {IMG} at (25,1) size 40x25
-              RenderBlock {INPUT} at (69,3) size 17x16
</del><ins>+            RenderTableCell {TD} at (358,73) size 127x45 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
+              RenderTextControl {INPUT} at (13,2) size 101x23 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderImage {INPUT} at (51,27) size 25x18
+            RenderTableCell {TD} at (485,70) size 128x51 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
+              RenderBlock {INPUT} at (2,3) size 16x16
+              RenderImage {IMG} at (20,1) size 40x25
+              RenderBlock {INPUT} at (62,3) size 16x16
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderImage {IMG} at (0,26) size 46x25
</span><del>-layer at (380,86) size 95x17
</del><ins>+layer at (382,86) size 95x17
</ins><span class="cx">   RenderBlock {DIV} at (3,3) size 95x17
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozillamarvinbody_colexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/body_col-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/body_col-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/body_col-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection {TBODY} at (2,2) size 155x145
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 155x38
</span><span class="cx">             RenderTableCell {TH} at (2,2) size 49x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (15,2) size 37x34
</del><ins>+              RenderText {#text} at (15,2) size 36x34
</ins><span class="cx">                 text run at (15,2) width 19: &quot;La&quot;
</span><span class="cx">                 text run at (6,19) width 37: &quot;Mesa&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,10) size 100x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx">                 text run at (2,2) width 12: &quot;X&quot;
</span><span class="cx">           RenderTableRow {TR} at (0,42) size 155x38
</span><span class="cx">             RenderTableCell {TH} at (2,42) size 49x38 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (17,2) size 43x34
</del><ins>+              RenderText {#text} at (17,2) size 42x34
</ins><span class="cx">                 text run at (17,2) width 15: &quot;El&quot;
</span><span class="cx">                 text run at (3,19) width 43: &quot;Cajon&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,50) size 100x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozillamarvinx_th_valign_baselineexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/marvin/x_th_valign_baseline-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection (anonymous) at (1,1) size 782x233
</span><span class="cx">           RenderTableRow {tr} at (0,2) size 782x229
</span><span class="cx">             RenderTableCell {th} at (2,24) size 214x89 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (12,2) size 206x85
</del><ins>+              RenderText {#text} at (12,2) size 207x85
</ins><span class="cx">                 text run at (12,2) width 190: &quot;Compare the baseline of the&quot;
</span><span class="cx">                 text run at (4,19) width 76: &quot;first line of &quot;
</span><span class="cx">                 text run at (80,19) width 130: &quot;text in this cell with&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozillaotherbody_colexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/other/body_col-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/other/body_col-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla/other/body_col-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -10,7 +10,7 @@
</span><span class="cx">         RenderTableSection {TBODY} at (2,2) size 155x145
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 155x38
</span><span class="cx">             RenderTableCell {TH} at (2,2) size 49x38 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (15,2) size 37x34
</del><ins>+              RenderText {#text} at (15,2) size 36x34
</ins><span class="cx">                 text run at (15,2) width 19: &quot;La&quot;
</span><span class="cx">                 text run at (6,19) width 37: &quot;Mesa&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,10) size 100x21 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -18,7 +18,7 @@
</span><span class="cx">                 text run at (2,2) width 12: &quot;X&quot;
</span><span class="cx">           RenderTableRow {TR} at (0,42) size 155x38
</span><span class="cx">             RenderTableCell {TH} at (2,42) size 49x38 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
</span><del>-              RenderText {#text} at (17,2) size 43x34
</del><ins>+              RenderText {#text} at (17,2) size 42x34
</ins><span class="cx">                 text run at (17,2) width 15: &quot;El&quot;
</span><span class="cx">                 text run at (3,19) width 43: &quot;Cajon&quot;
</span><span class="cx">             RenderTableCell {TD} at (53,50) size 100x21 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresbugsbug10140expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10140-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1161) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1282) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,2219) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (15,2340) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresbugsbug10216expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/bugs/bug10216-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">                 text run at (2,2) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,546) size 87x102 [border: (1px outset #808080)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 87x51
</span><del>-          RenderText {#text} at (9,0) size 87x51
</del><ins>+          RenderText {#text} at (9,0) size 88x51
</ins><span class="cx">             text run at (9,0) width 69: &quot;The table's&quot;
</span><span class="cx">             text run at (2,17) width 83: &quot;caption, with&quot;
</span><span class="cx">             text run at (0,34) width 87: &quot;align=\&quot;right\&quot;.&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions1expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions1-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,8 +11,8 @@
</span><span class="cx">           text run at (0,0) width 103: &quot;table 1 - original&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,44) size 90x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,66) size 80x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (4,6) size 47x17
-            text run at (4,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (7,6) size 46x17
+            text run at (7,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (55,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,10) size 70x44
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 70x19
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">           text run at (0,0) width 188: &quot;table 2 - caption gains content&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,170) size 90x111 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,66) size 80x45 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (4,6) size 47x17
-            text run at (4,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (7,6) size 46x17
+            text run at (7,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (55,6) size 16x16
</span><span class="cx">           RenderText {#text} at (17,25) size 46x17
</span><span class="cx">             text run at (17,25) width 46: &quot;foo foo&quot;
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">           text run at (0,0) width 384: &quot;table 3 - caption gains content extending its max element size&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,313) size 148x111 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,66) size 138x45 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (33,6) size 47x17
-            text run at (33,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (36,6) size 46x17
+            text run at (36,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (84,6) size 16x16
</span><span class="cx">           RenderText {#text} at (3,25) size 142x17
</span><span class="cx">             text run at (3,25) width 142: &quot;very_large_very_large&quot;
</span><span class="lines">@@ -106,8 +106,8 @@
</span><span class="cx">           text run at (0,0) width 154: &quot;table 5 - table gets wider&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,577) size 136x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,66) size 126x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (27,6) size 47x17
-            text run at (27,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (30,6) size 46x17
+            text run at (30,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (78,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,10) size 116x44
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 116x19
</span><span class="lines">@@ -136,8 +136,8 @@
</span><span class="cx">               RenderText {#text} at (1,1) size 46x17
</span><span class="cx">                 text run at (1,1) width 46: &quot;foo foo&quot;
</span><span class="cx">         RenderBlock {CAPTION} at (10,87) size 96x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (12,6) size 47x17
-            text run at (12,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (15,6) size 46x17
+            text run at (15,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (63,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,33) size 86x42
</span><span class="cx">           RenderTableRow {TR} at (0,0) size 86x19
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions2expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,8 +11,8 @@
</span><span class="cx">           text run at (0,0) width 103: &quot;table 1 - original&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,44) size 90x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 80x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (4,6) size 47x17
-            text run at (4,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (7,6) size 46x17
+            text run at (7,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (55,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,40) size 70x44
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 70x19
</span><span class="lines">@@ -34,8 +34,8 @@
</span><span class="cx">           text run at (0,0) width 188: &quot;table 2 - caption gains content&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,170) size 90x111 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 80x45 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (4,6) size 47x17
-            text run at (4,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (7,6) size 46x17
+            text run at (7,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (55,6) size 16x16
</span><span class="cx">           RenderText {#text} at (17,25) size 46x17
</span><span class="cx">             text run at (17,25) width 46: &quot;foo foo&quot;
</span><span class="lines">@@ -59,8 +59,8 @@
</span><span class="cx">           text run at (0,0) width 384: &quot;table 3 - caption gains content extending its max element size&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,313) size 148x111 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 138x45 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (33,6) size 47x17
-            text run at (33,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (36,6) size 46x17
+            text run at (36,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (84,6) size 16x16
</span><span class="cx">           RenderText {#text} at (3,25) size 142x17
</span><span class="cx">             text run at (3,25) width 142: &quot;very_large_very_large&quot;
</span><span class="lines">@@ -106,8 +106,8 @@
</span><span class="cx">           text run at (0,0) width 154: &quot;table 5 - table gets wider&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,577) size 136x94 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 126x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (27,6) size 47x17
-            text run at (27,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (30,6) size 46x17
+            text run at (30,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (78,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,40) size 116x44
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 116x19
</span><span class="lines">@@ -131,8 +131,8 @@
</span><span class="cx">           text run at (0,0) width 149: &quot;table 6 - table gets taller&quot;
</span><span class="cx">       RenderTable {TABLE} at (5,703) size 106x115 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (10,2) size 96x28 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (12,6) size 47x17
-            text run at (12,6) width 47: &quot;caption&quot;
</del><ins>+          RenderText {#text} at (15,6) size 46x17
+            text run at (15,6) width 46: &quot;caption&quot;
</ins><span class="cx">           RenderBlock {INPUT} at (63,6) size 16x16
</span><span class="cx">         RenderTableSection {TBODY} at (10,40) size 86x65
</span><span class="cx">           RenderTableRow {TR} at (0,2) size 86x19
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failurescorecaptions3expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/core/captions3-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -185,7 +185,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1161) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,1282) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (20,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -355,7 +355,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,2219) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span><span class="lines">@@ -376,7 +376,7 @@
</span><span class="cx">                 text run at (1,1) width 30: &quot;Data&quot;
</span><span class="cx">       RenderTable {TABLE} at (15,2340) size 90x122 [border: (10px solid #008000)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,0) size 70x57 [border: (3px solid #800080)]
</span><del>-          RenderText {#text} at (22,3) size 50x51
</del><ins>+          RenderText {#text} at (22,3) size 51x51
</ins><span class="cx">             text run at (22,3) width 26: &quot;The&quot;
</span><span class="cx">             text run at (15,20) width 40: &quot;table's&quot;
</span><span class="cx">             text run at (10,37) width 50: &quot;caption.&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformgtktablesmozilla_expected_failuresothertest4expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/gtk/tables/mozilla_expected_failures/other/test4-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -141,7 +141,7 @@
</span><span class="cx">           text run at (0,17) width 4: &quot; &quot;
</span><span class="cx">       RenderTable {TABLE} at (0,576) size 252x167 [border: (1px none #808080)]
</span><span class="cx">         RenderBlock {CAPTION} at (0,115) size 252x51
</span><del>-          RenderText {#text} at (11,0) size 240x51
</del><ins>+          RenderText {#text} at (11,0) size 239x51
</ins><span class="cx">             text run at (11,0) width 230: &quot;Table 4 has this bottom caption. The&quot;
</span><span class="cx">             text run at (6,17) width 240: &quot;table has specified column widths and&quot;
</span><span class="cx">             text run at (66,34) width 120: &quot;collapsing borders.&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacTestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/TestExpectations (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/TestExpectations        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/TestExpectations        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -516,9 +516,6 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/83618 fast/dom/inline-event-attributes-release.html [ Pass Failure ]
</span><span class="cx"> 
</span><del>-webkit.org/b/84102 fast/profiler/stop-profiling-after-setTimeout.html [ Pass Failure ]
-webkit.org/b/84102 fast/profiler/dead-time.html [ Pass Failure ]
-
</del><span class="cx"> # Failing subpixel reference tests
</span><span class="cx"> webkit.org/b/85532 fast/sub-pixel/file-upload-control-at-fractional-offset.html [ ImageOnlyFailure ]
</span><span class="cx"> webkit.org/b/85532 fast/sub-pixel/zoomed-image-tiles.html [ ImageOnlyFailure ]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmaccss3flexboxbuttonexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/css3/flexbox/button-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/css3/flexbox/button-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/css3/flexbox/button-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,8 +1,8 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderView at (0,0) size 800x600
</span><del>-layer at (0,0) size 800x232
-  RenderBlock {HTML} at (0,0) size 800x232
-    RenderBody {BODY} at (8,8) size 784x216
</del><ins>+layer at (0,0) size 800x233
+  RenderBlock {HTML} at (0,0) size 800x233
+    RenderBody {BODY} at (8,8) size 784x217
</ins><span class="cx">       RenderBlock (anonymous) at (0,0) size 784x36
</span><span class="cx">         RenderText {#text} at (0,0) size 765x36
</span><span class="cx">           text run at (0,0) width 403: &quot;Test for empty buttons, which inherit from RenderFlexibleBox. &quot;
</span><span class="lines">@@ -14,22 +14,22 @@
</span><span class="cx">         RenderText {#text} at (563,18) size 4x18
</span><span class="cx">           text run at (563,18) width 4: &quot;.&quot;
</span><span class="cx">       RenderBlock {HR} at (0,44) size 784x2 [border: (1px inset #000000)]
</span><del>-      RenderBlock (anonymous) at (0,54) size 784x61
</del><ins>+      RenderBlock (anonymous) at (0,54) size 784x59
</ins><span class="cx">         RenderText {#text} at (0,0) size 79x18
</span><span class="cx">           text run at (0,0) width 79: &quot;Simple case.&quot;
</span><span class="cx">         RenderBR {BR} at (79,0) size 0x18
</span><span class="cx">         RenderButton {BUTTON} at (2,20) size 16x15 [bgcolor=#C0C0C0] [border: none (2px outset #C0C0C0) none (2px outset #C0C0C0)]
</span><span class="cx">         RenderBR {BR} at (20,18) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,39) size 16x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBR {BR} at (20,43) size 0x18
-      RenderBlock {HR} at (0,123) size 784x2 [border: (1px inset #000000)]
-      RenderBlock (anonymous) at (0,133) size 784x83
</del><ins>+        RenderBR {BR} at (20,40) size 0x18
+      RenderBlock {HR} at (0,121) size 784x2 [border: (1px inset #000000)]
+      RenderBlock (anonymous) at (0,131) size 784x86
</ins><span class="cx">         RenderText {#text} at (0,0) size 778x18
</span><span class="cx">           text run at (0,0) width 778: &quot;Empty &lt;button&gt; and &lt;input type=button&gt; with overflow: scroll;. The presence of the scrollbar should not shrink the button.&quot;
</span><span class="cx">         RenderBR {BR} at (778,0) size 0x18
</span><span class="cx">         RenderBR {BR} at (35,18) size 0x18
</span><span class="cx">         RenderBR {BR} at (35,52) size 0x18
</span><del>-layer at (10,171) size 31x20 clip at (12,171) size 12x5
</del><ins>+layer at (10,169) size 31x20 clip at (12,169) size 12x5
</ins><span class="cx">   RenderButton {BUTTON} at (2,30) size 31x20 [bgcolor=#C0C0C0] [border: none (2px outset #C0C0C0) none (2px outset #C0C0C0)]
</span><del>-layer at (10,204) size 31x18 clip at (10,204) size 16x3
-  RenderButton {INPUT} at (2,63) size 31x18 [bgcolor=#C0C0C0]
</del><ins>+layer at (10,205) size 31x18 clip at (10,205) size 16x3
+  RenderButton {INPUT} at (2,66) size 31x18 [bgcolor=#C0C0C0]
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastdomHTMLTextAreaElementresettextareaexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx">         RenderText {#text} at (334,22) size 4x18
</span><span class="cx">           text run at (334,22) width 4: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (340,23) size 45x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">             RenderText at (0,0) size 29x13
</span><span class="cx">               text run at (0,0) width 29: &quot;Reset&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfasthtmldetailsreplacesummarychildexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-summary-child-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-summary-child-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-summary-child-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,18) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 40x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 24x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 24x13
</ins><span class="cx">             RenderText at (0,0) size 24x13
</span><span class="cx">               text run at (0,0) width 24: &quot;click&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfasthtmldetailsreplacetextexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-text-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-text-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/html/details-replace-text-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,36) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 40x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 24x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 24x13
</ins><span class="cx">             RenderText at (0,0) size 24x13
</span><span class="cx">               text run at (0,0) width 24: &quot;click&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastinlinepositionedLifetimeexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/inline/positionedLifetime-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/inline/positionedLifetime-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,10 +3,10 @@
</span><span class="cx"> layer at (0,0) size 800x600
</span><span class="cx">   RenderBlock {HTML} at (0,0) size 800x600
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><del>-      RenderBlock {INPUT} at (2,3) size 13x13
-      RenderText {#text} at (17,0) size 5x18
-        text run at (17,0) width 5: &quot; &quot;
-      RenderBR {BR} at (21,14) size 1x0
</del><ins>+      RenderBlock {INPUT} at (2,3) size 12x13
+      RenderText {#text} at (16,0) size 4x18
+        text run at (16,0) width 4: &quot; &quot;
+      RenderBR {BR} at (20,14) size 0x0
</ins><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx">     RenderBlock {DIV} at (0,18) size 560x800
</span><span class="cx">     RenderBlock (anonymous) at (0,818) size 560x22
</span><span class="cx">       RenderButton {INPUT} at (2,2) size 200x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 184x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 184x13
</ins><span class="cx">           RenderText at (0,0) size 184x13
</span><span class="cx">             text run at (0,0) width 184: &quot;If you can see this, test has passed&quot;
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastoverflowscrollRevealButtonexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scrollRevealButton-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scrollRevealButton-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/overflow/scrollRevealButton-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,7 +31,7 @@
</span><span class="cx">               RenderBlock (anonymous) at (0,518) size 135x40
</span><span class="cx">                 RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">                 RenderButton {INPUT} at (2,20) size 51x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 35x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 35x13
</ins><span class="cx">                     RenderText at (0,0) size 35x13
</span><span class="cx">                       text run at (0,0) width 35: &quot;Button&quot;
</span><span class="cx">                 RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastreplacedreplacedbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/replaced/replaced-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,11 +11,11 @@
</span><span class="cx">         RenderImage {IMG} at (1,74) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderButton {INPUT} at (3,103) size 44x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 28x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 28x13
</ins><span class="cx">             RenderText at (0,0) size 28x13
</span><span class="cx">               text run at (0,0) width 28: &quot;input&quot;
</span><span class="cx">         RenderButton {INPUT} at (3,125) size 44x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 28x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 28x13
</ins><span class="cx">             RenderText at (0,0) size 28x13
</span><span class="cx">               text run at (0,0) width 28: &quot;input&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx">         RenderListBox {SELECT} at (3,235) size 48x57 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderListBox {SELECT} at (3,296) size 48x57 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (3,358) size 13x12
-        RenderBlock {INPUT} at (3,376) size 13x12
</del><ins>+        RenderBlock {INPUT} at (3,358) size 12x12
+        RenderBlock {INPUT} at (3,376) size 12x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (3,394) size 13x13
-        RenderBlock {INPUT} at (3,413) size 13x13
</del><ins>+        RenderBlock {INPUT} at (3,394) size 12x13
+        RenderBlock {INPUT} at (3,413) size 12x13
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderIFrame {IFRAME} at (1,429) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">           layer at (0,0) size 25x25
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentbuttonexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-button-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-button-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-button-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,17 +11,17 @@
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x24
</span><span class="cx">             RenderTableCell {TD} at (1,1) size 67x24 [r=0 c=0 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 65x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 49x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 49x13
</ins><span class="cx">                   RenderText at (0,0) size 49x13
</span><span class="cx">                     text run at (0,0) width 49: &quot;New Mail&quot;
</span><span class="cx">             RenderTableCell {TD} at (69,1) size 47x24 [r=0 c=1 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 45x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">                   RenderText at (0,0) size 29x13
</span><span class="cx">                     text run at (0,0) width 29: &quot;Reply&quot;
</span><span class="cx">             RenderTableCell {TD} at (117,1) size 65x24 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 63x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 47x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 47x13
</ins><span class="cx">                   RenderText at (0,0) size 47x13
</span><span class="cx">                     text run at (0,0) width 47: &quot;Reply All&quot;
</span><span class="cx">             RenderTableCell {TD} at (183,3) size 600x20 [r=0 c=3 rs=1 cs=1]
</span><span class="lines">@@ -35,17 +35,17 @@
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x24
</span><span class="cx">             RenderTableCell {TD} at (1,1) size 67x24 [r=0 c=0 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 65x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 49x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 49x13
</ins><span class="cx">                   RenderText at (0,0) size 49x13
</span><span class="cx">                     text run at (0,0) width 49: &quot;New Mail&quot;
</span><span class="cx">             RenderTableCell {TD} at (69,1) size 47x24 [r=0 c=1 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 45x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">                   RenderText at (0,0) size 29x13
</span><span class="cx">                     text run at (0,0) width 29: &quot;Reply&quot;
</span><span class="cx">             RenderTableCell {TD} at (117,1) size 65x24 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">               RenderButton {INPUT} at (1,3) size 63x18 [bgcolor=#C0C0C0]
</span><del>-                RenderBlock (anonymous) at (8,2) size 47x14
</del><ins>+                RenderBlock (anonymous) at (8,2) size 47x13
</ins><span class="cx">                   RenderText at (0,0) size 47x13
</span><span class="cx">                     text run at (0,0) width 47: &quot;Reply All&quot;
</span><span class="cx">             RenderTableCell {TD} at (183,3) size 600x20 [r=0 c=3 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentcheckboxexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-checkbox-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-checkbox-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,18) size 784x22
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x22
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x20
</span><del>-            RenderTableCell {TD} at (1,1) size 8x20 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x12
-            RenderTableCell {TD} at (10,1) size 8x20 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x12
-            RenderTableCell {TD} at (19,1) size 8x20 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x12
-            RenderTableCell {TD} at (28,1) size 755x20 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x20 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (8,1) size 6x20 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (15,1) size 6x20 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x12
+            RenderTableCell {TD} at (22,1) size 761x20 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x18
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfastreplacedwidth100percentradioexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-radio-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/replaced/width100percent-radio-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,12 +9,12 @@
</span><span class="cx">       RenderTable {TABLE} at (0,18) size 784x23
</span><span class="cx">         RenderTableSection {TBODY} at (0,0) size 784x23
</span><span class="cx">           RenderTableRow {TR} at (0,1) size 784x21
</span><del>-            RenderTableCell {TD} at (1,1) size 8x21 [r=0 c=0 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x13
-            RenderTableCell {TD} at (10,1) size 8x21 [r=0 c=1 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x13
-            RenderTableCell {TD} at (19,1) size 8x21 [r=0 c=2 rs=1 cs=1]
-              RenderBlock {INPUT} at (3,4) size 7x13
-            RenderTableCell {TD} at (28,1) size 755x20 [r=0 c=3 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (1,1) size 6x21 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x13
+            RenderTableCell {TD} at (8,1) size 6x21 [r=0 c=1 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x13
+            RenderTableCell {TD} at (15,1) size 6x21 [r=0 c=2 rs=1 cs=1]
+              RenderBlock {INPUT} at (3,4) size 4x13
+            RenderTableCell {TD} at (22,1) size 761x20 [r=0 c=3 rs=1 cs=1]
</ins><span class="cx">               RenderText {#text} at (1,1) size 4x18
</span><span class="cx">                 text run at (1,1) width 4: &quot; &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfasttexttextIteratorNilRendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/text/textIteratorNilRenderer-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -16,16 +16,16 @@
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (439,0) size 99x22 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">                   RenderButton {INPUT} at (2,2) size 95x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 79x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 79x13
</ins><span class="cx">                       RenderText at (0,0) size 79x13
</span><span class="cx">                         text run at (0,0) width 79: &quot;Search Froogle&quot;
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (538,2) size 160x18 [r=0 c=3 rs=2 cs=1]
</span><del>-                  RenderInline {LABEL} at (0,0) size 117x13
</del><ins>+                  RenderInline {LABEL} at (0,0) size 115x13
</ins><span class="cx">                     RenderText {#text} at (0,0) size 0x0
</span><del>-                    RenderBlock {INPUT} at (12,3) size 13x12
-                    RenderText {#text} at (27,3) size 100x13
-                      text run at (27,3) width 100: &quot; Remember this location&quot;
</del><ins>+                    RenderBlock {INPUT} at (12,3) size 12x12
+                    RenderText {#text} at (26,3) size 99x13
+                      text run at (26,3) width 99: &quot; Remember this location&quot;
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderBlock (anonymous) at (0,39) size 784x18
</span><span class="cx">           RenderBR {BR} at (392,0) size 0x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacfasttextwhitespacenormalafternowrapbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,498 +5,498 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x584
</span><span class="cx">       RenderFieldSet {FIELDSET} at (2,0) size 780x371 [border: (2px groove #C0C0C0)]
</span><span class="cx">         RenderBlock {DIV} at (14,7) size 752x352
</span><del>-          RenderInline {DIV} at (0,0) size 121x18
-            RenderInline {DIV} at (0,0) size 121x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,0) size 50x34
</span><span class="cx">               RenderText {#text} at (50,20) size 4x18
</span><span class="cx">                 text run at (50,20) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,24) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (71,20) size 46x18
-                  text run at (71,20) width 46: &quot;Classic&quot;
-              RenderText {#text} at (116,20) size 5x18
-                text run at (116,20) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,24) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (70,20) size 45x18
+                  text run at (70,20) width 45: &quot;Classic&quot;
+              RenderText {#text} at (115,20) size 4x18
+                text run at (115,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 117x18
-            RenderInline {DIV} at (0,0) size 117x18
</del><ins>+          RenderInline {DIV} at (0,0) size 114x18
+            RenderInline {DIV} at (0,0) size 114x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (120,0) size 51x34
-              RenderText {#text} at (170,20) size 5x18
-                text run at (170,20) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (177,24) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (192,20) size 41x18
-                  text run at (192,20) width 41: &quot;Africa&quot;
-              RenderText {#text} at (232,20) size 5x18
-                text run at (232,20) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (119,0) size 50x34
+              RenderText {#text} at (169,20) size 4x18
+                text run at (169,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (175,24) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (189,20) size 40x18
+                  text run at (189,20) width 40: &quot;Africa&quot;
+              RenderText {#text} at (229,20) size 4x18
+                text run at (229,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 202x18
-            RenderInline {DIV} at (0,0) size 202x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (236,0) size 51x34
-              RenderText {#text} at (286,20) size 5x18
-                text run at (286,20) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (293,24) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (308,20) size 126x18
-                  text run at (308,20) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (433,20) size 5x18
-                text run at (433,20) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (233,0) size 50x34
+              RenderText {#text} at (283,20) size 4x18
+                text run at (283,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (289,24) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (303,20) size 125x18
+                  text run at (303,20) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (428,20) size 4x18
+                text run at (428,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (437,0) size 51x34
-              RenderText {#text} at (487,20) size 5x18
-                text run at (487,20) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (494,24) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (509,20) size 100x18
-                  text run at (509,20) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (608,20) size 5x18
-                text run at (608,20) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (432,0) size 50x34
+              RenderText {#text} at (482,20) size 4x18
+                text run at (482,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (488,24) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (502,20) size 99x18
+                  text run at (502,20) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (601,20) size 4x18
+                text run at (601,20) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 118x18
-            RenderInline {DIV} at (0,0) size 118x18
</del><ins>+          RenderInline {DIV} at (0,0) size 115x18
+            RenderInline {DIV} at (0,0) size 115x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (612,0) size 51x34
-              RenderText {#text} at (662,20) size 5x18
-                text run at (662,20) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (669,24) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (684,20) size 46x18
-                  text run at (684,20) width 46: &quot;Classic&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (605,0) size 50x34
+              RenderText {#text} at (655,20) size 4x18
+                text run at (655,20) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (661,24) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (675,20) size 45x18
+                  text run at (675,20) width 45: &quot;Classic&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 116x18
-            RenderInline {DIV} at (0,0) size 116x18
</del><ins>+          RenderInline {DIV} at (0,0) size 114x18
+            RenderInline {DIV} at (0,0) size 114x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,39) size 50x34
</span><span class="cx">               RenderText {#text} at (50,59) size 4x18
</span><span class="cx">                 text run at (50,59) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,63) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (71,59) size 41x18
-                  text run at (71,59) width 41: &quot;Africa&quot;
-              RenderText {#text} at (111,59) size 5x18
-                text run at (111,59) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,63) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (70,59) size 40x18
+                  text run at (70,59) width 40: &quot;Africa&quot;
+              RenderText {#text} at (110,59) size 4x18
+                text run at (110,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 202x18
-            RenderInline {DIV} at (0,0) size 202x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (115,39) size 51x34
-              RenderText {#text} at (165,59) size 5x18
-                text run at (165,59) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (172,63) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (187,59) size 126x18
-                  text run at (187,59) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (312,59) size 5x18
-                text run at (312,59) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (114,39) size 50x34
+              RenderText {#text} at (164,59) size 4x18
+                text run at (164,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (170,63) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (184,59) size 125x18
+                  text run at (184,59) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (309,59) size 4x18
+                text run at (309,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (316,39) size 51x34
-              RenderText {#text} at (366,59) size 5x18
-                text run at (366,59) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (373,63) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (388,59) size 100x18
-                  text run at (388,59) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (487,59) size 5x18
-                text run at (487,59) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (313,39) size 50x34
+              RenderText {#text} at (363,59) size 4x18
+                text run at (363,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (369,63) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (383,59) size 99x18
+                  text run at (383,59) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (482,59) size 4x18
+                text run at (482,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (491,39) size 51x34
-              RenderText {#text} at (541,59) size 5x18
-                text run at (541,59) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (548,63) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (563,59) size 46x18
-                  text run at (563,59) width 46: &quot;Classic&quot;
-              RenderText {#text} at (608,59) size 5x18
-                text run at (608,59) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (486,39) size 50x34
+              RenderText {#text} at (536,59) size 4x18
+                text run at (536,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (542,63) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (556,59) size 45x18
+                  text run at (556,59) width 45: &quot;Classic&quot;
+              RenderText {#text} at (601,59) size 4x18
+                text run at (601,59) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (612,39) size 51x34
-              RenderText {#text} at (662,59) size 5x18
-                text run at (662,59) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (669,63) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (684,59) size 41x18
-                  text run at (684,59) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (605,39) size 50x34
+              RenderText {#text} at (655,59) size 4x18
+                text run at (655,59) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (661,63) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (675,59) size 40x18
+                  text run at (675,59) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,78) size 50x34
</span><span class="cx">               RenderText {#text} at (50,98) size 4x18
</span><span class="cx">                 text run at (50,98) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,102) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,98) size 126x18
-                  text run at (71,98) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,98) size 5x18
-                text run at (196,98) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,102) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,98) size 125x18
+                  text run at (70,98) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,98) size 4x18
+                text run at (195,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,78) size 51x34
-              RenderText {#text} at (250,98) size 5x18
-                text run at (250,98) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,102) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,98) size 100x18
-                  text run at (272,98) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,98) size 5x18
-                text run at (371,98) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,78) size 50x34
+              RenderText {#text} at (249,98) size 4x18
+                text run at (249,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,102) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,98) size 99x18
+                  text run at (269,98) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,98) size 4x18
+                text run at (368,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,78) size 51x34
-              RenderText {#text} at (425,98) size 5x18
-                text run at (425,98) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,102) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,98) size 46x18
-                  text run at (447,98) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,98) size 5x18
-                text run at (492,98) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,78) size 50x34
+              RenderText {#text} at (422,98) size 4x18
+                text run at (422,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,102) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,98) size 45x18
+                  text run at (442,98) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,98) size 4x18
+                text run at (487,98) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,78) size 51x34
-              RenderText {#text} at (546,98) size 5x18
-                text run at (546,98) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,102) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,98) size 41x18
-                  text run at (568,98) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,78) size 50x34
+              RenderText {#text} at (541,98) size 4x18
+                text run at (541,98) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,102) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,98) size 40x18
+                  text run at (561,98) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,117) size 50x34
</span><span class="cx">               RenderText {#text} at (50,137) size 4x18
</span><span class="cx">                 text run at (50,137) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,141) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,137) size 126x18
-                  text run at (71,137) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,137) size 5x18
-                text run at (196,137) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,141) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,137) size 125x18
+                  text run at (70,137) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,137) size 4x18
+                text run at (195,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,117) size 51x34
-              RenderText {#text} at (250,137) size 5x18
-                text run at (250,137) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,141) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,137) size 100x18
-                  text run at (272,137) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,137) size 5x18
-                text run at (371,137) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,117) size 50x34
+              RenderText {#text} at (249,137) size 4x18
+                text run at (249,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,141) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,137) size 99x18
+                  text run at (269,137) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,137) size 4x18
+                text run at (368,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,117) size 51x34
-              RenderText {#text} at (425,137) size 5x18
-                text run at (425,137) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,141) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,137) size 46x18
-                  text run at (447,137) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,137) size 5x18
-                text run at (492,137) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,117) size 50x34
+              RenderText {#text} at (422,137) size 4x18
+                text run at (422,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,141) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,137) size 45x18
+                  text run at (442,137) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,137) size 4x18
+                text run at (487,137) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,117) size 51x34
-              RenderText {#text} at (546,137) size 5x18
-                text run at (546,137) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,141) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,137) size 41x18
-                  text run at (568,137) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,117) size 50x34
+              RenderText {#text} at (541,137) size 4x18
+                text run at (541,137) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,141) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,137) size 40x18
+                  text run at (561,137) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,156) size 50x34
</span><span class="cx">               RenderText {#text} at (50,176) size 4x18
</span><span class="cx">                 text run at (50,176) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,180) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,176) size 126x18
-                  text run at (71,176) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,176) size 5x18
-                text run at (196,176) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,180) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,176) size 125x18
+                  text run at (70,176) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,176) size 4x18
+                text run at (195,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,156) size 51x34
-              RenderText {#text} at (250,176) size 5x18
-                text run at (250,176) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,180) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,176) size 100x18
-                  text run at (272,176) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,176) size 5x18
-                text run at (371,176) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,156) size 50x34
+              RenderText {#text} at (249,176) size 4x18
+                text run at (249,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,180) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,176) size 99x18
+                  text run at (269,176) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,176) size 4x18
+                text run at (368,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,156) size 51x34
-              RenderText {#text} at (425,176) size 5x18
-                text run at (425,176) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,180) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,176) size 46x18
-                  text run at (447,176) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,176) size 5x18
-                text run at (492,176) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,156) size 50x34
+              RenderText {#text} at (422,176) size 4x18
+                text run at (422,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,180) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,176) size 45x18
+                  text run at (442,176) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,176) size 4x18
+                text run at (487,176) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,156) size 51x34
-              RenderText {#text} at (546,176) size 5x18
-                text run at (546,176) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,180) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,176) size 41x18
-                  text run at (568,176) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,156) size 50x34
+              RenderText {#text} at (541,176) size 4x18
+                text run at (541,176) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,180) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,176) size 40x18
+                  text run at (561,176) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,195) size 50x34
</span><span class="cx">               RenderText {#text} at (50,215) size 4x18
</span><span class="cx">                 text run at (50,215) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,219) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,215) size 126x18
-                  text run at (71,215) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,215) size 5x18
-                text run at (196,215) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,219) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,215) size 125x18
+                  text run at (70,215) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,215) size 4x18
+                text run at (195,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,195) size 51x34
-              RenderText {#text} at (250,215) size 5x18
-                text run at (250,215) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,219) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,215) size 100x18
-                  text run at (272,215) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,215) size 5x18
-                text run at (371,215) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,195) size 50x34
+              RenderText {#text} at (249,215) size 4x18
+                text run at (249,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,219) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,215) size 99x18
+                  text run at (269,215) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,215) size 4x18
+                text run at (368,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,195) size 51x34
-              RenderText {#text} at (425,215) size 5x18
-                text run at (425,215) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,219) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,215) size 46x18
-                  text run at (447,215) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,215) size 5x18
-                text run at (492,215) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,195) size 50x34
+              RenderText {#text} at (422,215) size 4x18
+                text run at (422,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,219) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,215) size 45x18
+                  text run at (442,215) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,215) size 4x18
+                text run at (487,215) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,195) size 51x34
-              RenderText {#text} at (546,215) size 5x18
-                text run at (546,215) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,219) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,215) size 41x18
-                  text run at (568,215) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,195) size 50x34
+              RenderText {#text} at (541,215) size 4x18
+                text run at (541,215) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,219) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,215) size 40x18
+                  text run at (561,215) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,234) size 50x34
</span><span class="cx">               RenderText {#text} at (50,254) size 4x18
</span><span class="cx">                 text run at (50,254) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,258) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,254) size 126x18
-                  text run at (71,254) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,254) size 5x18
-                text run at (196,254) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,258) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,254) size 125x18
+                  text run at (70,254) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,254) size 4x18
+                text run at (195,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,234) size 51x34
-              RenderText {#text} at (250,254) size 5x18
-                text run at (250,254) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,258) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,254) size 100x18
-                  text run at (272,254) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,254) size 5x18
-                text run at (371,254) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,234) size 50x34
+              RenderText {#text} at (249,254) size 4x18
+                text run at (249,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,258) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,254) size 99x18
+                  text run at (269,254) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,254) size 4x18
+                text run at (368,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,234) size 51x34
-              RenderText {#text} at (425,254) size 5x18
-                text run at (425,254) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,258) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,254) size 46x18
-                  text run at (447,254) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,254) size 5x18
-                text run at (492,254) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,234) size 50x34
+              RenderText {#text} at (422,254) size 4x18
+                text run at (422,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,258) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,254) size 45x18
+                  text run at (442,254) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,254) size 4x18
+                text run at (487,254) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,234) size 51x34
-              RenderText {#text} at (546,254) size 5x18
-                text run at (546,254) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,258) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,254) size 41x18
-                  text run at (568,254) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,234) size 50x34
+              RenderText {#text} at (541,254) size 4x18
+                text run at (541,254) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,258) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,254) size 40x18
+                  text run at (561,254) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,273) size 50x34
</span><span class="cx">               RenderText {#text} at (50,293) size 4x18
</span><span class="cx">                 text run at (50,293) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,297) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,293) size 126x18
-                  text run at (71,293) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,293) size 5x18
-                text run at (196,293) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,297) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,293) size 125x18
+                  text run at (70,293) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,293) size 4x18
+                text run at (195,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 176x18
-            RenderInline {DIV} at (0,0) size 176x18
</del><ins>+          RenderInline {DIV} at (0,0) size 173x18
+            RenderInline {DIV} at (0,0) size 173x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,273) size 51x34
-              RenderText {#text} at (250,293) size 5x18
-                text run at (250,293) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,297) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,293) size 100x18
-                  text run at (272,293) width 100: &quot;Ancient Greece&quot;
-              RenderText {#text} at (371,293) size 5x18
-                text run at (371,293) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,273) size 50x34
+              RenderText {#text} at (249,293) size 4x18
+                text run at (249,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,297) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,293) size 99x18
+                  text run at (269,293) width 99: &quot;Ancient Greece&quot;
+              RenderText {#text} at (368,293) size 4x18
+                text run at (368,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 122x18
-            RenderInline {DIV} at (0,0) size 122x18
</del><ins>+          RenderInline {DIV} at (0,0) size 119x18
+            RenderInline {DIV} at (0,0) size 119x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (375,273) size 51x34
-              RenderText {#text} at (425,293) size 5x18
-                text run at (425,293) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (432,297) size 13x12
-              RenderInline {LABEL} at (0,0) size 46x18
-                RenderText {#text} at (447,293) size 46x18
-                  text run at (447,293) width 46: &quot;Classic&quot;
-              RenderText {#text} at (492,293) size 5x18
-                text run at (492,293) width 5: &quot; &quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (372,273) size 50x34
+              RenderText {#text} at (422,293) size 4x18
+                text run at (422,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (428,297) size 12x12
+              RenderInline {LABEL} at (0,0) size 45x18
+                RenderText {#text} at (442,293) size 45x18
+                  text run at (442,293) width 45: &quot;Classic&quot;
+              RenderText {#text} at (487,293) size 4x18
+                text run at (487,293) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 113x18
-            RenderInline {DIV} at (0,0) size 113x18
</del><ins>+          RenderInline {DIV} at (0,0) size 110x18
+            RenderInline {DIV} at (0,0) size 110x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (496,273) size 51x34
-              RenderText {#text} at (546,293) size 5x18
-                text run at (546,293) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (553,297) size 13x12
-              RenderInline {LABEL} at (0,0) size 41x18
-                RenderText {#text} at (568,293) size 41x18
-                  text run at (568,293) width 41: &quot;Africa&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (491,273) size 50x34
+              RenderText {#text} at (541,293) size 4x18
+                text run at (541,293) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (547,297) size 12x12
+              RenderInline {LABEL} at (0,0) size 40x18
+                RenderText {#text} at (561,293) size 40x18
+                  text run at (561,293) width 40: &quot;Africa&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 201x18
-            RenderInline {DIV} at (0,0) size 201x18
</del><ins>+          RenderInline {DIV} at (0,0) size 199x18
+            RenderInline {DIV} at (0,0) size 199x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
</span><span class="cx">                 RenderImage {IMG} at (0,312) size 50x34
</span><span class="cx">               RenderText {#text} at (50,332) size 4x18
</span><span class="cx">                 text run at (50,332) width 4: &quot; &quot;
</span><del>-              RenderBlock {INPUT} at (56,336) size 13x12
-              RenderInline {LABEL} at (0,0) size 126x18
-                RenderText {#text} at (71,332) size 126x18
-                  text run at (71,332) width 126: &quot;Alexander's Empire&quot;
-              RenderText {#text} at (196,332) size 5x18
-                text run at (196,332) width 5: &quot; &quot;
</del><ins>+              RenderBlock {INPUT} at (56,336) size 12x12
+              RenderInline {LABEL} at (0,0) size 125x18
+                RenderText {#text} at (70,332) size 125x18
+                  text run at (70,332) width 125: &quot;Alexander's Empire&quot;
+              RenderText {#text} at (195,332) size 4x18
+                text run at (195,332) width 4: &quot; &quot;
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><del>-          RenderInline {DIV} at (0,0) size 172x18
-            RenderInline {DIV} at (0,0) size 172x18
</del><ins>+          RenderInline {DIV} at (0,0) size 169x18
+            RenderInline {DIV} at (0,0) size 169x18
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><del>-              RenderInline {A} at (0,0) size 51x18 [color=#0000EE]
-                RenderImage {IMG} at (200,312) size 51x34
-              RenderText {#text} at (250,332) size 5x18
-                text run at (250,332) width 5: &quot; &quot;
-              RenderBlock {INPUT} at (257,336) size 13x12
-              RenderInline {LABEL} at (0,0) size 100x18
-                RenderText {#text} at (272,332) size 100x18
-                  text run at (272,332) width 100: &quot;Ancient Greece&quot;
</del><ins>+              RenderInline {A} at (0,0) size 50x18 [color=#0000EE]
+                RenderImage {IMG} at (199,312) size 50x34
+              RenderText {#text} at (249,332) size 4x18
+                text run at (249,332) width 4: &quot; &quot;
+              RenderBlock {INPUT} at (255,336) size 12x12
+              RenderInline {LABEL} at (0,0) size 99x18
+                RenderText {#text} at (269,332) size 99x18
+                  text run at (269,332) width 99: &quot;Ancient Greece&quot;
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmachttptestsnavigationjavascriptlinkframesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">               RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
</span><span class="cx">               RenderBlock {FORM} at (0,293) size 769x428
</span><span class="cx">                 RenderButton {INPUT} at (2,2) size 110x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 94x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 94x13
</ins><span class="cx">                     RenderText at (0,0) size 94x13
</span><span class="cx">                       text run at (0,0) width 94: &quot;Submit with POST&quot;
</span><span class="cx">                 RenderBR {BR} at (113,15) size 1x0
</span><span class="cx">                 RenderButton {INPUT} at (2,24) size 230x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 214x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 214x13
</ins><span class="cx">                     RenderText at (0,0) size 214x13
</span><span class="cx">                       text run at (0,0) width 214: &quot;Submit with POST followed by a redirect&quot;
</span><span class="cx">                 RenderBR {BR} at (233,37) size 1x0
</span><span class="lines">@@ -40,22 +40,22 @@
</span><span class="cx">                   text run at (0,81) width 334: &quot;that we can use for testing&quot;
</span><span class="cx">                 RenderTextControl {INPUT} at (336,96) size 146x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                 RenderBR {BR} at (483,110) size 1x0
</span><del>-                RenderBlock {INPUT} at (2,136) size 13x13
-                RenderText {#text} at (17,118) size 74x37
-                  text run at (17,118) width 74: &quot; Male&quot;
-                RenderBR {BR} at (90,147) size 1x0
-                RenderBlock {INPUT} at (2,173) size 13x13
-                RenderText {#text} at (17,155) size 103x37
-                  text run at (17,155) width 103: &quot; Female&quot;
-                RenderBR {BR} at (119,184) size 1x0
-                RenderBlock {INPUT} at (2,211) size 13x12
-                RenderText {#text} at (17,192) size 131x37
-                  text run at (17,192) width 131: &quot; option #1&quot;
-                RenderBR {BR} at (147,221) size 1x0
-                RenderBlock {INPUT} at (2,248) size 13x12
-                RenderText {#text} at (17,229) size 131x37
-                  text run at (17,229) width 131: &quot; option #2&quot;
-                RenderBR {BR} at (147,258) size 1x0
</del><ins>+                RenderBlock {INPUT} at (2,136) size 12x13
+                RenderText {#text} at (16,118) size 73x37
+                  text run at (16,118) width 73: &quot; Male&quot;
+                RenderBR {BR} at (89,147) size 0x0
+                RenderBlock {INPUT} at (2,173) size 12x13
+                RenderText {#text} at (16,155) size 102x37
+                  text run at (16,155) width 102: &quot; Female&quot;
+                RenderBR {BR} at (118,184) size 0x0
+                RenderBlock {INPUT} at (2,211) size 12x12
+                RenderText {#text} at (16,192) size 130x37
+                  text run at (16,192) width 130: &quot; option #1&quot;
+                RenderBR {BR} at (146,221) size 0x0
+                RenderBlock {INPUT} at (2,248) size 12x12
+                RenderText {#text} at (16,229) size 130x37
+                  text run at (16,229) width 130: &quot; option #2&quot;
+                RenderBR {BR} at (146,258) size 0x0
</ins><span class="cx">                 RenderMenuList {SELECT} at (2,268) size 253x18 [bgcolor=#FFFFFF]
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 253x18
</span><span class="cx">                     RenderText at (8,2) size 63x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacsvgcustomforeignobjectskewexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/mac/svg/custom/foreign-object-skew-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac/svg/custom/foreign-object-skew-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/mac/svg/custom/foreign-object-skew-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (9,9) size 791x591
+    RenderSVGForeignObject {foreignObject} at (10,10) size 580x380
+      RenderBlock {xhtml:div} at (0,0) size 580x18
+        RenderText {#text} at (0,0) size 78x18
+          text run at (0,0) width 78: &quot;This is a test&quot;
+      RenderBlock (anonymous) at (0,18) size 580x40
+        RenderInline {xhtml:a} at (0,0) size 66x18 [color=#0000EE]
+          RenderText {#text} at (0,0) size 66x18
+            text run at (0,0) width 66: &quot;and a link.&quot;
+        RenderBR {xhtml:br} at (66,0) size 0x18
+        RenderButton {xhtml:input} at (2,20) size 16x18 [bgcolor=#C0C0C0]
+        RenderText {#text} at (0,0) size 0x0
+    RenderSVGRect {rect} at (9,9) size 582x382 [stroke={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=580.00] [height=380.00]
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection36907032expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -84,11 +84,11 @@
</span><span class="cx">                   RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                   RenderBR {BR} at (302,16) size 0x0
</span><span class="cx">                   RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 77x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 77x13
</ins><span class="cx">                       RenderText at (0,0) size 77x13
</span><span class="cx">                         text run at (0,0) width 77: &quot;Google Search&quot;
</span><span class="cx">                   RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 92x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 92x13
</ins><span class="cx">                       RenderText at (0,0) size 92x13
</span><span class="cx">                         text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
</span><span class="cx">                 RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection3690703expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690703-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -86,11 +86,11 @@
</span><span class="cx">                   RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                   RenderBR {BR} at (302,16) size 0x0
</span><span class="cx">                   RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 77x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 77x13
</ins><span class="cx">                       RenderText at (0,0) size 77x13
</span><span class="cx">                         text run at (0,0) width 77: &quot;Google Search&quot;
</span><span class="cx">                   RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 92x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 92x13
</ins><span class="cx">                       RenderText at (0,0) size 92x13
</span><span class="cx">                         text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
</span><span class="cx">                 RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlioneditingselection3690719expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690719-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690719-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/editing/selection/3690719-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -78,11 +78,11 @@
</span><span class="cx">                   RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                   RenderBR {BR} at (302,16) size 0x0
</span><span class="cx">                   RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 77x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 77x13
</ins><span class="cx">                       RenderText at (0,0) size 77x13
</span><span class="cx">                         text run at (0,0) width 77: &quot;Google Search&quot;
</span><span class="cx">                   RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 92x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 92x13
</ins><span class="cx">                       RenderText at (0,0) size 92x13
</span><span class="cx">                         text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
</span><span class="cx">                 RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastblockmargincollapse103expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/block/margin-collapse/103-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/block/margin-collapse/103-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -80,17 +80,17 @@
</span><span class="cx">               RenderText {#text} at (0,2) size 220x15
</span><span class="cx">                 text run at (0,2) width 220: &quot;Your research is primarily focused on:&quot;
</span><span class="cx">             RenderBlock {SPAN} at (325,250) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (2,3) size 13x13 [color=#000000]
-              RenderText {#text} at (17,2) size 33x15
-                text run at (17,2) width 33: &quot;Texts&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 12x13 [color=#000000]
+              RenderText {#text} at (16,2) size 32x15
+                text run at (16,2) width 32: &quot;Texts&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,270) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (2,3) size 13x13 [color=#000000]
-              RenderText {#text} at (17,2) size 134x15
-                text run at (17,2) width 134: &quot;Performance materials&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 12x13 [color=#000000]
+              RenderText {#text} at (16,2) size 133x15
+                text run at (16,2) width 133: &quot;Performance materials&quot;
</ins><span class="cx">             RenderBlock {SPAN} at (325,290) size 180x21 [color=#333333]
</span><del>-              RenderBlock {INPUT} at (2,3) size 13x13 [color=#000000]
-              RenderText {#text} at (17,2) size 22x15
-                text run at (17,2) width 22: &quot;n/a&quot;
</del><ins>+              RenderBlock {INPUT} at (2,3) size 12x13 [color=#000000]
+              RenderText {#text} at (16,2) size 21x15
+                text run at (16,2) width 21: &quot;n/a&quot;
</ins><span class="cx">             RenderBlock {H2} at (0,335) size 560x17 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,0) size 374x16
</span><span class="cx">                 text run at (0,0) width 374: &quot;INTERNET SHAKESPEARE EDITIONS QUESTIONS&quot;
</span><span class="lines">@@ -100,11 +100,11 @@
</span><span class="cx">             RenderBlock {SPAN} at (325,361) size 180x21 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,2) size 19x15
</span><span class="cx">                 text run at (0,2) width 19: &quot;Yes&quot;
</span><del>-              RenderBlock {INPUT} at (21,3) size 13x13 [color=#000000]
-              RenderText {#text} at (36,2) size 20x15
-                text run at (36,2) width 5: &quot; &quot;
-                text run at (40,2) width 16: &quot;No&quot;
-              RenderBlock {INPUT} at (58,3) size 13x13 [color=#000000]
</del><ins>+              RenderBlock {INPUT} at (21,3) size 12x13 [color=#000000]
+              RenderText {#text} at (35,2) size 19x15
+                text run at (35,2) width 4: &quot; &quot;
+                text run at (39,2) width 15: &quot;No&quot;
+              RenderBlock {INPUT} at (56,3) size 12x13 [color=#000000]
</ins><span class="cx">               RenderText {#text} at (0,0) size 0x0
</span><span class="cx">             RenderBlock {P} at (0,394) size 560x21 [color=#333333]
</span><span class="cx">               RenderText {#text} at (0,2) size 378x15
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastcsscontinuationCrashexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/continuationCrash-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/continuationCrash-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/continuationCrash-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -48,19 +48,19 @@
</span><span class="cx">             text run at (0,0) width 201: &quot;2. 3. will not crash Safari either.&quot;
</span><span class="cx">         RenderBlock (anonymous) at (40,144) size 744x22
</span><span class="cx">           RenderButton {INPUT} at (2,2) size 136x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 120x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 120x13
</ins><span class="cx">               RenderText at (0,0) size 120x13
</span><span class="cx">                 text run at (0,0) width 120: &quot;1. Set outline property&quot;
</span><span class="cx">           RenderText {#text} at (139,1) size 5x18
</span><span class="cx">             text run at (139,1) width 5: &quot; &quot;
</span><span class="cx">           RenderButton {INPUT} at (145,2) size 137x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 121x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 121x13
</ins><span class="cx">               RenderText at (0,0) size 121x13
</span><span class="cx">                 text run at (0,0) width 121: &quot;2. Set display property&quot;
</span><span class="cx">           RenderText {#text} at (283,1) size 5x18
</span><span class="cx">             text run at (283,1) width 5: &quot; &quot;
</span><span class="cx">           RenderButton {INPUT} at (289,2) size 150x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 133x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 133x13
</ins><span class="cx">               RenderText at (0,0) size 133x13
</span><span class="cx">                 text run at (0,0) width 133: &quot;3. Replace span-element&quot;
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastcssmargintopbottomdynamicexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/margin-top-bottom-dynamic-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/margin-top-bottom-dynamic-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/css/margin-top-bottom-dynamic-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,13 +36,13 @@
</span><span class="cx">       RenderBlock (anonymous) at (0,270) size 784x40
</span><span class="cx">         RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,20) size 104x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 88x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 88x13
</ins><span class="cx">             RenderText at (0,0) size 88x13
</span><span class="cx">               text run at (0,0) width 88: &quot;Negative margin&quot;
</span><span class="cx">         RenderText {#text} at (107,19) size 5x18
</span><span class="cx">           text run at (107,19) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (113,20) size 99x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 82x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 82x13
</ins><span class="cx">             RenderText at (0,0) size 82x13
</span><span class="cx">               text run at (0,0) width 82: &quot;Positive margin&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="lines">@@ -59,13 +59,13 @@
</span><span class="cx">       RenderBlock (anonymous) at (0,432) size 784x40
</span><span class="cx">         RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,20) size 104x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 88x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 88x13
</ins><span class="cx">             RenderText at (0,0) size 88x13
</span><span class="cx">               text run at (0,0) width 88: &quot;Negative margin&quot;
</span><span class="cx">         RenderText {#text} at (107,19) size 5x18
</span><span class="cx">           text run at (107,19) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (113,20) size 99x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 82x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 82x13
</ins><span class="cx">             RenderText at (0,0) size 82x13
</span><span class="cx">               text run at (0,0) width 82: &quot;Positive margin&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastdomHTMLTextAreaElementresettextareaexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,7 +9,7 @@
</span><span class="cx">         RenderText {#text} at (334,22) size 4x18
</span><span class="cx">           text run at (334,22) width 4: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (340,23) size 45x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">             RenderText at (0,0) size 29x13
</span><span class="cx">               text run at (0,0) width 29: &quot;Reset&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbasicinputsexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/basic-inputs-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/basic-inputs-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/basic-inputs-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,21 +51,21 @@
</span><span class="cx">       RenderBlock {DIV} at (10,374) size 450x21 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,1) size 7x18
</span><span class="cx">           text run at (1,1) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (10,5) size 13x12
-        RenderText {#text} at (25,1) size 66x18
-          text run at (25,1) width 66: &quot;checkbox &quot;
-        RenderBlock {INPUT} at (93,5) size 13x12
-        RenderText {#text} at (108,1) size 9x18
-          text run at (108,1) width 9: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,5) size 12x12
+        RenderText {#text} at (24,1) size 65x18
+          text run at (24,1) width 65: &quot;checkbox &quot;
+        RenderBlock {INPUT} at (91,5) size 12x12
+        RenderText {#text} at (105,1) size 8x18
+          text run at (105,1) width 8: &quot;b&quot;
</ins><span class="cx">       RenderBlock {DIV} at (10,405) size 450x21 [border: (1px solid #FF0000)]
</span><span class="cx">         RenderText {#text} at (1,1) size 7x18
</span><span class="cx">           text run at (1,1) width 7: &quot;a&quot;
</span><del>-        RenderBlock {INPUT} at (10,4) size 13x13
-        RenderText {#text} at (25,1) size 37x18
-          text run at (25,1) width 37: &quot;radio &quot;
-        RenderBlock {INPUT} at (64,4) size 13x13
-        RenderText {#text} at (79,1) size 9x18
-          text run at (79,1) width 9: &quot;b&quot;
</del><ins>+        RenderBlock {INPUT} at (10,4) size 12x13
+        RenderText {#text} at (24,1) size 36x18
+          text run at (24,1) width 36: &quot;radio &quot;
+        RenderBlock {INPUT} at (62,4) size 12x13
+        RenderText {#text} at (76,1) size 8x18
+          text run at (76,1) width 8: &quot;b&quot;
</ins><span class="cx"> layer at (31,330) size 117x13 scrollWidth 165
</span><span class="cx">   RenderBlock {DIV} at (3,3) size 117x13
</span><span class="cx">     RenderText {#text} at (0,0) size 164x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsboxshadowoverrideexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/box-shadow-override-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/box-shadow-override-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,44 +31,44 @@
</span><span class="cx">             RenderBlock {DIV} at (139,1) size 13x11
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,137) size 784x32
</span><del>-        RenderBlock {INPUT} at (2,12) size 13x13
-        RenderText {#text} at (17,9) size 5x18
-          text run at (17,9) width 5: &quot; &quot;
-        RenderBlock {INPUT} at (24,13) size 13x12
-        RenderText {#text} at (39,9) size 5x18
-          text run at (39,9) width 5: &quot; &quot;
-        RenderSlider {INPUT} at (45,8) size 130x15 [color=#909090] [bgcolor=#FFFFFF]
</del><ins>+        RenderBlock {INPUT} at (2,12) size 12x13
+        RenderText {#text} at (16,9) size 4x18
+          text run at (16,9) width 4: &quot; &quot;
+        RenderBlock {INPUT} at (22,13) size 12x12
+        RenderText {#text} at (36,9) size 4x18
+          text run at (36,9) width 4: &quot; &quot;
+        RenderSlider {INPUT} at (42,8) size 129x15 [color=#909090] [bgcolor=#FFFFFF]
</ins><span class="cx">           RenderFlexibleBox {DIV} at (0,0) size 129x15
</span><span class="cx">             RenderBlock {DIV} at (0,0) size 129x15
</span><span class="cx">               RenderBlock {DIV} at (57,0) size 15x15
</span><del>-        RenderText {#text} at (176,9) size 5x18
-          text run at (176,9) width 5: &quot; &quot;
-        RenderFileUploadControl {INPUT} at (182,10) size 238x18 &quot;no file selected&quot;
</del><ins>+        RenderText {#text} at (173,9) size 4x18
+          text run at (173,9) width 4: &quot; &quot;
+        RenderFileUploadControl {INPUT} at (179,10) size 237x18 &quot;no file selected&quot;
</ins><span class="cx">           RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">               RenderText at (0,0) size 62x13
</span><span class="cx">                 text run at (0,0) width 62: &quot;Choose File&quot;
</span><del>-        RenderText {#text} at (421,9) size 5x18
-          text run at (421,9) width 5: &quot; &quot;
-        RenderButton {INPUT} at (427,8) size 58x21 [bgcolor=#C0C0C0]
-          RenderBlock (anonymous) at (8,2) size 42x17
</del><ins>+        RenderText {#text} at (418,9) size 4x18
+          text run at (418,9) width 4: &quot; &quot;
+        RenderButton {INPUT} at (424,8) size 58x21 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 42x16
</ins><span class="cx">             RenderText at (0,0) size 42x16
</span><span class="cx">               text run at (0,0) width 42: &quot;Button&quot;
</span><del>-        RenderText {#text} at (486,9) size 5x18
-          text run at (486,9) width 5: &quot; &quot;
-        RenderButton {INPUT} at (492,10) size 52x18 [bgcolor=#C0C0C0]
-          RenderBlock (anonymous) at (8,2) size 35x14
</del><ins>+        RenderText {#text} at (483,9) size 5x18
+          text run at (483,9) width 5: &quot; &quot;
+        RenderButton {INPUT} at (489,10) size 52x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 35x13
</ins><span class="cx">             RenderText at (0,0) size 35x13
</span><span class="cx">               text run at (0,0) width 35: &quot;Button&quot;
</span><del>-        RenderText {#text} at (545,9) size 5x18
-          text run at (545,9) width 5: &quot; &quot;
-        RenderButton {INPUT} at (549,12) size 46x15 [bgcolor=#C0C0C0]
</del><ins>+        RenderText {#text} at (542,9) size 5x18
+          text run at (542,9) width 5: &quot; &quot;
+        RenderButton {INPUT} at (546,12) size 45x15 [bgcolor=#C0C0C0]
</ins><span class="cx">           RenderBlock (anonymous) at (8,2) size 29x11
</span><span class="cx">             RenderText at (0,0) size 29x11
</span><span class="cx">               text run at (0,0) width 29: &quot;Button&quot;
</span><del>-        RenderText {#text} at (594,9) size 5x18
-          text run at (594,9) width 5: &quot; &quot;
-        RenderButton {BUTTON} at (600,2) size 81x28 [bgcolor=#C0C0C0] [border: none (2px outset #C0C0C0) none (2px outset #C0C0C0)]
</del><ins>+        RenderText {#text} at (590,9) size 5x18
+          text run at (590,9) width 5: &quot; &quot;
+        RenderButton {BUTTON} at (596,2) size 81x28 [bgcolor=#C0C0C0] [border: none (2px outset #C0C0C0) none (2px outset #C0C0C0)]
</ins><span class="cx">           RenderBlock (anonymous) at (8,2) size 64x23
</span><span class="cx">             RenderText {#text} at (0,0) size 64x23
</span><span class="cx">               text run at (0,0) width 64: &quot;Button&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonpositionedexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-positioned-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-positioned-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-positioned-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -10,6 +10,6 @@
</span><span class="cx">         text run at (0,0) width 138: &quot;This button is positioned.&quot;
</span><span class="cx"> layer at (10,10) size 175x18
</span><span class="cx">   RenderButton {INPUT} at (10,10) size 175x18 [bgcolor=#C0C0C0]
</span><del>-    RenderBlock (anonymous) at (8,2) size 159x14
</del><ins>+    RenderBlock (anonymous) at (8,2) size 159x13
</ins><span class="cx">       RenderText at (0,0) size 159x13
</span><span class="cx">         text run at (0,0) width 159: &quot;This button is also positioned&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonsizesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-sizes-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-sizes-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-sizes-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">       RenderText {#text} at (451,3) size 5x18
</span><span class="cx">         text run at (451,3) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (457,4) size 79x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (537,3) size 5x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttonstylecolorexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-style-color-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-style-color-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-style-color-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,13 +28,13 @@
</span><span class="cx">       RenderText {#text} at (337,3) size 5x18
</span><span class="cx">         text run at (337,3) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (343,4) size 78x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (422,3) size 5x18
</span><span class="cx">         text run at (422,3) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (428,4) size 78x18 [color=#FF0000] [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (507,3) size 5x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttontablestylesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-table-styles-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-table-styles-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-table-styles-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -8,24 +8,24 @@
</span><span class="cx">           text run at (0,0) width 342: &quot;This tests that buttons don't honor table display styles. &quot;
</span><span class="cx">         RenderBR {BR} at (342,14) size 0x0
</span><span class="cx">       RenderButton {INPUT} at (2,20) size 88x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 72x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 72x13
</ins><span class="cx">           RenderText at (0,0) size 72x13
</span><span class="cx">             text run at (0,0) width 72: &quot;display: table&quot;
</span><span class="cx">       RenderButton {INPUT} at (2,40) size 88x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 72x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 72x13
</ins><span class="cx">           RenderText at (0,0) size 72x13
</span><span class="cx">             text run at (0,0) width 72: &quot;display: table&quot;
</span><span class="cx">       RenderBlock (anonymous) at (0,60) size 784x378
</span><span class="cx">         RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">         RenderBR {BR} at (0,18) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,38) size 123x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 107x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 107x13
</ins><span class="cx">             RenderText at (0,0) size 107x13
</span><span class="cx">               text run at (0,0) width 107: &quot;display: inline-table&quot;
</span><span class="cx">         RenderText {#text} at (126,37) size 5x18
</span><span class="cx">           text run at (126,37) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (132,38) size 124x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 107x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 107x13
</ins><span class="cx">             RenderText at (0,0) size 107x13
</span><span class="cx">               text run at (0,0) width 107: &quot;display: inline-table&quot;
</span><span class="cx">         RenderText {#text} at (257,37) size 5x18
</span><span class="lines">@@ -33,13 +33,13 @@
</span><span class="cx">         RenderBR {BR} at (261,51) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,58) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,78) size 152x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 136x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 136x13
</ins><span class="cx">             RenderText at (0,0) size 136x13
</span><span class="cx">               text run at (0,0) width 136: &quot;display: table-row-group&quot;
</span><span class="cx">         RenderText {#text} at (155,77) size 5x18
</span><span class="cx">           text run at (155,77) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (161,78) size 152x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 136x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 136x13
</ins><span class="cx">             RenderText at (0,0) size 136x13
</span><span class="cx">               text run at (0,0) width 136: &quot;display: table-row-group&quot;
</span><span class="cx">         RenderText {#text} at (314,77) size 5x18
</span><span class="lines">@@ -47,13 +47,13 @@
</span><span class="cx">         RenderBR {BR} at (318,91) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,98) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,118) size 169x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 153x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 153x13
</ins><span class="cx">             RenderText at (0,0) size 153x13
</span><span class="cx">               text run at (0,0) width 153: &quot;display: table-header-group&quot;
</span><span class="cx">         RenderText {#text} at (172,117) size 5x18
</span><span class="cx">           text run at (172,117) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (178,118) size 169x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 153x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 153x13
</ins><span class="cx">             RenderText at (0,0) size 153x13
</span><span class="cx">               text run at (0,0) width 153: &quot;display: table-header-group&quot;
</span><span class="cx">         RenderText {#text} at (348,117) size 5x18
</span><span class="lines">@@ -61,13 +61,13 @@
</span><span class="cx">         RenderBR {BR} at (352,131) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,138) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,158) size 164x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 148x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 148x13
</ins><span class="cx">             RenderText at (0,0) size 148x13
</span><span class="cx">               text run at (0,0) width 148: &quot;display: table-footer-group&quot;
</span><span class="cx">         RenderText {#text} at (167,157) size 5x18
</span><span class="cx">           text run at (167,157) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (173,158) size 165x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 148x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 148x13
</ins><span class="cx">             RenderText at (0,0) size 148x13
</span><span class="cx">               text run at (0,0) width 148: &quot;display: table-footer-group&quot;
</span><span class="cx">         RenderText {#text} at (339,157) size 5x18
</span><span class="lines">@@ -75,13 +75,13 @@
</span><span class="cx">         RenderBR {BR} at (343,171) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,178) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,198) size 114x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 98x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 98x13
</ins><span class="cx">             RenderText at (0,0) size 98x13
</span><span class="cx">               text run at (0,0) width 98: &quot;display: table-row&quot;
</span><span class="cx">         RenderText {#text} at (117,197) size 5x18
</span><span class="cx">           text run at (117,197) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (123,198) size 114x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 98x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 98x13
</ins><span class="cx">             RenderText at (0,0) size 98x13
</span><span class="cx">               text run at (0,0) width 98: &quot;display: table-row&quot;
</span><span class="cx">         RenderText {#text} at (238,197) size 5x18
</span><span class="lines">@@ -89,13 +89,13 @@
</span><span class="cx">         RenderBR {BR} at (242,211) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,218) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,238) size 172x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 156x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 156x13
</ins><span class="cx">             RenderText at (0,0) size 156x13
</span><span class="cx">               text run at (0,0) width 156: &quot;display: table-column-group&quot;
</span><span class="cx">         RenderText {#text} at (175,237) size 5x18
</span><span class="cx">           text run at (175,237) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (181,238) size 172x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 156x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 156x13
</ins><span class="cx">             RenderText at (0,0) size 156x13
</span><span class="cx">               text run at (0,0) width 156: &quot;display: table-column-group&quot;
</span><span class="cx">         RenderText {#text} at (354,237) size 5x18
</span><span class="lines">@@ -103,13 +103,13 @@
</span><span class="cx">         RenderBR {BR} at (358,251) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,258) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,278) size 133x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 117x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 117x13
</ins><span class="cx">             RenderText at (0,0) size 117x13
</span><span class="cx">               text run at (0,0) width 117: &quot;display: table-column&quot;
</span><span class="cx">         RenderText {#text} at (136,277) size 5x18
</span><span class="cx">           text run at (136,277) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (142,278) size 134x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 117x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 117x13
</ins><span class="cx">             RenderText at (0,0) size 117x13
</span><span class="cx">               text run at (0,0) width 117: &quot;display: table-column&quot;
</span><span class="cx">         RenderText {#text} at (277,277) size 5x18
</span><span class="lines">@@ -117,13 +117,13 @@
</span><span class="cx">         RenderBR {BR} at (281,291) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,298) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,318) size 112x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 96x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 96x13
</ins><span class="cx">             RenderText at (0,0) size 96x13
</span><span class="cx">               text run at (0,0) width 96: &quot;display: table-cell&quot;
</span><span class="cx">         RenderText {#text} at (115,317) size 5x18
</span><span class="cx">           text run at (115,317) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (121,318) size 113x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 96x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 96x13
</ins><span class="cx">             RenderText at (0,0) size 96x13
</span><span class="cx">               text run at (0,0) width 96: &quot;display: table-cell&quot;
</span><span class="cx">         RenderText {#text} at (235,317) size 5x18
</span><span class="lines">@@ -131,13 +131,13 @@
</span><span class="cx">         RenderBR {BR} at (239,331) size 1x0
</span><span class="cx">         RenderBR {BR} at (0,338) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,358) size 133x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 117x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 117x13
</ins><span class="cx">             RenderText at (0,0) size 117x13
</span><span class="cx">               text run at (0,0) width 117: &quot;display: table-caption&quot;
</span><span class="cx">         RenderText {#text} at (136,357) size 5x18
</span><span class="cx">           text run at (136,357) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (142,358) size 134x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 117x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 117x13
</ins><span class="cx">             RenderText at (0,0) size 117x13
</span><span class="cx">               text run at (0,0) width 117: &quot;display: table-caption&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsbuttontexttransformexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-text-transform-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-text-transform-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/button-text-transform-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,19 +36,19 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {P} at (0,90) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 76x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 60x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 60x13
</ins><span class="cx">             RenderText at (0,0) size 60x13
</span><span class="cx">               text run at (0,0) width 60: &quot;UPPERCASE&quot;
</span><span class="cx">         RenderText {#text} at (79,1) size 5x18
</span><span class="cx">           text run at (79,1) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (85,2) size 70x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 53x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 53x13
</ins><span class="cx">             RenderText at (0,0) size 53x13
</span><span class="cx">               text run at (0,0) width 53: &quot;lowercase&quot;
</span><span class="cx">         RenderText {#text} at (156,1) size 5x18
</span><span class="cx">           text run at (156,1) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (162,2) size 70x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 53x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 53x13
</ins><span class="cx">             RenderText at (0,0) size 53x13
</span><span class="cx">               text run at (0,0) width 53: &quot;Capitalize&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformscontrolrestrictlineheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/control-restrict-line-height-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/control-restrict-line-height-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/control-restrict-line-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -14,7 +14,7 @@
</span><span class="cx">         text run at (313,19) width 4: &quot; &quot;
</span><span class="cx">       RenderBR {BR} at (0,0) size 0x0
</span><span class="cx">       RenderButton {INPUT} at (2,42) size 294x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 278x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 278x13
</ins><span class="cx">           RenderText at (0,0) size 278x13
</span><span class="cx">             text run at (0,0) width 278: &quot;This text should be centered vertically in the button&quot;
</span><span class="cx">       RenderText {#text} at (297,41) size 5x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsfileinputfilererenderexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/file/input-file-re-render-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/file/input-file-re-render-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/file/input-file-re-render-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -6,7 +6,7 @@
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x22
</span><span class="cx">         RenderFileUploadControl {INPUT} at (2,2) size 237x18 &quot;2 files&quot;
</span><span class="cx">           RenderButton {INPUT} at (0,0) size 84x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 68x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 68x13
</ins><span class="cx">               RenderText at (0,0) size 68x13
</span><span class="cx">                 text run at (0,0) width 68: &quot;Choose Files&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsformelementgeometryexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/form-element-geometry-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/form-element-geometry-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx">               RenderBlock {DIV} at (1,1) size 56x22 [border: (2px solid #0000FF)]
</span><span class="cx">                 RenderInline {FONT} at (0,0) size 52x28
</span><span class="cx">                   RenderButton {INPUT} at (2,2) size 52x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">                       RenderText at (0,0) size 36x13
</span><span class="cx">                         text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">             RenderTableCell {TD} at (62,2) size 68x24 [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx">             RenderTableCell {TD} at (2,2) size 58x24 [r=0 c=0 rs=1 cs=1]
</span><span class="cx">               RenderBlock {DIV} at (1,1) size 56x22 [border: (2px solid #0000FF)]
</span><span class="cx">                 RenderButton {INPUT} at (2,2) size 52x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">                     RenderText at (0,0) size 36x13
</span><span class="cx">                       text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">             RenderTableCell {TD} at (62,2) size 68x24 [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx">               RenderBlock {DIV} at (1,1) size 56x22 [border: (2px solid #0000FF)]
</span><span class="cx">                 RenderInline {FONT} at (0,0) size 52x13
</span><span class="cx">                   RenderButton {INPUT} at (2,2) size 52x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">                       RenderText at (0,0) size 36x13
</span><span class="cx">                         text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">             RenderTableCell {TD} at (62,2) size 68x24 [r=0 c=1 rs=1 cs=1]
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx">               RenderBlock {DIV} at (1,1) size 241x22 [border: (2px solid #0000FF)]
</span><span class="cx">                 RenderFileUploadControl {INPUT} at (2,2) size 237x18 &quot;no file selected&quot;
</span><span class="cx">                   RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">                       RenderText at (0,0) size 62x13
</span><span class="cx">                         text run at (0,0) width 62: &quot;Choose File&quot;
</span><span class="cx">             RenderTableCell {TD} at (370,2) size 171x42 [r=0 c=3 rs=1 cs=1]
</span><span class="lines">@@ -105,11 +105,11 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 200x28
</span><span class="cx">           text run at (0,0) width 200: &quot;Baseline Alignment&quot;
</span><span class="cx">       RenderBlock {DIV} at (0,363) size 769x30
</span><del>-        RenderInline {FONT} at (0,0) size 219x28
</del><ins>+        RenderInline {FONT} at (0,0) size 215x28
</ins><span class="cx">           RenderText {#text} at (0,0) size 43x28
</span><span class="cx">             text run at (0,0) width 43: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (45,9) size 52x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">               RenderText at (0,0) size 36x13
</span><span class="cx">                 text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">           RenderText {#text} at (98,0) size 7x28
</span><span class="lines">@@ -120,16 +120,16 @@
</span><span class="cx">                 text run at (8,2) width 31: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (170,0) size 7x28
</span><span class="cx">             text run at (170,0) width 7: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (179,11) size 13x13
-          RenderText {#text} at (194,0) size 7x28
-            text run at (194,0) width 7: &quot; &quot;
-          RenderBlock {INPUT} at (203,12) size 13x12
</del><ins>+          RenderBlock {INPUT} at (178,11) size 13x13
+          RenderText {#text} at (192,0) size 7x28
+            text run at (192,0) width 7: &quot; &quot;
+          RenderBlock {INPUT} at (200,12) size 13x12
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,392) size 769x23
</span><span class="cx">         RenderText {#text} at (0,1) size 27x18
</span><span class="cx">           text run at (0,1) width 27: &quot;text &quot;
</span><span class="cx">         RenderButton {INPUT} at (29,2) size 52x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">             RenderText at (0,0) size 36x13
</span><span class="cx">               text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">         RenderText {#text} at (82,1) size 5x18
</span><span class="lines">@@ -140,17 +140,17 @@
</span><span class="cx">               text run at (8,2) width 31: &quot;menu&quot;
</span><span class="cx">         RenderText {#text} at (152,1) size 5x18
</span><span class="cx">           text run at (152,1) width 5: &quot; &quot;
</span><del>-        RenderBlock {INPUT} at (159,4) size 13x13
-        RenderText {#text} at (174,1) size 5x18
-          text run at (174,1) width 5: &quot; &quot;
-        RenderBlock {INPUT} at (181,5) size 13x12
</del><ins>+        RenderBlock {INPUT} at (158,4) size 13x13
+        RenderText {#text} at (172,1) size 5x18
+          text run at (172,1) width 5: &quot; &quot;
+        RenderBlock {INPUT} at (178,5) size 13x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,414) size 769x23
</span><del>-        RenderInline {FONT} at (0,0) size 185x13
</del><ins>+        RenderInline {FONT} at (0,0) size 181x13
</ins><span class="cx">           RenderText {#text} at (0,5) size 18x13
</span><span class="cx">             text run at (0,5) width 18: &quot;text &quot;
</span><span class="cx">           RenderButton {INPUT} at (20,2) size 52x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">               RenderText at (0,0) size 36x13
</span><span class="cx">                 text run at (0,0) width 36: &quot;button&quot;
</span><span class="cx">           RenderText {#text} at (73,5) size 4x13
</span><span class="lines">@@ -161,10 +161,10 @@
</span><span class="cx">                 text run at (8,2) width 31: &quot;menu&quot;
</span><span class="cx">           RenderText {#text} at (142,5) size 4x13
</span><span class="cx">             text run at (142,5) width 4: &quot; &quot;
</span><del>-          RenderBlock {INPUT} at (148,4) size 13x13
-          RenderText {#text} at (163,5) size 4x13
-            text run at (163,5) width 4: &quot; &quot;
-          RenderBlock {INPUT} at (169,5) size 13x12
</del><ins>+          RenderBlock {INPUT} at (147,4) size 13x13
+          RenderText {#text} at (161,5) size 4x13
+            text run at (161,5) width 4: &quot; &quot;
+          RenderBlock {INPUT} at (166,5) size 13x12
</ins><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {DIV} at (0,436) size 769x44
</span><span class="cx">         RenderText {#text} at (0,22) size 27x18
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">           text run at (104,22) width 4: &quot; &quot;
</span><span class="cx">         RenderFileUploadControl {INPUT} at (110,23) size 237x18 &quot;no file selected&quot;
</span><span class="cx">           RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">               RenderText at (0,0) size 62x13
</span><span class="cx">                 text run at (0,0) width 62: &quot;Choose File&quot;
</span><span class="cx">         RenderText {#text} at (349,22) size 4x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputappearanceheightexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-appearance-height-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,15 +21,15 @@
</span><span class="cx">         RenderBR {BR} at (158,39) size 0x0
</span><span class="cx">         RenderText {#text} at (0,46) size 65x18
</span><span class="cx">           text run at (0,46) width 65: &quot;checkbox &quot;
</span><del>-        RenderBlock {INPUT} at (67,50) size 13x12
-        RenderText {#text} at (82,46) size 5x18
-          text run at (82,46) width 5: &quot; &quot;
-        RenderBR {BR} at (86,60) size 1x0
</del><ins>+        RenderBlock {INPUT} at (67,50) size 12x12
+        RenderText {#text} at (81,46) size 4x18
+          text run at (81,46) width 4: &quot; &quot;
+        RenderBR {BR} at (85,60) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,66) size 24x18
</span><span class="cx">           text run at (0,66) width 24: &quot;file &quot;
</span><span class="cx">         RenderFileUploadControl {INPUT} at (26,67) size 237x18 &quot;no file selected&quot;
</span><span class="cx">           RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">               RenderText at (0,0) size 62x13
</span><span class="cx">                 text run at (0,0) width 62: &quot;Choose File&quot;
</span><span class="cx">         RenderText {#text} at (265,66) size 4x18
</span><span class="lines">@@ -43,10 +43,10 @@
</span><span class="cx">         RenderBR {BR} at (56,101) size 0x0
</span><span class="cx">         RenderText {#text} at (0,105) size 36x18
</span><span class="cx">           text run at (0,105) width 36: &quot;radio &quot;
</span><del>-        RenderBlock {INPUT} at (38,108) size 13x13
-        RenderText {#text} at (53,105) size 5x18
-          text run at (53,105) width 5: &quot; &quot;
-        RenderBR {BR} at (57,119) size 1x0
</del><ins>+        RenderBlock {INPUT} at (38,108) size 12x13
+        RenderText {#text} at (52,105) size 4x18
+          text run at (52,105) width 4: &quot; &quot;
+        RenderBR {BR} at (56,119) size 0x0
</ins><span class="cx">         RenderText {#text} at (0,127) size 39x18
</span><span class="cx">           text run at (0,127) width 39: &quot;range &quot;
</span><span class="cx">         RenderSlider {INPUT} at (41,126) size 129x15 [color=#909090] [bgcolor=#FFFFFF]
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">         RenderText {#text} at (0,146) size 33x18
</span><span class="cx">           text run at (0,146) width 33: &quot;reset &quot;
</span><span class="cx">         RenderButton {INPUT} at (35,147) size 45x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">             RenderText at (0,0) size 29x13
</span><span class="cx">               text run at (0,0) width 29: &quot;Reset&quot;
</span><span class="cx">         RenderText {#text} at (81,146) size 5x18
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">         RenderText {#text} at (0,168) size 46x18
</span><span class="cx">           text run at (0,168) width 46: &quot;submit &quot;
</span><span class="cx">         RenderButton {INPUT} at (48,169) size 54x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 38x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 38x13
</ins><span class="cx">             RenderText at (0,0) size 38x13
</span><span class="cx">               text run at (0,0) width 38: &quot;Submit&quot;
</span><span class="cx">         RenderText {#text} at (103,168) size 5x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputbuttonsizesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-button-sizes-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-button-sizes-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-button-sizes-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,67 +40,67 @@
</span><span class="cx">       RenderText {#text} at (416,1) size 5x18
</span><span class="cx">         text run at (416,1) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (422,2) size 79x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (502,1) size 5x18
</span><span class="cx">         text run at (502,1) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (508,2) size 78x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (587,1) size 5x18
</span><span class="cx">         text run at (587,1) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (593,2) size 78x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (672,1) size 5x18
</span><span class="cx">         text run at (672,1) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (678,2) size 78x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (757,1) size 5x18
</span><span class="cx">         text run at (757,1) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (2,26) size 78x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">           RenderText at (0,0) size 62x13
</span><span class="cx">             text run at (0,0) width 62: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (81,25) size 5x18
</span><span class="cx">         text run at (81,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (87,24) size 89x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (177,25) size 5x18
</span><span class="cx">         text run at (177,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (183,24) size 90x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (274,25) size 5x18
</span><span class="cx">         text run at (274,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (280,24) size 89x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (370,25) size 5x18
</span><span class="cx">         text run at (370,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (376,24) size 89x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (466,25) size 5x18
</span><span class="cx">         text run at (466,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (472,24) size 90x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (563,25) size 5x18
</span><span class="cx">         text run at (563,25) width 5: &quot; &quot;
</span><span class="cx">       RenderButton {INPUT} at (569,24) size 89x21 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 73x17
</del><ins>+        RenderBlock (anonymous) at (8,2) size 73x16
</ins><span class="cx">           RenderText at (0,0) size 73x16
</span><span class="cx">             text run at (0,0) width 73: &quot;Test Button&quot;
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsinputvalueexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-value-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-value-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/input-value-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 249x18
</span><span class="cx">                   text run at (1,1) width 249: &quot;check box with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,54) size 243x20 [r=2 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (3,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (634,54) size 62x20 [r=2 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x18
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">                   text run at (1,1) width 224: &quot;button with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,98) size 243x24 [r=4 c=1 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 41x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 25x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 25x13
</ins><span class="cx">                     RenderText at (0,0) size 25x13
</span><span class="cx">                       text run at (0,0) width 25: &quot;after&quot;
</span><span class="cx">               RenderTableCell {TD} at (634,100) size 62x20 [r=4 c=2 rs=1 cs=1]
</span><span class="lines">@@ -107,7 +107,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 216x18
</span><span class="cx">                   text run at (1,1) width 216: &quot;radio with value property changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,146) size 243x21 [r=6 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (3,4) size 13x13
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x13
</ins><span class="cx">               RenderTableCell {TD} at (634,146) size 62x20 [r=6 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x18
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 247x18
</span><span class="cx">                   text run at (1,1) width 247: &quot;check box with value attribute changed&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,196) size 243x20 [r=8 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (3,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (634,196) size 62x20 [r=8 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x18
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 383x18
</span><span class="cx">                   text run at (1,1) width 383: &quot;text with value property changed, then turned into check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,218) size 243x20 [r=9 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (3,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (634,218) size 62x20 [r=9 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x18
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">                 RenderText {#text} at (1,1) size 381x18
</span><span class="cx">                   text run at (1,1) width 381: &quot;text with value attribute changed, then turned into check box&quot;
</span><span class="cx">               RenderTableCell {TD} at (389,267) size 243x20 [r=11 c=1 rs=1 cs=1]
</span><del>-                RenderBlock {INPUT} at (3,4) size 13x12
</del><ins>+                RenderBlock {INPUT} at (3,4) size 12x12
</ins><span class="cx">               RenderTableCell {TD} at (634,267) size 62x20 [r=11 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderText {#text} at (1,1) size 28x18
</span><span class="cx">                   text run at (1,1) width 28: &quot;after&quot;
</span><span class="lines">@@ -193,7 +193,7 @@
</span><span class="cx">               RenderTableCell {TD} at (389,316) size 243x24 [r=13 c=1 rs=1 cs=1]
</span><span class="cx">                 RenderFileUploadControl {INPUT} at (3,3) size 237x18 &quot;no file selected&quot;
</span><span class="cx">                   RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 62x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 62x13
</ins><span class="cx">                       RenderText at (0,0) size 62x13
</span><span class="cx">                         text run at (0,0) width 62: &quot;Choose File&quot;
</span><span class="cx">               RenderTableCell {TD} at (634,327) size 62x2 [r=13 c=2 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformssearchverticalalignmentexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/search-vertical-alignment-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/search-vertical-alignment-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/search-vertical-alignment-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -22,7 +22,7 @@
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock {P} at (0,113) size 784x18
</span><span class="cx">         RenderTextControl {INPUT} at (2,2) size 153x16 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><del>-          RenderFlexibleBox {DIV} at (3,1) size 147x14
</del><ins>+          RenderFlexibleBox {DIV} at (3,1) size 147x13
</ins><span class="cx">             RenderBlock {DIV} at (0,1) size 17x11
</span><span class="cx">             RenderBlock {DIV} at (17,0) size 117x13
</span><span class="cx">             RenderBlock {DIV} at (134,1) size 13x11
</span><span class="lines">@@ -48,12 +48,12 @@
</span><span class="cx">   RenderBlock {DIV} at (3,16) size 117x13
</span><span class="cx">     RenderText {#text} at (0,0) size 24x13
</span><span class="cx">       text run at (0,0) width 24: &quot;Text&quot;
</span><del>-layer at (30,125) size 117x13
</del><ins>+layer at (30,124) size 117x13
</ins><span class="cx">   RenderBlock {DIV} at (0,0) size 117x13
</span><span class="cx">     RenderText {#text} at (0,0) size 24x13
</span><span class="cx">       text run at (0,0) width 24: &quot;Text&quot;
</span><del>-layer at (174,125) size 117x13
-  RenderBlock {DIV} at (3,1) size 117x14
</del><ins>+layer at (174,124) size 117x13
+  RenderBlock {DIV} at (3,1) size 117x13
</ins><span class="cx">     RenderText {#text} at (0,0) size 24x13
</span><span class="cx">       text run at (0,0) width 24: &quot;Text&quot;
</span><span class="cx"> layer at (30,160) size 117x6 scrollHeight 13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastformsvalidationmessageappearanceexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/validation-message-appearance-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/validation-message-appearance-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/forms/validation-message-appearance-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -8,7 +8,7 @@
</span><span class="cx">         RenderText {#text} at (127,2) size 4x18
</span><span class="cx">           text run at (127,2) width 4: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (133,3) size 54x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 38x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 38x13
</ins><span class="cx">             RenderText at (0,0) size 38x13
</span><span class="cx">               text run at (0,0) width 38: &quot;Submit&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfasthtmldetailsreplacesummarychildexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-summary-child-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-summary-child-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-summary-child-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,18) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 41x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 25x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 25x13
</ins><span class="cx">             RenderText at (0,0) size 25x13
</span><span class="cx">               text run at (0,0) width 25: &quot;click&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfasthtmldetailsreplacetextexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-text-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-text-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/html/details-replace-text-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">       RenderBlock (anonymous) at (0,36) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 41x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 25x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 25x13
</ins><span class="cx">             RenderText at (0,0) size 25x13
</span><span class="cx">               text run at (0,0) width 25: &quot;click&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -13,7 +13,7 @@
</span><span class="cx">     RenderBlock {DIV} at (0,18) size 560x800
</span><span class="cx">     RenderBlock (anonymous) at (0,818) size 560x22
</span><span class="cx">       RenderButton {INPUT} at (2,2) size 203x18 [bgcolor=#C0C0C0]
</span><del>-        RenderBlock (anonymous) at (8,2) size 187x14
</del><ins>+        RenderBlock (anonymous) at (8,2) size 187x13
</ins><span class="cx">           RenderText at (0,0) size 187x13
</span><span class="cx">             text run at (0,0) width 187: &quot;If you can see this, test has passed&quot;
</span><span class="cx">       RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfastreplacedreplacedbreakingexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/replaced/replaced-breaking-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -11,11 +11,11 @@
</span><span class="cx">         RenderImage {IMG} at (1,74) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderButton {INPUT} at (3,103) size 44x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 28x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 28x13
</ins><span class="cx">             RenderText at (0,0) size 28x13
</span><span class="cx">               text run at (0,0) width 28: &quot;input&quot;
</span><span class="cx">         RenderButton {INPUT} at (3,125) size 44x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 28x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 28x13
</ins><span class="cx">             RenderText at (0,0) size 28x13
</span><span class="cx">               text run at (0,0) width 28: &quot;input&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="lines">@@ -40,11 +40,11 @@
</span><span class="cx">         RenderListBox {SELECT} at (3,235) size 48x57 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderListBox {SELECT} at (3,296) size 48x57 [bgcolor=#FFFFFF] [border: (1px inset #808080)]
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (3,358) size 13x12
-        RenderBlock {INPUT} at (3,376) size 13x12
</del><ins>+        RenderBlock {INPUT} at (3,358) size 12x12
+        RenderBlock {INPUT} at (3,376) size 12x12
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><del>-        RenderBlock {INPUT} at (3,394) size 13x13
-        RenderBlock {INPUT} at (3,413) size 13x13
</del><ins>+        RenderBlock {INPUT} at (3,394) size 12x13
+        RenderBlock {INPUT} at (3,413) size 12x13
</ins><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderIFrame {IFRAME} at (1,429) size 27x27 [border: (1px solid #000000)]
</span><span class="cx">           layer at (0,0) size 25x25
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionfasttexttextIteratorNilRendererexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/text/textIteratorNilRenderer-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -16,16 +16,16 @@
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (377,0) size 99x22 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">                   RenderButton {INPUT} at (2,2) size 95x18 [bgcolor=#C0C0C0]
</span><del>-                    RenderBlock (anonymous) at (8,2) size 79x14
</del><ins>+                    RenderBlock (anonymous) at (8,2) size 79x13
</ins><span class="cx">                       RenderText at (0,0) size 79x13
</span><span class="cx">                         text run at (0,0) width 79: &quot;Search Froogle&quot;
</span><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                 RenderTableCell {TD} at (476,2) size 160x18 [r=0 c=3 rs=2 cs=1]
</span><del>-                  RenderInline {LABEL} at (0,0) size 117x13
</del><ins>+                  RenderInline {LABEL} at (0,0) size 115x13
</ins><span class="cx">                     RenderText {#text} at (0,0) size 0x0
</span><del>-                    RenderBlock {INPUT} at (12,3) size 13x12
-                    RenderText {#text} at (27,3) size 100x13
-                      text run at (27,3) width 100: &quot; Remember this location&quot;
</del><ins>+                    RenderBlock {INPUT} at (12,3) size 12x12
+                    RenderText {#text} at (26,3) size 99x13
+                      text run at (26,3) width 99: &quot; Remember this location&quot;
</ins><span class="cx">                   RenderText {#text} at (0,0) size 0x0
</span><span class="cx">         RenderBlock (anonymous) at (0,39) size 784x18
</span><span class="cx">           RenderBR {BR} at (392,0) size 0x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainlionhttptestsnavigationjavascriptlinkframesexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/http/tests/navigation/javascriptlink-frames-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,12 +23,12 @@
</span><span class="cx">               RenderBlock {HR} at (0,275) size 769x2 [border: (1px inset #000000)]
</span><span class="cx">               RenderBlock {FORM} at (0,293) size 769x428
</span><span class="cx">                 RenderButton {INPUT} at (2,2) size 111x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 95x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 95x13
</ins><span class="cx">                     RenderText at (0,0) size 95x13
</span><span class="cx">                       text run at (0,0) width 95: &quot;Submit with POST&quot;
</span><span class="cx">                 RenderBR {BR} at (114,15) size 1x0
</span><span class="cx">                 RenderButton {INPUT} at (2,24) size 230x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 214x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 214x13
</ins><span class="cx">                     RenderText at (0,0) size 214x13
</span><span class="cx">                       text run at (0,0) width 214: &quot;Submit with POST followed by a redirect&quot;
</span><span class="cx">                 RenderBR {BR} at (233,37) size 1x0
</span><span class="lines">@@ -40,22 +40,22 @@
</span><span class="cx">                   text run at (0,81) width 334: &quot;that we can use for testing&quot;
</span><span class="cx">                 RenderTextControl {INPUT} at (336,96) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">                 RenderBR {BR} at (461,110) size 0x0
</span><del>-                RenderBlock {INPUT} at (2,136) size 13x13
-                RenderText {#text} at (17,118) size 74x37
-                  text run at (17,118) width 74: &quot; Male&quot;
-                RenderBR {BR} at (90,147) size 1x0
-                RenderBlock {INPUT} at (2,173) size 13x13
-                RenderText {#text} at (17,155) size 103x37
-                  text run at (17,155) width 103: &quot; Female&quot;
-                RenderBR {BR} at (119,184) size 1x0
-                RenderBlock {INPUT} at (2,211) size 13x12
-                RenderText {#text} at (17,192) size 131x37
-                  text run at (17,192) width 131: &quot; option #1&quot;
-                RenderBR {BR} at (147,221) size 1x0
-                RenderBlock {INPUT} at (2,248) size 13x12
-                RenderText {#text} at (17,229) size 131x37
-                  text run at (17,229) width 131: &quot; option #2&quot;
-                RenderBR {BR} at (147,258) size 1x0
</del><ins>+                RenderBlock {INPUT} at (2,136) size 12x13
+                RenderText {#text} at (16,118) size 73x37
+                  text run at (16,118) width 73: &quot; Male&quot;
+                RenderBR {BR} at (89,147) size 0x0
+                RenderBlock {INPUT} at (2,173) size 12x13
+                RenderText {#text} at (16,155) size 102x37
+                  text run at (16,155) width 102: &quot; Female&quot;
+                RenderBR {BR} at (118,184) size 0x0
+                RenderBlock {INPUT} at (2,211) size 12x12
+                RenderText {#text} at (16,192) size 130x37
+                  text run at (16,192) width 130: &quot; option #1&quot;
+                RenderBR {BR} at (146,221) size 0x0
+                RenderBlock {INPUT} at (2,248) size 12x12
+                RenderText {#text} at (16,229) size 130x37
+                  text run at (16,229) width 130: &quot; option #2&quot;
+                RenderBR {BR} at (146,258) size 0x0
</ins><span class="cx">                 RenderMenuList {SELECT} at (2,268) size 255x18 [bgcolor=#FFFFFF]
</span><span class="cx">                   RenderBlock (anonymous) at (0,0) size 255x18
</span><span class="cx">                     RenderText at (8,2) size 63x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug1188expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug1188-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug1188-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug1188-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">                 RenderText {#text} at (463,3) size 5x18
</span><span class="cx">                   text run at (463,3) width 5: &quot; &quot;
</span><span class="cx">                 RenderButton {INPUT} at (469,4) size 52x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">                     RenderText at (0,0) size 36x13
</span><span class="cx">                       text run at (0,0) width 36: &quot;Search&quot;
</span><span class="cx">                 RenderBR {BR} at (522,17) size 1x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug138725expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug138725-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug138725-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug138725-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">                               RenderTableCell {TD} at (2,2) size 135x40 [r=0 c=0 rs=1 cs=1]
</span><span class="cx">                                 RenderBlock {FORM} at (1,1) size 133x22
</span><span class="cx">                                   RenderButton {INPUT} at (2,2) size 129x18 [bgcolor=#C0C0C0]
</span><del>-                                    RenderBlock (anonymous) at (8,2) size 113x14
</del><ins>+                                    RenderBlock (anonymous) at (8,2) size 113x13
</ins><span class="cx">                                       RenderText at (0,0) size 113x13
</span><span class="cx">                                         text run at (0,0) width 113: &quot;ApplyForThisPosition&quot;
</span><span class="cx">                                   RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug18359expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug18359-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug18359-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug18359-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -19,7 +19,7 @@
</span><span class="cx">                 RenderTextControl {INPUT} at (3,3) size 348x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">               RenderTableCell {TD} at (467,2) size 88x24 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 55x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 39x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 39x13
</ins><span class="cx">                     RenderText at (0,0) size 39x13
</span><span class="cx">                       text run at (0,0) width 39: &quot;Trigger&quot;
</span><span class="cx">             RenderTableRow {TR} at (0,29) size 557x24
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx">                 RenderText {#text} at (0,0) size 0x0
</span><span class="cx">               RenderTableCell {TD} at (467,29) size 88x24 [r=1 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 82x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 66x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 66x13
</ins><span class="cx">                     RenderText at (0,0) size 66x13
</span><span class="cx">                       text run at (0,0) width 66: &quot;Trigger case&quot;
</span><span class="cx"> layer at (125,74) size 342x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24792expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -98,13 +98,13 @@
</span><span class="cx">             RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderBlock {P} at (0,253) size 568x32
</span><span class="cx">             RenderButton {INPUT} at (2,9) size 57x18 [bgcolor=#C0C0C0]
</span><del>-              RenderBlock (anonymous) at (8,2) size 41x14
</del><ins>+              RenderBlock (anonymous) at (8,2) size 41x13
</ins><span class="cx">                 RenderText at (0,0) size 41x13
</span><span class="cx">                   text run at (0,0) width 41: &quot;Submit!&quot;
</span><span class="cx">             RenderText {#text} at (60,6) size 7x19
</span><span class="cx">               text run at (60,6) width 7: &quot; &quot;
</span><span class="cx">             RenderButton {INPUT} at (68,9) size 76x18 [bgcolor=#C0C0C0]
</span><del>-              RenderBlock (anonymous) at (8,2) size 59x14
</del><ins>+              RenderBlock (anonymous) at (8,2) size 59x13
</ins><span class="cx">                 RenderText at (0,0) size 59x13
</span><span class="cx">                   text run at (0,0) width 59: &quot;Clear Form&quot;
</span><span class="cx">             RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24793expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-3-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-3-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-3-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">             RenderTextControl {INPUT} at (589,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">           RenderButton {INPUT} at (2,25) size 54x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 38x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 38x13
</ins><span class="cx">               RenderText at (0,0) size 38x13
</span><span class="cx">                 text run at (0,0) width 38: &quot;Submit&quot;
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug24794expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-4-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-4-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug2479-4-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -196,7 +196,7 @@
</span><span class="cx">           RenderText {#text} at (197,24) size 4x18
</span><span class="cx">             text run at (197,24) width 4: &quot; &quot;
</span><span class="cx">           RenderButton {INPUT} at (203,25) size 54x18 [bgcolor=#C0C0C0]
</span><del>-            RenderBlock (anonymous) at (8,2) size 38x14
</del><ins>+            RenderBlock (anonymous) at (8,2) size 38x13
</ins><span class="cx">               RenderText at (0,0) size 38x13
</span><span class="cx">                 text run at (0,0) width 38: &quot;Submit&quot;
</span><span class="cx">           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug26178expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug26178-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug26178-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug26178-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx">                 text run at (1,1) width 57: &quot;First row&quot;
</span><span class="cx">       RenderBlock {FORM} at (0,46) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 47x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 31x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 31x13
</ins><span class="cx">             RenderText at (0,0) size 31x13
</span><span class="cx">               text run at (0,0) width 31: &quot;insert&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug28928expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug28928-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug28928-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug28928-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -15,7 +15,7 @@
</span><span class="cx">                 RenderText {#text} at (92,2) size 4x18
</span><span class="cx">                   text run at (92,2) width 4: &quot; &quot;
</span><span class="cx">                 RenderButton {INPUT} at (98,3) size 38x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 22x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 22x13
</ins><span class="cx">                     RenderText at (0,0) size 22x13
</span><span class="cx">                       text run at (0,0) width 22: &quot; Go &quot;
</span><span class="cx">                 RenderText {#text} at (137,2) size 5x18
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">                 RenderText {#text} at (92,2) size 4x18
</span><span class="cx">                   text run at (92,2) width 4: &quot; &quot;
</span><span class="cx">                 RenderButton {INPUT} at (98,3) size 38x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 22x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 22x13
</ins><span class="cx">                     RenderText at (0,0) size 22x13
</span><span class="cx">                       text run at (0,0) width 22: &quot; Go &quot;
</span><span class="cx">                 RenderText {#text} at (137,2) size 5x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug33855expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug33855-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug33855-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug33855-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -9,17 +9,17 @@
</span><span class="cx">             RenderTableRow {TR} at (0,2) size 784x24 [bgcolor=#FFFFFF]
</span><span class="cx">               RenderTableCell {TD} at (2,2) size 70x24 [r=0 c=0 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 64x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 48x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 48x13
</ins><span class="cx">                     RenderText at (0,0) size 48x13
</span><span class="cx">                       text run at (0,0) width 48: &quot;Select all&quot;
</span><span class="cx">               RenderTableCell {TD} at (74,2) size 56x24 [r=0 c=1 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 50x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 34x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 34x13
</ins><span class="cx">                     RenderText at (0,0) size 34x13
</span><span class="cx">                       text run at (0,0) width 34: &quot;Delete&quot;
</span><span class="cx">               RenderTableCell {TD} at (132,2) size 86x24 [r=0 c=2 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 80x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 64x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 64x13
</ins><span class="cx">                     RenderText at (0,0) size 64x13
</span><span class="cx">                       text run at (0,0) width 64: &quot;Empty trash&quot;
</span><span class="cx">               RenderTableCell {TD} at (220,6) size 374x20 [r=0 c=3 rs=1 cs=1]
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx">                   text run at (1,1) width 4: &quot; &quot;
</span><span class="cx">               RenderTableCell {TD} at (596,2) size 68x24 [r=0 c=4 rs=1 cs=1]
</span><span class="cx">                 RenderButton {INPUT} at (3,3) size 62x18 [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 46x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 46x13
</ins><span class="cx">                     RenderText at (0,0) size 46x13
</span><span class="cx">                       text run at (0,0) width 46: &quot;Move to:&quot;
</span><span class="cx">               RenderTableCell {TD} at (666,2) size 116x24 [r=0 c=5 rs=1 cs=1]
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug4527expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug4527-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,17 +33,17 @@
</span><span class="cx">               RenderImage {IMG} at (0,60) size 470x10
</span><span class="cx">               RenderBR {BR} at (470,70) size 0x0
</span><span class="cx">           RenderTableRow {TR} at (0,70) size 613x25
</span><del>-            RenderTableCell {TD} at (126,70) size 245x25 [bgcolor=#CCCCCC] [r=1 c=1 rs=1 cs=1]
</del><ins>+            RenderTableCell {TD} at (126,70) size 247x25 [bgcolor=#CCCCCC] [r=1 c=1 rs=1 cs=1]
</ins><span class="cx">               RenderImage {IMG} at (0,0) size 232x25
</span><del>-            RenderTableCell {TD} at (371,71) size 108x23 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
-              RenderTextControl {INPUT} at (5,2) size 73x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
-              RenderImage {INPUT} at (80,3) size 25x18
-            RenderTableCell {TD} at (479,70) size 134x25 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
-              RenderBlock {INPUT} at (2,5) size 13x13
-              RenderImage {IMG} at (17,0) size 41x25
-              RenderBlock {INPUT} at (60,5) size 13x13
-              RenderText {#text} at (75,2) size 5x18
-                text run at (75,2) width 5: &quot; &quot;
-              RenderImage {IMG} at (79,0) size 47x25
-layer at (387,84) size 67x13
</del><ins>+            RenderTableCell {TD} at (373,71) size 109x23 [bgcolor=#CCCCCC] [r=1 c=2 rs=1 cs=1]
+              RenderTextControl {INPUT} at (5,2) size 74x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderImage {INPUT} at (80,3) size 26x18
+            RenderTableCell {TD} at (482,70) size 131x25 [bgcolor=#CCCCCC] [r=1 c=3 rs=1 cs=1]
+              RenderBlock {INPUT} at (2,5) size 12x13
+              RenderImage {IMG} at (16,0) size 40x25
+              RenderBlock {INPUT} at (58,5) size 12x13
+              RenderText {#text} at (72,2) size 4x18
+                text run at (72,2) width 4: &quot; &quot;
+              RenderImage {IMG} at (76,0) size 46x25
+layer at (390,84) size 67x13
</ins><span class="cx">   RenderBlock {DIV} at (3,3) size 67x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug463681expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-1-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-1-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-1-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,13 +34,13 @@
</span><span class="cx">       RenderBlock (anonymous) at (0,111) size 784x41
</span><span class="cx">         RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,21) size 53x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 37x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 37x13
</ins><span class="cx">             RenderText at (0,0) size 37x13
</span><span class="cx">               text run at (0,0) width 37: &quot;Reload&quot;
</span><span class="cx">         RenderText {#text} at (56,20) size 9x18
</span><span class="cx">           text run at (56,20) width 9: &quot;  &quot;
</span><span class="cx">         RenderButton {INPUT} at (66,21) size 84x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 68x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 68x13
</ins><span class="cx">             RenderText at (0,0) size 68x13
</span><span class="cx">               text run at (0,0) width 68: &quot;Change Font&quot;
</span><span class="cx">         RenderText {#text} at (151,20) size 9x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug463682expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug46368-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -22,13 +22,13 @@
</span><span class="cx">       RenderBlock (anonymous) at (0,65) size 784x41
</span><span class="cx">         RenderBR {BR} at (0,0) size 0x18
</span><span class="cx">         RenderButton {INPUT} at (2,21) size 53x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 37x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 37x13
</ins><span class="cx">             RenderText at (0,0) size 37x13
</span><span class="cx">               text run at (0,0) width 37: &quot;Reload&quot;
</span><span class="cx">         RenderText {#text} at (56,20) size 9x18
</span><span class="cx">           text run at (56,20) width 9: &quot;  &quot;
</span><span class="cx">         RenderButton {INPUT} at (66,21) size 84x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 68x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 68x13
</ins><span class="cx">             RenderText at (0,0) size 68x13
</span><span class="cx">               text run at (0,0) width 68: &quot;Change Font&quot;
</span><span class="cx">         RenderText {#text} at (151,20) size 9x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug51037expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51037-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51037-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51037-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -16,7 +16,7 @@
</span><span class="cx">         RenderTextControl {INPUT} at (36,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
</span><span class="cx">       RenderBlock {P} at (0,112) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 45x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 29x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 29x13
</ins><span class="cx">             RenderText at (0,0) size 29x13
</span><span class="cx">               text run at (0,0) width 29: &quot;Move&quot;
</span><span class="cx"> layer at (47,47) size 117x13
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug51727expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51727-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51727-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug51727-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,12 +5,12 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x70
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x44
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 159x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 143x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 143x13
</ins><span class="cx">             RenderText at (0,0) size 143x13
</span><span class="cx">               text run at (0,0) width 143: &quot;(1) Fill cell with long string&quot;
</span><span class="cx">         RenderBR {BR} at (162,1) size 1x18
</span><span class="cx">         RenderButton {INPUT} at (2,24) size 163x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 147x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 147x13
</ins><span class="cx">             RenderText at (0,0) size 147x13
</span><span class="cx">               text run at (0,0) width 147: &quot;(2) Fill cell with short string&quot;
</span><span class="cx">         RenderBR {BR} at (166,23) size 1x18
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug52505expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug52505-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug52505-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug52505-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,11 +5,11 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x94
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x38
</span><span class="cx">         RenderButton {INPUT} at (2,0) size 257x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 241x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 241x13
</ins><span class="cx">             RenderText at (0,0) size 241x13
</span><span class="cx">               text run at (0,0) width 241: &quot;[Step 1] Set cell width to 60px (nothing seen)&quot;
</span><span class="cx">         RenderButton {INPUT} at (2,20) size 259x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 243x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 243x13
</ins><span class="cx">             RenderText at (0,0) size 243x13
</span><span class="cx">               text run at (0,0) width 243: &quot;[Step 2] Set cell width to 20px (garbage seen)&quot;
</span><span class="cx">       RenderTable {TABLE} at (0,40) size 34x54
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillabugsbug7342expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug7342-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug7342-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/bugs/bug7342-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">                           RenderText {#text} at (0,0) size 0x0
</span><span class="cx">                         RenderTableCell {TD} at (345,4) size 106x32 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
</span><span class="cx">                           RenderButton {INPUT} at (7,7) size 52x18 [bgcolor=#C0C0C0]
</span><del>-                            RenderBlock (anonymous) at (8,2) size 36x14
</del><ins>+                            RenderBlock (anonymous) at (8,2) size 36x13
</ins><span class="cx">                               RenderText at (0,0) size 36x13
</span><span class="cx">                                 text run at (0,0) width 36: &quot;Search&quot;
</span><span class="cx">                           RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillacollapsing_bordersbug412624expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/collapsing_borders/bug41262-4-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/collapsing_borders/bug41262-4-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/collapsing_borders/bug41262-4-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,12 +30,12 @@
</span><span class="cx">                     text run at (4,4) width 59: &quot;6:00 a.m.&quot;
</span><span class="cx">           RenderBlock {P} at (0,96) size 704x22
</span><span class="cx">             RenderButton {INPUT} at (287,2) size 63x18 [bgcolor=#C0C0C0]
</span><del>-              RenderBlock (anonymous) at (8,2) size 46x14
</del><ins>+              RenderBlock (anonymous) at (8,2) size 46x13
</ins><span class="cx">                 RenderText at (0,0) size 46x13
</span><span class="cx">                   text run at (0,0) width 46: &quot;separate&quot;
</span><span class="cx">             RenderText {#text} at (351,1) size 5x18
</span><span class="cx">               text run at (351,1) width 5: &quot; &quot;
</span><span class="cx">             RenderButton {INPUT} at (357,2) size 60x18 [bgcolor=#C0C0C0]
</span><del>-              RenderBlock (anonymous) at (8,2) size 44x14
</del><ins>+              RenderBlock (anonymous) at (8,2) size 44x13
</ins><span class="cx">                 RenderText at (0,0) size 44x13
</span><span class="cx">                   text run at (0,0) width 44: &quot;collapse&quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilladomtableDomexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/dom/tableDom-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/dom/tableDom-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/dom/tableDom-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">         RenderText {#text} at (629,2) size 20x18
</span><span class="cx">           text run at (629,2) width 20: &quot;     &quot;
</span><span class="cx">         RenderButton {INPUT} at (651,3) size 42x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 26x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 26x13
</ins><span class="cx">             RenderText at (0,0) size 26x13
</span><span class="cx">               text run at (0,0) width 26: &quot;Do It&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozillaothermove_rowexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/other/move_row-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/other/move_row-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla/other/move_row-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">         RenderText {#text} at (68,2) size 4x18
</span><span class="cx">           text run at (68,2) width 4: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (74,3) size 30x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 14x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 14x13
</ins><span class="cx">             RenderText at (0,0) size 14x13
</span><span class="cx">               text run at (0,0) width 14: &quot;go&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilla_expected_failuresbugsbug24795expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx">                 RenderText {#text} at (197,42) size 4x18
</span><span class="cx">                   text run at (197,42) width 4: &quot; &quot;
</span><span class="cx">                 RenderButton {INPUT} at (203,43) size 54x18 [color=#000000] [bgcolor=#C0C0C0]
</span><del>-                  RenderBlock (anonymous) at (8,2) size 38x14
</del><ins>+                  RenderBlock (anonymous) at (8,2) size 38x13
</ins><span class="cx">                     RenderText at (0,0) size 38x13
</span><span class="cx">                       text run at (0,0) width 38: &quot;Submit&quot;
</span><span class="cx">                 RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformmacmountainliontablesmozilla_expected_failuresbugsbug584022expectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,13 +34,13 @@
</span><span class="cx">                 text run at (2,2) width 37: &quot;row 3&quot;
</span><span class="cx">       RenderBlock (anonymous) at (0,240) size 784x22
</span><span class="cx">         RenderButton {INPUT} at (2,2) size 56x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 40x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 40x13
</ins><span class="cx">             RenderText at (0,0) size 40x13
</span><span class="cx">               text run at (0,0) width 40: &quot;expand&quot;
</span><span class="cx">         RenderText {#text} at (59,1) size 5x18
</span><span class="cx">           text run at (59,1) width 5: &quot; &quot;
</span><span class="cx">         RenderButton {INPUT} at (65,2) size 44x18 [bgcolor=#C0C0C0]
</span><del>-          RenderBlock (anonymous) at (8,2) size 27x14
</del><ins>+          RenderBlock (anonymous) at (8,2) size 27x13
</ins><span class="cx">             RenderText at (0,0) size 27x13
</span><span class="cx">               text run at (0,0) width 27: &quot;sizes&quot;
</span><span class="cx">         RenderText {#text} at (0,0) size 0x0
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselection36907032expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-2-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-2-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,141 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
+      RenderBlock {CENTER} at (0,0) size 784x258
+        RenderTable {TABLE} at (0,0) size 784x19
+          RenderTableSection {TBODY} at (0,0) size 784x19
+            RenderTableRow {TR} at (0,0) size 784x15
+              RenderTableCell {TD} at (0,0) size 784x15 [r=0 c=0 rs=1 cs=1]
+                RenderInline {FONT} at (0,0) size 104x15
+                  RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+                    RenderText {#text} at (680,0) size 104x15
+                      text run at (680,0) width 104: &quot;Personalized Home&quot;
+            RenderTableRow {TR} at (0,15) size 784x4
+              RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
+                RenderImage {IMG} at (0,0) size 1x1
+        RenderBlock (anonymous) at (0,19) size 784x36
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+        RenderBlock {DIV} at (0,55) size 784x105 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
+            RenderTableSection {TBODY} at (0,0) size 353x23
+              RenderTableRow {TR} at (0,0) size 353x23
+                RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 345x15
+                    RenderInline {B} at (0,0) size 26x15
+                      RenderText {#text} at (4,4) size 26x15
+                        text run at (4,4) width 26: &quot;Web&quot;
+                    RenderText {#text} at (30,4) size 12x15
+                      text run at (30,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 38x15 [color=#0000CC]
+                      RenderText {#text} at (42,4) size 38x15
+                        text run at (42,4) width 38: &quot;Images&quot;
+                    RenderText {#text} at (80,4) size 12x15
+                      text run at (80,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 39x15 [color=#0000CC]
+                      RenderText {#text} at (92,4) size 39x15
+                        text run at (92,4) width 39: &quot;Groups&quot;
+                    RenderText {#text} at (131,4) size 12x15
+                      text run at (131,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 29x15 [color=#0000CC]
+                      RenderText {#text} at (143,4) size 29x15
+                        text run at (143,4) width 29: &quot;News&quot;
+                    RenderText {#text} at (172,4) size 12x15
+                      text run at (172,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 42x15 [color=#0000CC]
+                      RenderText {#text} at (184,4) size 42x15
+                        text run at (184,4) width 42: &quot;Froogle&quot;
+                    RenderText {#text} at (226,4) size 12x15
+                      text run at (226,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
+                      RenderText {#text} at (238,4) size 31x15
+                        text run at (238,4) width 31: &quot;Local&quot;
+                      RenderInline {SUP} at (0,0) size 0x13
+                    RenderInline {A} at (0,0) size 28x15
+                      RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                        RenderText {#text} at (269,4) size 28x15
+                          text run at (269,4) width 28: &quot;New!&quot;
+                    RenderText {#text} at (297,4) size 12x15
+                      text run at (297,4) width 12: &quot;    &quot;
+                    RenderInline {B} at (0,0) size 40x15
+                      RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
+                        RenderText {#text} at (309,4) size 40x15
+                          text run at (309,4) width 40: &quot;more \x{BB}&quot;
+          RenderTable {TABLE} at (90,25) size 604x45
+            RenderTableSection {TBODY} at (0,0) size 604x45
+              RenderTableRow {TR} at (0,0) size 604x45
+                RenderTableCell {TD} at (0,13) size 151x18 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x18
+                    text run at (0,0) width 4: &quot; &quot;
+                RenderTableCell {TD} at (151,0) size 302x45 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (302,16) size 0x0
+                  RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 77x14
+                      RenderText at (0,0) size 77x13
+                        text run at (0,0) width 77: &quot;Google Search&quot;
+                  RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 92x14
+                      RenderText at (0,0) size 92x13
+                        text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
+                RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x39
+                    RenderText {#text} at (0,0) size 6x13
+                      text run at (0,0) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 68x13 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x13
+                        text run at (6,0) width 68: &quot;Advanced Search&quot;
+                    RenderBR {BR} at (74,10) size 0x0
+                    RenderText {#text} at (0,13) size 6x13
+                      text run at (0,13) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 44x13 [color=#0000CC]
+                      RenderText {#text} at (6,13) size 44x13
+                        text run at (6,13) width 44: &quot;Preferences&quot;
+                    RenderBR {BR} at (50,23) size 0x0
+                    RenderText {#text} at (0,26) size 6x13
+                      text run at (0,26) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 64x13 [color=#0000CC]
+                      RenderText {#text} at (6,26) size 64x13
+                        text run at (6,26) width 64: &quot;Language Tools&quot;
+          RenderBlock (anonymous) at (2,70) size 780x33
+            RenderBR {BR} at (390,0) size 0x18
+            RenderInline {FONT} at (0,0) size 148x15
+              RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                RenderText {#text} at (316,18) size 28x15
+                  text run at (316,18) width 28: &quot;New!&quot;
+              RenderText {#text} at (344,18) size 3x15
+                text run at (344,18) width 3: &quot; &quot;
+              RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
+                RenderText {#text} at (347,18) size 114x15
+                  text run at (347,18) width 114: &quot;Personalize this page&quot;
+              RenderText {#text} at (461,18) size 3x15
+                text run at (461,18) width 3: &quot;.&quot;
+            RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (0,160) size 784x69
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+          RenderBR {BR} at (392,36) size 0x18
+          RenderInline {FONT} at (0,0) size 318x15
+            RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
+              RenderText {#text} at (233,54) size 118x15
+                text run at (233,54) width 118: &quot;Advertising Programs&quot;
+            RenderText {#text} at (350,54) size 11x15
+              text run at (350,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+              RenderText {#text} at (360,54) size 104x15
+                text run at (360,54) width 104: &quot;Business Solutions&quot;
+            RenderText {#text} at (463,54) size 11x15
+              text run at (463,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
+              RenderText {#text} at (473,54) size 78x15
+                text run at (473,54) width 78: &quot;About Google&quot;
+        RenderBlock {P} at (0,245) size 784x13
+          RenderInline {FONT} at (0,0) size 60x13
+            RenderText {#text} at (362,0) size 60x13
+              text run at (362,0) width 60: &quot;\x{A9}2005 Google&quot;
+layer at (254,88) size 292x13
+  RenderBlock {DIV} at (3,3) size 292x13
+selection start: position 0 of child 3 {INPUT} of child 1 {TD} of child 0 {TR} of child 0 {TBODY} of child 2 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
+selection end:   position 1 of child 2 {BR} of child 0 {FONT} of child 2 {TD} of child 0 {TR} of child 0 {TBODY} of child 2 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselection3690703expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/3690703-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,141 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
+      RenderBlock {CENTER} at (0,0) size 784x258
+        RenderTable {TABLE} at (0,0) size 784x19
+          RenderTableSection {TBODY} at (0,0) size 784x19
+            RenderTableRow {TR} at (0,0) size 784x15
+              RenderTableCell {TD} at (0,0) size 784x15 [r=0 c=0 rs=1 cs=1]
+                RenderInline {FONT} at (0,0) size 104x15
+                  RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+                    RenderText {#text} at (680,0) size 104x15
+                      text run at (680,0) width 104: &quot;Personalized Home&quot;
+            RenderTableRow {TR} at (0,15) size 784x4
+              RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
+                RenderImage {IMG} at (0,0) size 1x1
+        RenderBlock (anonymous) at (0,19) size 784x36
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+        RenderBlock {DIV} at (0,55) size 784x105 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
+            RenderTableSection {TBODY} at (0,0) size 353x23
+              RenderTableRow {TR} at (0,0) size 353x23
+                RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 345x15
+                    RenderInline {B} at (0,0) size 26x15
+                      RenderText {#text} at (4,4) size 26x15
+                        text run at (4,4) width 26: &quot;Web&quot;
+                    RenderText {#text} at (30,4) size 12x15
+                      text run at (30,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 38x15 [color=#0000CC]
+                      RenderText {#text} at (42,4) size 38x15
+                        text run at (42,4) width 38: &quot;Images&quot;
+                    RenderText {#text} at (80,4) size 12x15
+                      text run at (80,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 39x15 [color=#0000CC]
+                      RenderText {#text} at (92,4) size 39x15
+                        text run at (92,4) width 39: &quot;Groups&quot;
+                    RenderText {#text} at (131,4) size 12x15
+                      text run at (131,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 29x15 [color=#0000CC]
+                      RenderText {#text} at (143,4) size 29x15
+                        text run at (143,4) width 29: &quot;News&quot;
+                    RenderText {#text} at (172,4) size 12x15
+                      text run at (172,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 42x15 [color=#0000CC]
+                      RenderText {#text} at (184,4) size 42x15
+                        text run at (184,4) width 42: &quot;Froogle&quot;
+                    RenderText {#text} at (226,4) size 12x15
+                      text run at (226,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
+                      RenderText {#text} at (238,4) size 31x15
+                        text run at (238,4) width 31: &quot;Local&quot;
+                      RenderInline {SUP} at (0,0) size 0x13
+                    RenderInline {A} at (0,0) size 28x15
+                      RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                        RenderText {#text} at (269,4) size 28x15
+                          text run at (269,4) width 28: &quot;New!&quot;
+                    RenderText {#text} at (297,4) size 12x15
+                      text run at (297,4) width 12: &quot;    &quot;
+                    RenderInline {B} at (0,0) size 40x15
+                      RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
+                        RenderText {#text} at (309,4) size 40x15
+                          text run at (309,4) width 40: &quot;more \x{BB}&quot;
+          RenderTable {TABLE} at (90,25) size 604x45
+            RenderTableSection {TBODY} at (0,0) size 604x45
+              RenderTableRow {TR} at (0,0) size 604x45
+                RenderTableCell {TD} at (0,13) size 151x18 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x18
+                    text run at (0,0) width 4: &quot; &quot;
+                RenderTableCell {TD} at (151,0) size 302x45 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (302,16) size 0x0
+                  RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 77x14
+                      RenderText at (0,0) size 77x13
+                        text run at (0,0) width 77: &quot;Google Search&quot;
+                  RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 92x14
+                      RenderText at (0,0) size 92x13
+                        text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
+                RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x39
+                    RenderText {#text} at (0,0) size 6x13
+                      text run at (0,0) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 68x13 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x13
+                        text run at (6,0) width 68: &quot;Advanced Search&quot;
+                    RenderBR {BR} at (74,10) size 0x0
+                    RenderText {#text} at (0,13) size 6x13
+                      text run at (0,13) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 44x13 [color=#0000CC]
+                      RenderText {#text} at (6,13) size 44x13
+                        text run at (6,13) width 44: &quot;Preferences&quot;
+                    RenderBR {BR} at (50,23) size 0x0
+                    RenderText {#text} at (0,26) size 6x13
+                      text run at (0,26) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 64x13 [color=#0000CC]
+                      RenderText {#text} at (6,26) size 64x13
+                        text run at (6,26) width 64: &quot;Language Tools&quot;
+          RenderBlock (anonymous) at (2,70) size 780x33
+            RenderBR {BR} at (390,0) size 0x18
+            RenderInline {FONT} at (0,0) size 148x15
+              RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                RenderText {#text} at (316,18) size 28x15
+                  text run at (316,18) width 28: &quot;New!&quot;
+              RenderText {#text} at (344,18) size 3x15
+                text run at (344,18) width 3: &quot; &quot;
+              RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
+                RenderText {#text} at (347,18) size 114x15
+                  text run at (347,18) width 114: &quot;Personalize this page&quot;
+              RenderText {#text} at (461,18) size 3x15
+                text run at (461,18) width 3: &quot;.&quot;
+            RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (0,160) size 784x69
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+          RenderBR {BR} at (392,36) size 0x18
+          RenderInline {FONT} at (0,0) size 318x15
+            RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
+              RenderText {#text} at (233,54) size 118x15
+                text run at (233,54) width 118: &quot;Advertising Programs&quot;
+            RenderText {#text} at (350,54) size 11x15
+              text run at (350,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+              RenderText {#text} at (360,54) size 104x15
+                text run at (360,54) width 104: &quot;Business Solutions&quot;
+            RenderText {#text} at (463,54) size 11x15
+              text run at (463,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
+              RenderText {#text} at (473,54) size 78x15
+                text run at (473,54) width 78: &quot;About Google&quot;
+        RenderBlock {P} at (0,245) size 784x13
+          RenderInline {FONT} at (0,0) size 60x13
+            RenderText {#text} at (362,0) size 60x13
+              text run at (362,0) width 60: &quot;\x{A9}2005 Google&quot;
+layer at (254,88) size 292x13
+  RenderBlock {DIV} at (3,3) size 292x13
+selection start: position 0 of child 1 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
+selection end:   position 1 of child 3 {#text} of child 4 {FONT} of child 4 {DIV} of child 0 {CENTER} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselection3690719expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/3690719-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/3690719-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/3690719-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,141 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,3) size 784x581 [bgcolor=#FFFFFF]
+      RenderBlock {CENTER} at (0,0) size 784x258
+        RenderTable {TABLE} at (0,0) size 784x19
+          RenderTableSection {TBODY} at (0,0) size 784x19
+            RenderTableRow {TR} at (0,0) size 784x15
+              RenderTableCell {TD} at (0,0) size 784x15 [r=0 c=0 rs=1 cs=1]
+                RenderInline {FONT} at (0,0) size 104x15
+                  RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+                    RenderText {#text} at (680,0) size 104x15
+                      text run at (680,0) width 104: &quot;Personalized Home&quot;
+            RenderTableRow {TR} at (0,15) size 784x4
+              RenderTableCell {TD} at (0,16) size 784x1 [r=1 c=0 rs=1 cs=1]
+                RenderImage {IMG} at (0,0) size 1x1
+        RenderBlock (anonymous) at (0,19) size 784x36
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+        RenderBlock {DIV} at (0,55) size 784x105 [border: (2px solid #AAAAFF)]
+          RenderTable {TABLE} at (215,2) size 354x23
+            RenderTableSection {TBODY} at (0,0) size 353x23
+              RenderTableRow {TR} at (0,0) size 353x23
+                RenderTableCell {TD} at (0,0) size 353x23 [r=0 c=0 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 345x15
+                    RenderInline {B} at (0,0) size 26x15
+                      RenderText {#text} at (4,4) size 26x15
+                        text run at (4,4) width 26: &quot;Web&quot;
+                    RenderText {#text} at (30,4) size 12x15
+                      text run at (30,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 38x15 [color=#0000CC]
+                      RenderText {#text} at (42,4) size 38x15
+                        text run at (42,4) width 38: &quot;Images&quot;
+                    RenderText {#text} at (80,4) size 12x15
+                      text run at (80,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 39x15 [color=#0000CC]
+                      RenderText {#text} at (92,4) size 39x15
+                        text run at (92,4) width 39: &quot;Groups&quot;
+                    RenderText {#text} at (131,4) size 12x15
+                      text run at (131,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 29x15 [color=#0000CC]
+                      RenderText {#text} at (143,4) size 29x15
+                        text run at (143,4) width 29: &quot;News&quot;
+                    RenderText {#text} at (172,4) size 12x15
+                      text run at (172,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 42x15 [color=#0000CC]
+                      RenderText {#text} at (184,4) size 42x15
+                        text run at (184,4) width 42: &quot;Froogle&quot;
+                    RenderText {#text} at (226,4) size 12x15
+                      text run at (226,4) width 12: &quot;    &quot;
+                    RenderInline {A} at (0,0) size 31x15 [color=#0000CC]
+                      RenderText {#text} at (238,4) size 31x15
+                        text run at (238,4) width 31: &quot;Local&quot;
+                      RenderInline {SUP} at (0,0) size 0x13
+                    RenderInline {A} at (0,0) size 28x15
+                      RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                        RenderText {#text} at (269,4) size 28x15
+                          text run at (269,4) width 28: &quot;New!&quot;
+                    RenderText {#text} at (297,4) size 12x15
+                      text run at (297,4) width 12: &quot;    &quot;
+                    RenderInline {B} at (0,0) size 40x15
+                      RenderInline {A} at (0,0) size 40x15 [color=#0000CC]
+                        RenderText {#text} at (309,4) size 40x15
+                          text run at (309,4) width 40: &quot;more \x{BB}&quot;
+          RenderTable {TABLE} at (90,25) size 604x45
+            RenderTableSection {TBODY} at (0,0) size 604x45
+              RenderTableRow {TR} at (0,0) size 604x45
+                RenderTableCell {TD} at (0,13) size 151x18 [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (0,0) size 4x18
+                    text run at (0,0) width 4: &quot; &quot;
+                RenderTableCell {TD} at (151,0) size 302x45 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 298x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderBR {BR} at (302,16) size 0x0
+                  RenderButton {INPUT} at (49,25) size 93x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 77x14
+                      RenderText at (0,0) size 77x13
+                        text run at (0,0) width 77: &quot;Google Search&quot;
+                  RenderButton {INPUT} at (145,25) size 108x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 92x14
+                      RenderText at (0,0) size 92x13
+                        text run at (0,0) width 92: &quot;I'm Feeling Lucky&quot;
+                RenderTableCell {TD} at (453,0) size 151x39 [r=0 c=2 rs=1 cs=1]
+                  RenderInline {FONT} at (0,0) size 74x39
+                    RenderText {#text} at (0,0) size 6x13
+                      text run at (0,0) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 68x13 [color=#0000CC]
+                      RenderText {#text} at (6,0) size 68x13
+                        text run at (6,0) width 68: &quot;Advanced Search&quot;
+                    RenderBR {BR} at (74,10) size 0x0
+                    RenderText {#text} at (0,13) size 6x13
+                      text run at (0,13) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 44x13 [color=#0000CC]
+                      RenderText {#text} at (6,13) size 44x13
+                        text run at (6,13) width 44: &quot;Preferences&quot;
+                    RenderBR {BR} at (50,23) size 0x0
+                    RenderText {#text} at (0,26) size 6x13
+                      text run at (0,26) width 6: &quot;  &quot;
+                    RenderInline {A} at (0,0) size 64x13 [color=#0000CC]
+                      RenderText {#text} at (6,26) size 64x13
+                        text run at (6,26) width 64: &quot;Language Tools&quot;
+          RenderBlock (anonymous) at (2,70) size 780x33
+            RenderBR {BR} at (390,0) size 0x18
+            RenderInline {FONT} at (0,0) size 148x15
+              RenderInline {FONT} at (0,0) size 28x15 [color=#FF0000]
+                RenderText {#text} at (316,18) size 28x15
+                  text run at (316,18) width 28: &quot;New!&quot;
+              RenderText {#text} at (344,18) size 3x15
+                text run at (344,18) width 3: &quot; &quot;
+              RenderInline {A} at (0,0) size 114x15 [color=#0000CC]
+                RenderText {#text} at (347,18) size 114x15
+                  text run at (347,18) width 114: &quot;Personalize this page&quot;
+              RenderText {#text} at (461,18) size 3x15
+                text run at (461,18) width 3: &quot;.&quot;
+            RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (0,160) size 784x69
+          RenderBR {BR} at (392,0) size 0x18
+          RenderBR {BR} at (392,18) size 0x18
+          RenderBR {BR} at (392,36) size 0x18
+          RenderInline {FONT} at (0,0) size 318x15
+            RenderInline {A} at (0,0) size 118x15 [color=#0000CC]
+              RenderText {#text} at (233,54) size 118x15
+                text run at (233,54) width 118: &quot;Advertising Programs&quot;
+            RenderText {#text} at (350,54) size 11x15
+              text run at (350,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 104x15 [color=#0000CC]
+              RenderText {#text} at (360,54) size 104x15
+                text run at (360,54) width 104: &quot;Business Solutions&quot;
+            RenderText {#text} at (463,54) size 11x15
+              text run at (463,54) width 11: &quot; - &quot;
+            RenderInline {A} at (0,0) size 78x15 [color=#0000CC]
+              RenderText {#text} at (473,54) size 78x15
+                text run at (473,54) width 78: &quot;About Google&quot;
+        RenderBlock {P} at (0,245) size 784x13
+          RenderInline {FONT} at (0,0) size 60x13
+            RenderText {#text} at (362,0) size 60x13
+              text run at (362,0) width 60: &quot;\x{A9}2005 Google&quot;
+layer at (254,88) size 292x13
+  RenderBlock {DIV} at (3,3) size 292x13
+selection start: position 0 of child 1 {TABLE} of child 4 {DIV} of child 0 {CENTER} of body
+selection end:   position 1 of child 3 {#text} of child 4 {FONT} of child 4 {DIV} of child 0 {CENTER} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselection4397952expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/4397952-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/4397952-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/4397952-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,20 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 565x18
+          text run at (0,0) width 264: &quot;This tests caret movement across buttons. &quot;
+          text run at (264,0) width 301: &quot;The caret should be just after the second button.&quot;
+      RenderBlock {DIV} at (0,34) size 784x22
+        RenderButton {INPUT} at (2,2) size 36x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 20x14
+            RenderText at (0,0) size 20x13
+              text run at (0,0) width 20: &quot;Foo&quot;
+        RenderButton {INPUT} at (41,2) size 34x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 17x14
+            RenderText at (0,0) size 17x13
+              text run at (0,0) width 17: &quot;Bar&quot;
+        RenderText {#text} at (0,0) size 0x0
+caret: position 1 of child 2 {INPUT} of child 2 {DIV} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselection5240265expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/5240265-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/5240265-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/5240265-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x54
+        RenderText {#text} at (0,0) size 782x54
+          text run at (0,0) width 757: &quot;This tests to see that clicking on content outside of an editable region with -webkit-user-select: ignore doesn't remove the&quot;
+          text run at (0,18) width 467: &quot;selection from the editable region. To run it manually, click on the button. &quot;
+          text run at (467,18) width 315: &quot;The editable region should not be focused, but the&quot;
+          text run at (0,36) width 216: &quot;text inside of it should be selected.&quot;
+      RenderBlock (anonymous) at (0,70) size 784x22
+        RenderButton {INPUT} at (2,2) size 79x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 63x14
+            RenderText at (0,0) size 63x13
+              text run at (0,0) width 63: &quot;Click on me&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,92) size 784x18
+        RenderText {#text} at (0,0) size 178x18
+          text run at (0,0) width 178: &quot;This text should be selected.&quot;
+selection start: position 0 of child 0 {#text} of child 4 {DIV} of body
+selection end:   position 29 of child 0 {#text} of child 4 {DIV} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwineditingselectionselectionbuttontextexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/editing/selection/selection-button-text-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/editing/selection/selection-button-text-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/editing/selection/selection-button-text-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x138
+  RenderBlock {HTML} at (0,0) size 800x138
+    RenderBody {BODY} at (8,16) size 784x114
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 556x18
+          text run at (0,0) width 556: &quot;To PASS this test case the text of the button label should not be selected in the selection.&quot;
+      RenderBlock {DIV} at (0,34) size 784x80
+        RenderBlock (anonymous) at (0,0) size 784x40
+          RenderText {#text} at (0,0) size 49x18
+            text run at (0,0) width 49: &quot;Buttons&quot;
+          RenderBR {BR} at (49,0) size 0x18
+          RenderText {#text} at (0,19) size 59x18
+            text run at (0,19) width 59: &quot;with text &quot;
+          RenderButton {INPUT} at (61,20) size 62x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 46x14
+              RenderText at (0,0) size 46x13
+                text run at (0,0) width 46: &quot;too little&quot;
+          RenderText {#text} at (124,19) size 56x18
+            text run at (124,19) width 56: &quot; too little&quot;
+        RenderBlock {DIV} at (0,40) size 784x22
+          RenderText {#text} at (0,1) size 54x18
+            text run at (0,1) width 54: &quot;and text &quot;
+          RenderButton {INPUT} at (56,2) size 67x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 51x14
+              RenderText at (0,0) size 51x13
+                text run at (0,0) width 51: &quot;too much&quot;
+          RenderText {#text} at (124,1) size 64x18
+            text run at (124,1) width 64: &quot; too much&quot;
+        RenderBlock (anonymous) at (0,62) size 784x18
+          RenderText {#text} at (0,0) size 244x18
+            text run at (0,0) width 244: &quot;Should not be selected in the selection.&quot;
+selection start: position 0 of child 0 {#text} of child 1 {P} of body
+selection end:   position 41 of child 6 {#text} of child 3 {DIV} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastblockfloatfloatavoidanceexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/block/float/float-avoidance-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,336 @@
</span><ins>+layer at (0,0) size 785x2368
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x2368
+  RenderBlock {HTML} at (0,0) size 785x2368
+    RenderBody {BODY} at (8,8) size 769x2352
+      RenderBlock (anonymous) at (0,0) size 769x36
+        RenderText {#text} at (0,0) size 765x36
+          text run at (0,0) width 538: &quot;Test of objects that avoid floats to see what they do with percentage and auto widths. &quot;
+          text run at (538,0) width 227: &quot;This test is designed to illustrate that&quot;
+          text run at (0,18) width 447: &quot;we have removed the WinIE quirk and are behaving more like Firefox.&quot;
+      RenderBlock {HR} at (0,44) size 769x2 [border: (1px inset #000000)]
+      RenderBlock (anonymous) at (0,54) size 769x18
+        RenderText {#text} at (0,0) size 507x18
+          text run at (0,0) width 507: &quot;The inline-level button should be below the select and fill the width of the block.&quot;
+      RenderBlock {P} at (0,88) size 220x82 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderButton {INPUT} at (10,52) size 200x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 184x14
+            RenderText at (86,0) size 12x13
+              text run at (86,0) width 12: &quot;Hi&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,186) size 769x18
+        RenderText {#text} at (0,0) size 473x18
+          text run at (0,0) width 473: &quot;The floating button with a percentage width should be even with the select.&quot;
+      RenderBlock {P} at (0,220) size 220x60 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderButton {INPUT} at (110,30) size 100x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 84x14
+            RenderText at (36,0) size 12x13
+              text run at (36,0) width 12: &quot;Hi&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (210,28) size 0x18
+      RenderBlock (anonymous) at (0,296) size 769x18
+        RenderText {#text} at (0,0) size 462x18
+          text run at (0,0) width 462: &quot;The block-level button with an auto width should be even with the select.&quot;
+      RenderBlock {P} at (0,330) size 220x78 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderButton {INPUT} at (110,30) size 28x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 12x14
+            RenderText at (0,0) size 12x13
+              text run at (0,0) width 12: &quot;Hi&quot;
+        RenderBlock (anonymous) at (10,50) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,424) size 769x18
+        RenderText {#text} at (0,0) size 495x18
+          text run at (0,0) width 495: &quot;The block-level button with a percentage width should be even with the select.&quot;
+      RenderBlock {P} at (0,458) size 220x78 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderButton {INPUT} at (110,30) size 100x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 84x14
+            RenderText at (36,0) size 12x13
+              text run at (36,0) width 12: &quot;Hi&quot;
+        RenderBlock (anonymous) at (10,50) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,552) size 769x18
+        RenderText {#text} at (0,0) size 463x18
+          text run at (0,0) width 463: &quot;The floating table with a percentage width should be even with the select.&quot;
+      RenderBlock {P} at (0,586) size 220x68 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderTable {TABLE} at (110,28) size 100x30 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 96x26
+            RenderTableRow {TR} at (0,2) size 96x22
+              RenderTableCell {TD} at (2,2) size 92x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 36x18
+                  text run at (2,2) width 36: &quot;Table&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (210,28) size 0x18
+      RenderBlock (anonymous) at (0,670) size 769x36
+        RenderText {#text} at (0,0) size 755x36
+          text run at (0,0) width 755: &quot;The floating table with an auto width should be even with the select and shrinks to use the available line width. THIS IS&quot;
+          text run at (0,18) width 166: &quot;CURRENTLY BUGGY.&quot;
+      RenderBlock {P} at (0,722) size 220x126 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderTable {TABLE} at (10,50) size 200x66 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 196x62
+            RenderTableRow {TR} at (0,2) size 196x58
+              RenderTableCell {TD} at (2,2) size 192x58 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 161x54
+                  text run at (2,2) width 159: &quot;Floating table that should&quot;
+                  text run at (2,20) width 161: &quot;shrink so it can be next to&quot;
+                  text run at (2,38) width 90: &quot;previous float.&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (110,28) size 0x18
+      RenderBlock (anonymous) at (0,864) size 769x18
+        RenderText {#text} at (0,0) size 730x18
+          text run at (0,0) width 578: &quot;The block-level table below has a percentage width and should still be even with the select. &quot;
+          text run at (578,0) width 152: &quot;It spills out of the block.&quot;
+      RenderBlock {P} at (0,898) size 220x144 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderTable {TABLE} at (10,50) size 200x66 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 196x62
+            RenderTableRow {TR} at (0,2) size 196x58
+              RenderTableCell {TD} at (2,2) size 192x58 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 161x54
+                  text run at (2,2) width 159: &quot;Floating table that should&quot;
+                  text run at (2,20) width 161: &quot;shrink so it can be next to&quot;
+                  text run at (2,38) width 90: &quot;previous float.&quot;
+        RenderBlock (anonymous) at (10,116) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,1058) size 769x18
+        RenderText {#text} at (0,0) size 743x18
+          text run at (0,0) width 545: &quot;The block-level table below has an auto width and should still be even with the select. &quot;
+          text run at (545,0) width 198: &quot;It shrinks to fit inside the block.&quot;
+      RenderBlock {P} at (0,1092) size 220x176 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderTable {TABLE} at (110,28) size 100x120 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 96x116
+            RenderTableRow {TR} at (0,2) size 96x112
+              RenderTableCell {TD} at (2,2) size 92x112 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 88x108
+                  text run at (2,2) width 86: &quot;Floating table&quot;
+                  text run at (2,20) width 69: &quot;that should&quot;
+                  text run at (2,38) width 69: &quot;shrink so it&quot;
+                  text run at (2,56) width 88: &quot;can be next to&quot;
+                  text run at (2,74) width 54: &quot;previous&quot;
+                  text run at (2,92) width 32: &quot;float.&quot;
+        RenderBlock (anonymous) at (10,148) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,1284) size 769x18
+        RenderText {#text} at (0,0) size 538x18
+          text run at (0,0) width 538: &quot;The floating overflow section with a percentage width should be even with the select.&quot;
+      RenderBlock {DIV} at (0,1302) size 220x146 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (210,28) size 0x18
+      RenderBlock (anonymous) at (0,1448) size 769x36
+        RenderText {#text} at (0,0) size 728x36
+          text run at (0,0) width 728: &quot;The floating overflow section with an auto width should be even with the select and shrinks to use the available line&quot;
+          text run at (0,18) width 268: &quot;width. THIS IS CURRENTLY BUGGY.&quot;
+      RenderBlock {DIV} at (0,1484) size 220x114 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (110,28) size 0x18
+      RenderBlock (anonymous) at (0,1598) size 769x18
+        RenderText {#text} at (0,0) size 649x18
+          text run at (0,0) width 649: &quot;The block-level overflow section below has a percentage width and should still be even with the select.&quot;
+      RenderBlock {DIV} at (0,1616) size 220x164 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (10,136) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,1780) size 769x36
+        RenderText {#text} at (0,0) size 752x36
+          text run at (0,0) width 620: &quot;The block-level overflow section below has an auto width and should still be even with the select. &quot;
+          text run at (620,0) width 132: &quot;It shrinks to fit inside&quot;
+          text run at (0,18) width 62: &quot;the block.&quot;
+      RenderBlock {DIV} at (0,1816) size 220x164 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (10,136) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,1980) size 769x18
+        RenderText {#text} at (0,0) size 446x18
+          text run at (0,0) width 446: &quot;The floating hr with a percentage width should be even with the select.&quot;
+      RenderBlock {DIV} at (0,1998) size 220x60 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderBlock (floating) {HR} at (112,30) size 82x2 [border: (1px inset #000000)]
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (196,28) size 0x18
+      RenderBlock (anonymous) at (0,2058) size 769x36
+        RenderText {#text} at (0,0) size 750x36
+          text run at (0,0) width 750: &quot;The floating hr below should still be even with the select and shrinks to use its intrinsic width (which is basically like 1-&quot;
+          text run at (0,18) width 33: &quot;2px).&quot;
+      RenderBlock {DIV} at (0,2094) size 220x60 [border: (10px solid #FF0000)]
+        RenderText {#text} at (10,10) size 60x18
+          text run at (10,10) width 60: &quot;Line One&quot;
+        RenderBR {BR} at (70,24) size 0x0
+        RenderMenuList {SELECT} at (10,30) size 100x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 100x18
+            RenderText at (8,2) size 22x13
+              text run at (8,2) width 22: &quot;One&quot;
+        RenderText {#text} at (0,0) size 0x0
+        RenderBlock (floating) {HR} at (112,30) size 2x2 [border: (1px inset #000000)]
+        RenderText {#text} at (0,0) size 0x0
+        RenderBR {BR} at (116,28) size 0x18
+      RenderBlock (anonymous) at (0,2154) size 769x18
+        RenderText {#text} at (0,0) size 557x18
+          text run at (0,0) width 557: &quot;The block-level hr below has a percentage width and should still be even with the select.&quot;
+      RenderBlock {DIV} at (0,2172) size 220x88 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderBlock {HR} at (10,50) size 202x2 [border: (1px inset #000000)]
+        RenderBlock (anonymous) at (10,60) size 200x18
+          RenderBR {BR} at (0,0) size 0x18
+      RenderBlock (anonymous) at (0,2260) size 769x18
+        RenderText {#text} at (0,0) size 623x18
+          text run at (0,0) width 528: &quot;The block-level hr below has an auto width and should still be even with the select. &quot;
+          text run at (528,0) width 95: &quot;It shrinks to fit.&quot;
+      RenderBlock {DIV} at (0,2278) size 220x74 [border: (10px solid #FF0000)]
+        RenderBlock (anonymous) at (10,10) size 200x18
+          RenderText {#text} at (0,0) size 60x18
+            text run at (0,0) width 60: &quot;Line One&quot;
+          RenderBR {BR} at (60,14) size 0x0
+          RenderMenuList {SELECT} at (0,20) size 100x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 100x18
+              RenderText at (8,2) size 22x13
+                text run at (8,2) width 22: &quot;One&quot;
+          RenderText {#text} at (0,0) size 0x0
+        RenderBlock {HR} at (110,36) size 100x2 [border: (1px inset #000000)]
+        RenderBlock (anonymous) at (10,46) size 200x18
+          RenderBR {BR} at (100,0) size 0x18
+layer at (118,1338) size 100x108
+  RenderBlock (floating) {DIV} at (110,28) size 100x108
+    RenderText {#text} at (0,0) size 98x108
+      text run at (0,0) width 61: &quot;This is an&quot;
+      text run at (0,18) width 57: &quot;overflow&quot;
+      text run at (0,36) width 76: &quot;section with&quot;
+      text run at (0,54) width 90: &quot;enough text to&quot;
+      text run at (0,72) width 98: &quot;have to wrap to&quot;
+      text run at (0,90) width 88: &quot;multiple lines.&quot;
+layer at (18,1542) size 200x54
+  RenderBlock (floating) {DIV} at (10,50) size 200x54
+    RenderText {#text} at (0,0) size 172x54
+      text run at (0,0) width 170: &quot;This is an overflow section&quot;
+      text run at (0,18) width 172: &quot;with enough text to have to&quot;
+      text run at (0,36) width 140: &quot;wrap to multiple lines.&quot;
+layer at (118,1652) size 100x108
+  RenderBlock {DIV} at (110,28) size 100x108
+    RenderText {#text} at (0,0) size 98x108
+      text run at (0,0) width 61: &quot;This is an&quot;
+      text run at (0,18) width 57: &quot;overflow&quot;
+      text run at (0,36) width 76: &quot;section with&quot;
+      text run at (0,54) width 90: &quot;enough text to&quot;
+      text run at (0,72) width 98: &quot;have to wrap to&quot;
+      text run at (0,90) width 88: &quot;multiple lines.&quot;
+layer at (118,1852) size 100x108
+  RenderBlock {DIV} at (110,28) size 100x108
+    RenderText {#text} at (0,0) size 98x108
+      text run at (0,0) width 61: &quot;This is an&quot;
+      text run at (0,18) width 57: &quot;overflow&quot;
+      text run at (0,36) width 76: &quot;section with&quot;
+      text run at (0,54) width 90: &quot;enough text to&quot;
+      text run at (0,72) width 98: &quot;have to wrap to&quot;
+      text run at (0,90) width 88: &quot;multiple lines.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastcsscontinuationCrashexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/css/continuationCrash-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/css/continuationCrash-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/css/continuationCrash-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock (anonymous) at (0,0) size 784x0
+        RenderInline {SPAN} at (0,0) size 0x0
+          RenderInline {SPAN} at (0,0) size 0x0
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {H4} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 81x18
+          text run at (0,0) width 81: &quot;Instructions&quot;
+      RenderBlock {P} at (0,39) size 784x19
+        RenderText {#text} at (0,0) size 176x18
+          text run at (0,0) width 176: &quot;Click the following buttons.&quot;
+      RenderBlock {OL} at (0,73) size 784x167
+        RenderListItem {LI} at (40,0) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;1&quot;
+          RenderText {#text} at (0,0) size 193x18
+            text run at (0,0) width 193: &quot;Start with the outmost left one.&quot;
+        RenderListItem {LI} at (40,18) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;2&quot;
+          RenderText {#text} at (0,0) size 135x18
+            text run at (0,0) width 135: &quot;Click the middle one.&quot;
+        RenderListItem {LI} at (40,36) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;3&quot;
+          RenderText {#text} at (0,0) size 266x18
+            text run at (0,0) width 266: &quot;(The ouline will not be updated correctly.)&quot;
+        RenderListItem {LI} at (40,54) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;4&quot;
+          RenderText {#text} at (0,0) size 138x18
+            text run at (0,0) width 138: &quot;Click the right button.&quot;
+        RenderListItem {LI} at (40,72) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;5&quot;
+          RenderText {#text} at (0,0) size 465x18
+            text run at (0,0) width 465: &quot;This will crash Safari 1.3 (v176 and v170, no other configurations tested).&quot;
+        RenderListItem {LI} at (40,90) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;6&quot;
+          RenderText {#text} at (0,0) size 294x18
+            text run at (0,0) width 294: &quot;The combination 2. 1. 3. will also crash Safari.&quot;
+        RenderListItem {LI} at (40,108) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;7&quot;
+          RenderText {#text} at (0,0) size 447x18
+            text run at (0,0) width 447: &quot;1. 3. will not crash Safari. (But the outline should vanish. Shouldn't it?)&quot;
+        RenderListItem {LI} at (40,126) size 744x18
+          RenderListMarker at (-20,0) size 16x18: &quot;8&quot;
+          RenderText {#text} at (0,0) size 201x18
+            text run at (0,0) width 201: &quot;2. 3. will not crash Safari either.&quot;
+        RenderBlock (anonymous) at (40,144) size 744x22
+          RenderButton {INPUT} at (2,2) size 136x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 120x14
+              RenderText at (0,0) size 120x13
+                text run at (0,0) width 120: &quot;1. Set outline property&quot;
+          RenderText {#text} at (139,1) size 5x18
+            text run at (139,1) width 5: &quot; &quot;
+          RenderButton {INPUT} at (145,2) size 137x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 121x14
+              RenderText at (0,0) size 121x13
+                text run at (0,0) width 121: &quot;2. Set display property&quot;
+          RenderText {#text} at (283,1) size 5x18
+            text run at (283,1) width 5: &quot; &quot;
+          RenderButton {INPUT} at (289,2) size 150x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 133x14
+              RenderText at (0,0) size 133x13
+                text run at (0,0) width 133: &quot;3. Replace span-element&quot;
+          RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastcssmargintopbottomdynamicexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/css/margin-top-bottom-dynamic-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/css/margin-top-bottom-dynamic-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/css/margin-top-bottom-dynamic-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,71 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 249x18
+          text run at (0,0) width 249: &quot;What it should look like (positive case):&quot;
+      RenderBlock {DIV} at (0,34) size 784x72 [border: (1px solid #008000)]
+        RenderBlock {DIV} at (1,11) size 782x20 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+        RenderBlock {DIV} at (1,41) size 782x20 [border: (1px dotted #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+      RenderBlock {P} at (0,122) size 784x18
+        RenderText {#text} at (0,0) size 253x18
+          text run at (0,0) width 253: &quot;What it should look like (negative case):&quot;
+      RenderBlock {DIV} at (0,156) size 784x32 [border: (1px solid #008000)]
+        RenderBlock {DIV} at (1,11) size 782x20 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+        RenderBlock {DIV} at (1,21) size 782x20 [border: (1px dotted #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+      RenderBlock {P} at (0,204) size 784x18
+        RenderText {#text} at (0,0) size 369x18
+          text run at (0,0) width 369: &quot;Dynamic case (automatically testing positive --&gt; negative):&quot;
+      RenderBlock {DIV} at (0,238) size 784x32 [border: (1px solid #008000)]
+        RenderBlock {DIV} at (1,11) size 782x20 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+        RenderBlock {DIV} at (1,21) size 782x20 [border: (1px dotted #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+      RenderBlock (anonymous) at (0,270) size 784x40
+        RenderBR {BR} at (0,0) size 0x18
+        RenderButton {INPUT} at (2,20) size 104x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 88x14
+            RenderText at (0,0) size 88x13
+              text run at (0,0) width 88: &quot;Negative margin&quot;
+        RenderText {#text} at (107,19) size 5x18
+          text run at (107,19) width 5: &quot; &quot;
+        RenderButton {INPUT} at (113,20) size 99x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 82x14
+            RenderText at (0,0) size 82x13
+              text run at (0,0) width 82: &quot;Positive margin&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {P} at (0,326) size 784x18
+        RenderText {#text} at (0,0) size 445x18
+          text run at (0,0) width 445: &quot;Dynamic case (automatically testing positive --&gt; negative --&gt; positive):&quot;
+      RenderBlock {DIV} at (0,360) size 784x72 [border: (1px solid #008000)]
+        RenderBlock {DIV} at (1,11) size 782x20 [border: (1px solid #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+        RenderBlock {DIV} at (1,41) size 782x20 [border: (1px dotted #0000FF)]
+          RenderText {#text} at (1,1) size 84x18
+            text run at (1,1) width 84: &quot;Lorem ipsum&quot;
+      RenderBlock (anonymous) at (0,432) size 784x40
+        RenderBR {BR} at (0,0) size 0x18
+        RenderButton {INPUT} at (2,20) size 104x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 88x14
+            RenderText at (0,0) size 88x13
+              text run at (0,0) width 88: &quot;Negative margin&quot;
+        RenderText {#text} at (107,19) size 5x18
+          text run at (107,19) width 5: &quot; &quot;
+        RenderButton {INPUT} at (113,20) size 99x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 82x14
+            RenderText at (0,0) size 82x13
+              text run at (0,0) width 82: &quot;Positive margin&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastdomHTMLTextAreaElementresettextareaexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {FORM} at (0,0) size 784x43
+        RenderText {#text} at (165,22) size 4x18
+          text run at (165,22) width 4: &quot; &quot;
+        RenderText {#text} at (334,22) size 4x18
+          text run at (334,22) width 4: &quot; &quot;
+        RenderButton {INPUT} at (340,23) size 45x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 29x14
+            RenderText at (0,0) size 29x13
+              text run at (0,0) width 29: &quot;Reset&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {P} at (0,59) size 784x72
+        RenderText {#text} at (0,0) size 358x18
+          text run at (0,0) width 358: &quot;This test verifies that textarea controls are properly reset. &quot;
+        RenderBR {BR} at (358,14) size 0x0
+        RenderText {#text} at (0,18) size 475x18
+          text run at (0,18) width 475: &quot;You should see two element IDs below, and the word \&quot;SUCCESS\&quot; twice: &quot;
+        RenderBR {BR} at (475,32) size 0x0
+        RenderText {#text} at (0,36) size 175x18
+          text run at (0,36) width 175: &quot;noDefaultText: SUCCESS &quot;
+        RenderBR {BR} at (175,50) size 0x0
+        RenderText {#text} at (0,54) size 176x18
+          text run at (0,54) width 176: &quot;hasDefaultText: SUCCESS&quot;
+layer at (10,10) size 161x32 clip at (11,11) size 159x30
+  RenderTextControl {TEXTAREA} at (2,2) size 161x32 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 155x13
+layer at (179,10) size 161x32 clip at (180,11) size 159x30
+  RenderTextControl {TEXTAREA} at (171,2) size 161x32 [bgcolor=#FFFFFF] [border: (1px solid #000000)]
+    RenderBlock {DIV} at (3,3) size 155x13
+      RenderText {#text} at (0,0) size 67x13
+        text run at (0,0) width 67: &quot;Default Text&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastforms001expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/001-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/001-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/001-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,65 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {H1} at (0,0) size 784x37
+        RenderText {#text} at (0,0) size 234x37
+          text run at (0,0) width 234: &quot;Min-Width Tests&quot;
+      RenderTable {TABLE} at (0,58) size 784x87 [border: (2px outset #808080)]
+        RenderTableSection {TBODY} at (2,2) size 780x82
+          RenderTableRow {TR} at (0,0) size 780x82
+            RenderTableCell {TD} at (0,0) size 135x82 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderMenuList {SELECT} at (3,1) size 129x80 [bgcolor=#FFFFFF] [border: (40px solid #FF0000)]
+                RenderBlock (anonymous) at (40,40) size 49x16
+                  RenderText at (8,1) size 20x13
+                    text run at (8,1) width 20: &quot;Foo&quot;
+            RenderTableCell {TD} at (135,40) size 645x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+      RenderBlock {P} at (0,160) size 784x25
+        RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 780x20
+            RenderTableRow {TR} at (0,0) size 780x20
+              RenderTableCell {TD} at (0,0) size 18x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (18,9) size 762x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+      RenderBlock {P} at (0,200) size 784x25
+        RenderTable {TABLE} at (0,0) size 784x24 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 780x20
+            RenderTableRow {TR} at (0,0) size 780x20
+              RenderTableCell {TD} at (0,0) size 18x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (18,9) size 762x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+      RenderBlock {P} at (0,240) size 784x29
+        RenderTable {TABLE} at (0,0) size 784x28 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 780x24
+            RenderTableRow {TR} at (0,0) size 780x24
+              RenderTableCell {TD} at (0,0) size 42x24 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 36x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 20x14
+                    RenderText at (0,0) size 20x13
+                      text run at (0,0) width 20: &quot;Foo&quot;
+              RenderTableCell {TD} at (42,11) size 738x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+      RenderBlock {P} at (0,284) size 784x268
+        RenderTable {TABLE} at (0,0) size 784x91 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 780x87
+            RenderTableRow {TR} at (0,0) size 780x87
+              RenderTableCell {TD} at (0,0) size 118x87 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderButton {INPUT} at (3,1) size 112x85 [bgcolor=#C0C0C0] [border: (40px solid #FF0000)]
+                  RenderBlock (anonymous) at (46,42) size 20x13
+                    RenderText at (0,0) size 20x13
+                      text run at (0,0) width 20: &quot;Foo&quot;
+              RenderTableCell {TD} at (118,42) size 662x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+        RenderTable {TABLE} at (0,91) size 784x91 [border: (2px outset #808080)]
+          RenderTableSection {TBODY} at (2,2) size 780x87
+            RenderTableRow {TR} at (0,0) size 780x87
+              RenderTableCell {TD} at (0,0) size 169x87 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderButton {INPUT} at (3,1) size 163x85 [bgcolor=#C0C0C0] [border: (40px solid #FF0000)]
+                  RenderBlock (anonymous) at (46,42) size 71x13
+                    RenderText at (0,0) size 71x13
+                      text run at (0,0) width 71: &quot;Submit a bug&quot;
+              RenderTableCell {TD} at (169,42) size 611x2 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+        RenderBlock (anonymous) at (0,182) size 784x85
+          RenderButton {INPUT} at (2,0) size 112x85 [bgcolor=#C0C0C0] [border: (40px solid #FF0000)]
+            RenderBlock (anonymous) at (46,42) size 20x13
+              RenderText at (0,0) size 20x13
+                text run at (0,0) width 20: &quot;Foo&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsblankbuttonsexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/blankbuttons-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/blankbuttons-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/blankbuttons-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderButton {INPUT} at (2,2) size 54x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 38x14
+          RenderText at (0,0) size 38x13
+            text run at (0,0) width 38: &quot;Submit&quot;
+      RenderBR {BR} at (57,15) size 1x0
+      RenderButton {INPUT} at (2,24) size 45x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 29x14
+          RenderText at (0,0) size 29x13
+            text run at (0,0) width 29: &quot;Reset&quot;
+      RenderBR {BR} at (48,37) size 1x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsbuttontablestylesexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/button-table-styles-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/button-table-styles-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/button-table-styles-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,143 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 342x18
+          text run at (0,0) width 342: &quot;This tests that buttons don't honor table display styles. &quot;
+        RenderBR {BR} at (342,14) size 0x0
+      RenderButton {INPUT} at (2,20) size 88x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 72x14
+          RenderText at (0,0) size 72x13
+            text run at (0,0) width 72: &quot;display: table&quot;
+      RenderButton {INPUT} at (2,40) size 88x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 72x14
+          RenderText at (0,0) size 72x13
+            text run at (0,0) width 72: &quot;display: table&quot;
+      RenderBlock (anonymous) at (0,60) size 784x378
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+        RenderButton {INPUT} at (2,38) size 123x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 107x14
+            RenderText at (0,0) size 107x13
+              text run at (0,0) width 107: &quot;display: inline-table&quot;
+        RenderText {#text} at (126,37) size 5x18
+          text run at (126,37) width 5: &quot; &quot;
+        RenderButton {INPUT} at (132,38) size 124x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 107x14
+            RenderText at (0,0) size 107x13
+              text run at (0,0) width 107: &quot;display: inline-table&quot;
+        RenderText {#text} at (257,37) size 5x18
+          text run at (257,37) width 5: &quot; &quot;
+        RenderBR {BR} at (261,51) size 1x0
+        RenderBR {BR} at (0,58) size 0x18
+        RenderButton {INPUT} at (2,78) size 152x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 136x14
+            RenderText at (0,0) size 136x13
+              text run at (0,0) width 136: &quot;display: table-row-group&quot;
+        RenderText {#text} at (155,77) size 5x18
+          text run at (155,77) width 5: &quot; &quot;
+        RenderButton {INPUT} at (161,78) size 152x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 136x14
+            RenderText at (0,0) size 136x13
+              text run at (0,0) width 136: &quot;display: table-row-group&quot;
+        RenderText {#text} at (314,77) size 5x18
+          text run at (314,77) width 5: &quot; &quot;
+        RenderBR {BR} at (318,91) size 1x0
+        RenderBR {BR} at (0,98) size 0x18
+        RenderButton {INPUT} at (2,118) size 169x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 153x14
+            RenderText at (0,0) size 153x13
+              text run at (0,0) width 153: &quot;display: table-header-group&quot;
+        RenderText {#text} at (172,117) size 5x18
+          text run at (172,117) width 5: &quot; &quot;
+        RenderButton {INPUT} at (178,118) size 169x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 153x14
+            RenderText at (0,0) size 153x13
+              text run at (0,0) width 153: &quot;display: table-header-group&quot;
+        RenderText {#text} at (348,117) size 5x18
+          text run at (348,117) width 5: &quot; &quot;
+        RenderBR {BR} at (352,131) size 1x0
+        RenderBR {BR} at (0,138) size 0x18
+        RenderButton {INPUT} at (2,158) size 164x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 148x14
+            RenderText at (0,0) size 148x13
+              text run at (0,0) width 148: &quot;display: table-footer-group&quot;
+        RenderText {#text} at (167,157) size 5x18
+          text run at (167,157) width 5: &quot; &quot;
+        RenderButton {INPUT} at (173,158) size 165x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 148x14
+            RenderText at (0,0) size 148x13
+              text run at (0,0) width 148: &quot;display: table-footer-group&quot;
+        RenderText {#text} at (339,157) size 5x18
+          text run at (339,157) width 5: &quot; &quot;
+        RenderBR {BR} at (343,171) size 1x0
+        RenderBR {BR} at (0,178) size 0x18
+        RenderButton {INPUT} at (2,198) size 114x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 98x14
+            RenderText at (0,0) size 98x13
+              text run at (0,0) width 98: &quot;display: table-row&quot;
+        RenderText {#text} at (117,197) size 5x18
+          text run at (117,197) width 5: &quot; &quot;
+        RenderButton {INPUT} at (123,198) size 114x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 98x14
+            RenderText at (0,0) size 98x13
+              text run at (0,0) width 98: &quot;display: table-row&quot;
+        RenderText {#text} at (238,197) size 5x18
+          text run at (238,197) width 5: &quot; &quot;
+        RenderBR {BR} at (242,211) size 1x0
+        RenderBR {BR} at (0,218) size 0x18
+        RenderButton {INPUT} at (2,238) size 172x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 156x14
+            RenderText at (0,0) size 156x13
+              text run at (0,0) width 156: &quot;display: table-column-group&quot;
+        RenderText {#text} at (175,237) size 5x18
+          text run at (175,237) width 5: &quot; &quot;
+        RenderButton {INPUT} at (181,238) size 172x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 156x14
+            RenderText at (0,0) size 156x13
+              text run at (0,0) width 156: &quot;display: table-column-group&quot;
+        RenderText {#text} at (354,237) size 5x18
+          text run at (354,237) width 5: &quot; &quot;
+        RenderBR {BR} at (358,251) size 1x0
+        RenderBR {BR} at (0,258) size 0x18
+        RenderButton {INPUT} at (2,278) size 133x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 117x14
+            RenderText at (0,0) size 117x13
+              text run at (0,0) width 117: &quot;display: table-column&quot;
+        RenderText {#text} at (136,277) size 5x18
+          text run at (136,277) width 5: &quot; &quot;
+        RenderButton {INPUT} at (142,278) size 134x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 117x14
+            RenderText at (0,0) size 117x13
+              text run at (0,0) width 117: &quot;display: table-column&quot;
+        RenderText {#text} at (277,277) size 5x18
+          text run at (277,277) width 5: &quot; &quot;
+        RenderBR {BR} at (281,291) size 1x0
+        RenderBR {BR} at (0,298) size 0x18
+        RenderButton {INPUT} at (2,318) size 112x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 96x14
+            RenderText at (0,0) size 96x13
+              text run at (0,0) width 96: &quot;display: table-cell&quot;
+        RenderText {#text} at (115,317) size 5x18
+          text run at (115,317) width 5: &quot; &quot;
+        RenderButton {INPUT} at (121,318) size 113x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 96x14
+            RenderText at (0,0) size 96x13
+              text run at (0,0) width 96: &quot;display: table-cell&quot;
+        RenderText {#text} at (235,317) size 5x18
+          text run at (235,317) width 5: &quot; &quot;
+        RenderBR {BR} at (239,331) size 1x0
+        RenderBR {BR} at (0,338) size 0x18
+        RenderButton {INPUT} at (2,358) size 133x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 117x14
+            RenderText at (0,0) size 117x13
+              text run at (0,0) width 117: &quot;display: table-caption&quot;
+        RenderText {#text} at (136,357) size 5x18
+          text run at (136,357) width 5: &quot; &quot;
+        RenderButton {INPUT} at (142,358) size 134x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 117x14
+            RenderText at (0,0) size 117x13
+              text run at (0,0) width 117: &quot;display: table-caption&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformscontrolrestrictlineheightexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/control-restrict-line-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,32 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 519x18
+        text run at (0,0) width 519: &quot;This tests that we don't honor line-height for controls that have restricted font size. &quot;
+      RenderBR {BR} at (0,0) size 0x0
+      RenderMenuList {SELECT} at (2,20) size 309x18 [bgcolor=#FFFFFF]
+        RenderBlock (anonymous) at (0,0) size 309x18
+          RenderText at (8,2) size 278x13
+            text run at (8,2) width 278: &quot;This text should be centered vertically in the button&quot;
+      RenderText {#text} at (313,19) size 4x18
+        text run at (313,19) width 4: &quot; &quot;
+      RenderBR {BR} at (0,0) size 0x0
+      RenderButton {INPUT} at (2,42) size 294x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 278x14
+          RenderText at (0,0) size 278x13
+            text run at (0,0) width 278: &quot;This text should be centered vertically in the button&quot;
+      RenderText {#text} at (297,41) size 5x18
+        text run at (297,41) width 5: &quot; &quot;
+      RenderBR {BR} at (0,0) size 0x0
+      RenderTextControl {INPUT} at (2,64) size 144x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderFlexibleBox {DIV} at (3,3) size 138x13
+          RenderBlock {DIV} at (0,1) size 8x11
+          RenderBlock {DIV} at (8,0) size 117x13
+          RenderBlock {DIV} at (125,1) size 13x11
+      RenderText {#text} at (0,0) size 0x0
+layer at (21,75) size 117x13 scrollWidth 279
+  RenderBlock {DIV} at (0,0) size 117x13
+    RenderText {#text} at (0,0) size 278x13
+      text run at (0,0) width 278: &quot;This text should be centered vertically in the button&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsfilefileinputdirectionexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-direction-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-direction-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-direction-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,101 @@
</span><ins>+layer at (0,0) size 1083x585
+  RenderView at (0,0) size 800x585
+layer at (0,0) size 800x585
+  RenderBlock {HTML} at (0,0) size 800x585
+    RenderBody {BODY} at (8,8) size 784x569
+      RenderTable {TABLE} at (0,0) size 1075x108
+        RenderTableSection {TBODY} at (0,0) size 1075x108
+          RenderTableRow {TR} at (0,2) size 1075x20
+            RenderTableCell {TH} at (2,11) size 83x2 [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TH} at (87,11) size 245x2 [r=0 c=1 rs=1 cs=1]
+            RenderTableCell {TH} at (334,2) size 245x20 [r=0 c=2 rs=1 cs=1]
+              RenderText {#text} at (78,1) size 89x18
+                text run at (78,1) width 89: &quot;text-align:left&quot;
+            RenderTableCell {TH} at (581,2) size 245x20 [r=0 c=3 rs=1 cs=1]
+              RenderText {#text} at (67,1) size 111x18
+                text run at (67,1) width 111: &quot;text-align:center&quot;
+            RenderTableCell {TH} at (828,2) size 245x20 [r=0 c=4 rs=1 cs=1]
+              RenderText {#text} at (72,1) size 101x18
+                text run at (72,1) width 101: &quot;text-align:right&quot;
+          RenderTableRow {TR} at (0,24) size 1075x26
+            RenderTableCell {TH} at (2,36) size 83x2 [r=1 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (87,24) size 245x26 [border: (1px solid #000000)] [r=1 c=1 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (334,24) size 245x26 [border: (1px solid #000000)] [r=1 c=2 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (581,24) size 245x26 [border: (1px solid #000000)] [r=1 c=3 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (828,24) size 245x26 [border: (1px solid #000000)] [r=1 c=4 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+          RenderTableRow {TR} at (0,52) size 1075x26
+            RenderTableCell {TH} at (2,55) size 83x20 [r=2 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 81x18
+                text run at (1,1) width 81: &quot;direction:ltr&quot;
+            RenderTableCell {TD} at (87,52) size 245x26 [border: (1px solid #000000)] [r=2 c=1 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (334,52) size 245x26 [border: (1px solid #000000)] [r=2 c=2 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (581,52) size 245x26 [border: (1px solid #000000)] [r=2 c=3 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+            RenderTableCell {TD} at (828,52) size 245x26 [border: (1px solid #000000)] [r=2 c=4 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 62: &quot;Choose File&quot;
+          RenderTableRow {TR} at (0,80) size 1075x26
+            RenderTableCell {TH} at (2,83) size 83x20 [r=3 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 81x18
+                text run at (1,1) width 81: &quot;direction:rtl&quot;
+            RenderTableCell {TD} at (87,80) size 245x26 [border: (1px solid #000000)] [r=3 c=1 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (159,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 61: &quot;Choose File&quot;
+            RenderTableCell {TD} at (334,80) size 245x26 [border: (1px solid #000000)] [r=3 c=2 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (159,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 61: &quot;Choose File&quot;
+            RenderTableCell {TD} at (581,80) size 245x26 [border: (1px solid #000000)] [r=3 c=3 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (159,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 61: &quot;Choose File&quot;
+            RenderTableCell {TD} at (828,80) size 245x26 [border: (1px solid #000000)] [r=3 c=4 rs=1 cs=1]
+              RenderFileUploadControl {INPUT} at (4,4) size 237x18 &quot;no file selected&quot;
+                RenderButton {INPUT} at (159,0) size 78x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 62x14
+                    RenderText at (0,0) size 62x13
+                      text run at (0,0) width 61: &quot;Choose File&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsfilefileinputdisabledexpectedtxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-disabled-expected.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/file/file-input-disabled-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,11 +5,11 @@
</span><span class="cx">     RenderBody {BODY} at (8,8) size 784x576
</span><span class="cx">       RenderBlock {FORM} at (0,0) size 784x59
</span><span class="cx">         RenderBlock (anonymous) at (0,0) size 784x59
</span><del>-          RenderBlock {INPUT} at (2,4) size 13x12
-          RenderInline {B} at (0,0) size 76x18
-            RenderText {#text} at (17,0) size 76x18
-              text run at (17,0) width 76: &quot;Attach File&quot;
-          RenderBR {BR} at (92,14) size 1x0
</del><ins>+          RenderBlock {INPUT} at (2,4) size 12x12
+          RenderInline {B} at (0,0) size 75x18
+            RenderText {#text} at (16,0) size 75x18
+              text run at (16,0) width 75: &quot;Attach File&quot;
+          RenderBR {BR} at (91,14) size 0x0
</ins><span class="cx">           RenderBR {BR} at (0,19) size 0x18
</span><span class="cx">           RenderText {#text} at (0,38) size 86x18
</span><span class="cx">             text run at (0,38) width 86: &quot;  Select File:  &quot;
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsfileinputfilererenderexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/file/input-file-re-render-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/file/input-file-re-render-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/file/input-file-re-render-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x80
+  RenderBlock {HTML} at (0,0) size 800x80
+    RenderBody {BODY} at (8,8) size 784x56
+      RenderBlock {FORM} at (0,0) size 784x22
+        RenderFileUploadControl {INPUT} at (2,2) size 237x18 &quot;2 files&quot;
+          RenderButton {INPUT} at (0,0) size 84x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 68x14
+              RenderText at (0,0) size 68x13
+                text run at (0,0) width 68: &quot;Choose Files&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {P} at (0,38) size 784x18
+        RenderText {#text} at (0,0) size 442x18
+          text run at (0,0) width 442: &quot;The file upload control above should have text '2 files,' not a filename.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsformmove3expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/formmove3-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/formmove3-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/formmove3-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (anonymous) at (0,0) size 784x0
+        RenderInline {A} at (0,0) size 0x0
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,0) size 784x28
+        RenderBlock (anonymous) at (0,0) size 784x0
+          RenderInline {A} at (0,0) size 0x0
+            RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (0,0) size 784x28
+          RenderTable {TABLE} at (0,0) size 66x28
+            RenderTableSection {TBODY} at (0,0) size 66x28
+              RenderTableRow {TR} at (0,2) size 66x24
+                RenderTableCell {TD} at (2,13) size 2x2 [r=0 c=0 rs=1 cs=1]
+                RenderTableCell {TD} at (6,2) size 58x24 [r=0 c=1 rs=1 cs=1]
+                  RenderButton {INPUT} at (3,3) size 52x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 36x14
+                      RenderText at (0,0) size 36x13
+                        text run at (0,0) width 36: &quot;Search&quot;
+        RenderBlock (anonymous) at (0,28) size 784x0
+          RenderInline {A} at (0,0) size 0x0
+          RenderInline {A} at (0,0) size 0x0 [color=#0000EE]
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,28) size 784x18
+        RenderText {#text} at (0,0) size 104x18
+          text run at (0,0) width 104: &quot;Form did submit&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsinputappearanceheightexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/input-appearance-height-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/input-appearance-height-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/input-appearance-height-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,106 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 762x18
+          text run at (0,0) width 762: &quot;This tests the height attribute of form elements. The only element that should honour this value is the Image type of input.&quot;
+      RenderBlock {FORM} at (0,18) size 784x258
+        RenderText {#text} at (0,2) size 36x18
+          text run at (0,2) width 36: &quot;input &quot;
+        RenderTextControl {INPUT} at (38,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (163,2) size 4x18
+          text run at (163,2) width 4: &quot; &quot;
+        RenderBR {BR} at (167,16) size 0x0
+        RenderText {#text} at (0,25) size 27x18
+          text run at (0,25) width 27: &quot;text &quot;
+        RenderTextControl {INPUT} at (29,25) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (154,25) size 4x18
+          text run at (154,25) width 4: &quot; &quot;
+        RenderBR {BR} at (158,39) size 0x0
+        RenderText {#text} at (0,46) size 65x18
+          text run at (0,46) width 65: &quot;checkbox &quot;
+        RenderBlock {INPUT} at (67,50) size 12x12
+        RenderText {#text} at (81,46) size 4x18
+          text run at (81,46) width 4: &quot; &quot;
+        RenderBR {BR} at (85,60) size 0x0
+        RenderText {#text} at (0,66) size 24x18
+          text run at (0,66) width 24: &quot;file &quot;
+        RenderFileUploadControl {INPUT} at (26,67) size 237x18 &quot;no file selected&quot;
+          RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 62x14
+              RenderText at (0,0) size 62x13
+                text run at (0,0) width 62: &quot;Choose File&quot;
+        RenderText {#text} at (265,66) size 4x18
+          text run at (265,66) width 4: &quot; &quot;
+        RenderBR {BR} at (269,80) size 0x0
+        RenderText {#text} at (0,87) size 42x18
+          text run at (0,87) width 42: &quot;image &quot;
+        RenderImage {INPUT} at (42,100) size 10x1
+        RenderText {#text} at (52,87) size 4x18
+          text run at (52,87) width 4: &quot; &quot;
+        RenderBR {BR} at (56,101) size 0x0
+        RenderText {#text} at (0,105) size 36x18
+          text run at (0,105) width 36: &quot;radio &quot;
+        RenderBlock {INPUT} at (38,108) size 12x13
+        RenderText {#text} at (52,105) size 4x18
+          text run at (52,105) width 4: &quot; &quot;
+        RenderBR {BR} at (56,119) size 0x0
+        RenderText {#text} at (0,127) size 39x18
+          text run at (0,127) width 39: &quot;range &quot;
+        RenderSlider {INPUT} at (41,126) size 129x15 [color=#909090] [bgcolor=#FFFFFF]
+          RenderFlexibleBox {DIV} at (0,0) size 129x15
+            RenderBlock {DIV} at (0,0) size 129x15
+              RenderBlock {DIV} at (57,0) size 15x15
+        RenderText {#text} at (172,127) size 4x18
+          text run at (172,127) width 4: &quot; &quot;
+        RenderBR {BR} at (176,141) size 0x0
+        RenderText {#text} at (0,146) size 33x18
+          text run at (0,146) width 33: &quot;reset &quot;
+        RenderButton {INPUT} at (35,147) size 45x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 29x14
+            RenderText at (0,0) size 29x13
+              text run at (0,0) width 29: &quot;Reset&quot;
+        RenderText {#text} at (81,146) size 5x18
+          text run at (81,146) width 5: &quot; &quot;
+        RenderBR {BR} at (85,160) size 1x0
+        RenderText {#text} at (0,168) size 46x18
+          text run at (0,168) width 46: &quot;submit &quot;
+        RenderButton {INPUT} at (48,169) size 54x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 38x14
+            RenderText at (0,0) size 38x13
+              text run at (0,0) width 38: &quot;Submit&quot;
+        RenderText {#text} at (103,168) size 5x18
+          text run at (103,168) width 5: &quot; &quot;
+        RenderBR {BR} at (107,182) size 1x0
+        RenderText {#text} at (0,191) size 49x18
+          text run at (0,191) width 49: &quot;isindex &quot;
+        RenderTextControl {INPUT} at (51,191) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (176,191) size 4x18
+          text run at (176,191) width 4: &quot; &quot;
+        RenderBR {BR} at (180,205) size 0x0
+        RenderText {#text} at (0,214) size 64x18
+          text run at (0,214) width 64: &quot;password &quot;
+        RenderTextControl {INPUT} at (66,214) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (191,214) size 4x18
+          text run at (191,214) width 4: &quot; &quot;
+        RenderBR {BR} at (195,228) size 0x0
+        RenderText {#text} at (0,237) size 44x18
+          text run at (0,237) width 44: &quot;search &quot;
+        RenderTextControl {INPUT} at (46,237) size 144x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+          RenderFlexibleBox {DIV} at (3,3) size 138x13
+            RenderBlock {DIV} at (0,1) size 8x11
+            RenderBlock {DIV} at (8,0) size 117x13
+            RenderBlock {DIV} at (125,1) size 13x11
+        RenderText {#text} at (0,0) size 0x0
+layer at (49,31) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+layer at (40,54) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+layer at (62,220) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+layer at (77,243) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+layer at (65,266) size 117x13
+  RenderBlock {DIV} at (0,0) size 117x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsinputbuttonsizesexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/input-button-sizes-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/input-button-sizes-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/input-button-sizes-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,106 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderButton {INPUT} at (0,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (66,1) size 5x18
+        text run at (66,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (70,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (136,1) size 5x18
+        text run at (136,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (140,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (206,1) size 5x18
+        text run at (206,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (210,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (276,1) size 5x18
+        text run at (276,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (280,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (346,1) size 5x18
+        text run at (346,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (350,4) size 67x15 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 51x11
+          RenderText at (0,0) size 51x11
+            text run at (0,0) width 51: &quot;Test Button&quot;
+      RenderText {#text} at (416,1) size 5x18
+        text run at (416,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (422,2) size 79x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 62x14
+          RenderText at (0,0) size 62x13
+            text run at (0,0) width 62: &quot;Test Button&quot;
+      RenderText {#text} at (502,1) size 5x18
+        text run at (502,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (508,2) size 78x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 62x14
+          RenderText at (0,0) size 62x13
+            text run at (0,0) width 62: &quot;Test Button&quot;
+      RenderText {#text} at (587,1) size 5x18
+        text run at (587,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (593,2) size 78x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 62x14
+          RenderText at (0,0) size 62x13
+            text run at (0,0) width 62: &quot;Test Button&quot;
+      RenderText {#text} at (672,1) size 5x18
+        text run at (672,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (678,2) size 78x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 62x14
+          RenderText at (0,0) size 62x13
+            text run at (0,0) width 62: &quot;Test Button&quot;
+      RenderText {#text} at (757,1) size 5x18
+        text run at (757,1) width 5: &quot; &quot;
+      RenderButton {INPUT} at (2,26) size 78x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 62x14
+          RenderText at (0,0) size 62x13
+            text run at (0,0) width 62: &quot;Test Button&quot;
+      RenderText {#text} at (81,25) size 5x18
+        text run at (81,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (87,24) size 89x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (177,25) size 5x18
+        text run at (177,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (183,24) size 90x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (274,25) size 5x18
+        text run at (274,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (280,24) size 89x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (370,25) size 5x18
+        text run at (370,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (376,24) size 89x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (466,25) size 5x18
+        text run at (466,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (472,24) size 90x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (563,25) size 5x18
+        text run at (563,25) width 5: &quot; &quot;
+      RenderButton {INPUT} at (569,24) size 89x21 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 73x17
+          RenderText at (0,0) size 73x16
+            text run at (0,0) width 73: &quot;Test Button&quot;
+      RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformsinputvalueexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/input-value-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/input-value-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/input-value-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,222 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 784x36
+          text run at (0,0) width 784: &quot;Results that match WinIE are two columns on the right that say \&quot;after\&quot; every time, except for the last row which should have&quot;
+          text run at (0,18) width 158: &quot;nothing in either column.&quot;
+      RenderBlock {P} at (0,52) size 784x18
+        RenderText {#text} at (0,0) size 713x18
+          text run at (0,0) width 713: &quot;Results that match Gecko are like WinIE, but with \&quot;before\&quot; for the attribute in the first two rows and the last row.&quot;
+      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,96) size 784x366
+        RenderTable {TABLE} at (0,0) size 761x366
+          RenderTableSection {THEAD} at (0,0) size 761x24
+            RenderTableRow {TR} at (0,2) size 761x20
+              RenderTableCell {TH} at (2,2) size 385x20 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 55x18
+                  text run at (1,1) width 55: &quot;test case&quot;
+              RenderTableCell {TH} at (389,2) size 243x20 [r=0 c=1 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 89x18
+                  text run at (1,1) width 89: &quot;form element&quot;
+              RenderTableCell {TH} at (634,2) size 62x20 [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 60x18
+                  text run at (1,1) width 60: &quot;property&quot;
+              RenderTableCell {TH} at (698,2) size 61x20 [r=0 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 59x18
+                  text run at (1,1) width 59: &quot;attribute&quot;
+          RenderTableSection {TBODY} at (0,24) size 761x342
+            RenderTableRow {TR} at (0,0) size 761x25
+              RenderTableCell {TD} at (2,2) size 385x20 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 207x18
+                  text run at (1,1) width 207: &quot;text with value property changed&quot;
+              RenderTableCell {TD} at (389,0) size 243x25 [r=0 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (634,2) size 62x20 [r=0 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,2) size 61x20 [r=0 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 40x18
+                  text run at (1,1) width 40: &quot;before&quot;
+            RenderTableRow {TR} at (0,27) size 761x25
+              RenderTableCell {TD} at (2,29) size 385x20 [r=1 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 244x18
+                  text run at (1,1) width 244: &quot;password with value property changed&quot;
+              RenderTableCell {TD} at (389,27) size 243x25 [r=1 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (634,29) size 62x20 [r=1 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,29) size 61x20 [r=1 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 40x18
+                  text run at (1,1) width 40: &quot;before&quot;
+            RenderTableRow {TR} at (0,54) size 761x20
+              RenderTableCell {TD} at (2,54) size 385x20 [r=2 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 249x18
+                  text run at (1,1) width 249: &quot;check box with value property changed&quot;
+              RenderTableCell {TD} at (389,54) size 243x20 [r=2 c=1 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (634,54) size 62x20 [r=2 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,54) size 61x20 [r=2 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,76) size 761x20
+              RenderTableCell {TD} at (2,76) size 385x20 [r=3 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 227x18
+                  text run at (1,1) width 227: &quot;hidden with value property changed&quot;
+              RenderTableCell {TD} at (389,85) size 243x2 [r=3 c=1 rs=1 cs=1]
+              RenderTableCell {TD} at (634,76) size 62x20 [r=3 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,76) size 61x20 [r=3 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,98) size 761x24
+              RenderTableCell {TD} at (2,100) size 385x20 [r=4 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 224x18
+                  text run at (1,1) width 224: &quot;button with value property changed&quot;
+              RenderTableCell {TD} at (389,98) size 243x24 [r=4 c=1 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 41x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 25x14
+                    RenderText at (0,0) size 25x13
+                      text run at (0,0) width 25: &quot;after&quot;
+              RenderTableCell {TD} at (634,100) size 62x20 [r=4 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,100) size 61x20 [r=4 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,124) size 761x20
+              RenderTableCell {TD} at (2,124) size 385x20 [r=5 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 222x18
+                  text run at (1,1) width 222: &quot;image with value property changed&quot;
+              RenderTableCell {TD} at (389,124) size 243x19 [r=5 c=1 rs=1 cs=1]
+                RenderImage {INPUT} at (1,1) size 39x17
+              RenderTableCell {TD} at (634,124) size 62x20 [r=5 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,124) size 61x20 [r=5 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,146) size 761x21
+              RenderTableCell {TD} at (2,146) size 385x20 [r=6 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 216x18
+                  text run at (1,1) width 216: &quot;radio with value property changed&quot;
+              RenderTableCell {TD} at (389,146) size 243x21 [r=6 c=1 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x13
+              RenderTableCell {TD} at (634,146) size 62x20 [r=6 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,146) size 61x20 [r=6 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,169) size 761x25
+              RenderTableCell {TD} at (2,171) size 385x20 [r=7 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 205x18
+                  text run at (1,1) width 205: &quot;text with value attribute changed&quot;
+              RenderTableCell {TD} at (389,169) size 243x25 [r=7 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (634,171) size 62x20 [r=7 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,171) size 61x20 [r=7 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,196) size 761x20
+              RenderTableCell {TD} at (2,196) size 385x20 [r=8 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 247x18
+                  text run at (1,1) width 247: &quot;check box with value attribute changed&quot;
+              RenderTableCell {TD} at (389,196) size 243x20 [r=8 c=1 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (634,196) size 62x20 [r=8 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,196) size 61x20 [r=8 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,218) size 761x20
+              RenderTableCell {TD} at (2,218) size 385x20 [r=9 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 383x18
+                  text run at (1,1) width 383: &quot;text with value property changed, then turned into check box&quot;
+              RenderTableCell {TD} at (389,218) size 243x20 [r=9 c=1 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (634,218) size 62x20 [r=9 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,218) size 61x20 [r=9 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,240) size 761x25
+              RenderTableCell {TD} at (2,242) size 385x20 [r=10 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 383x18
+                  text run at (1,1) width 383: &quot;check box with value property changed, then turned into text&quot;
+              RenderTableCell {TD} at (389,240) size 243x25 [r=10 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (634,242) size 62x20 [r=10 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,242) size 61x20 [r=10 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,267) size 761x20
+              RenderTableCell {TD} at (2,267) size 385x20 [r=11 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 381x18
+                  text run at (1,1) width 381: &quot;text with value attribute changed, then turned into check box&quot;
+              RenderTableCell {TD} at (389,267) size 243x20 [r=11 c=1 rs=1 cs=1]
+                RenderBlock {INPUT} at (3,4) size 12x12
+              RenderTableCell {TD} at (634,267) size 62x20 [r=11 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,267) size 61x20 [r=11 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,289) size 761x25
+              RenderTableCell {TD} at (2,291) size 385x20 [r=12 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 381x18
+                  text run at (1,1) width 381: &quot;check box with value attribute changed, then turned into text&quot;
+              RenderTableCell {TD} at (389,289) size 243x25 [r=12 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (634,291) size 62x20 [r=12 c=2 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+              RenderTableCell {TD} at (698,291) size 61x20 [r=12 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 28x18
+                  text run at (1,1) width 28: &quot;after&quot;
+            RenderTableRow {TR} at (0,316) size 761x24
+              RenderTableCell {TD} at (2,318) size 385x20 [r=13 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 204x18
+                  text run at (1,1) width 204: &quot;file with value property changed&quot;
+              RenderTableCell {TD} at (389,316) size 243x24 [r=13 c=1 rs=1 cs=1]
+                RenderFileUploadControl {INPUT} at (3,3) size 237x18 &quot;no file selected&quot;
+                  RenderButton {INPUT} at (0,0) size 78x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 62x14
+                      RenderText at (0,0) size 62x13
+                        text run at (0,0) width 62: &quot;Choose File&quot;
+              RenderTableCell {TD} at (634,327) size 62x2 [r=13 c=2 rs=1 cs=1]
+              RenderTableCell {TD} at (698,318) size 61x20 [r=13 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 40x18
+                  text run at (1,1) width 40: &quot;before&quot;
+layer at (403,134) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 35x13
+      text run at (0,0) width 35: &quot;before&quot;
+layer at (403,161) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 37x13
+      text run at (0,0) width 37: &quot;\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}\x{2022}&quot;
+layer at (403,303) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 25x13
+      text run at (0,0) width 25: &quot;after&quot;
+layer at (403,374) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 25x13
+      text run at (0,0) width 25: &quot;after&quot;
+layer at (403,423) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 25x13
+      text run at (0,0) width 25: &quot;after&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastformstargetedframesubmissionexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/forms/targeted-frame-submission-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/forms/targeted-frame-submission-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/forms/targeted-frame-submission-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,28 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {FORM} at (0,0) size 784x22
+        RenderButton {INPUT} at (2,2) size 42x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 26x14
+            RenderText at (0,0) size 26x13
+              text run at (0,0) width 26: &quot;form&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,38) size 784x36
+        RenderText {#text} at (0,0) size 765x36
+          text run at (0,0) width 288: &quot;This tests Targetted frame submission works. &quot;
+          text run at (288,0) width 477: &quot;If the test is successful, the text \&quot;SUCCESS\&quot; should be shown in the iframe&quot;
+          text run at (0,18) width 43: &quot;below.&quot;
+      RenderBlock (anonymous) at (0,74) size 784x154
+        RenderIFrame {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
+          layer at (0,0) size 300x150
+            RenderView at (0,0) size 300x150
+          layer at (0,0) size 300x150
+            RenderBlock {HTML} at (0,0) size 300x150
+              RenderBody {BODY} at (8,8) size 284x129
+                RenderBlock {PRE} at (0,0) size 284x15
+                  RenderText {#text} at (0,0) size 56x15
+                    text run at (0,0) width 56: &quot;SUCCESS&quot;
+                    text run at (56,0) width 0: &quot; &quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfasthtmldetailsreplacesummarychildexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-summary-child-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-summary-child-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-summary-child-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,25 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {DETAILS} at (0,0) size 784x18
+        RenderBlock {SUMMARY} at (0,0) size 784x18
+          RenderDetailsMarker {DIV} at (0,4) size 11x11: down
+          RenderText {#text} at (16,0) size 5x18
+            text run at (16,0) width 5: &quot; &quot;
+          RenderBlock {SPAN} at (20,2) size 65x15
+            RenderText {#text} at (0,0) size 64x15
+              text run at (0,0) width 64: &quot;Details1&quot;
+          RenderText {#text} at (84,0) size 5x18
+            text run at (84,0) width 5: &quot; &quot;
+          RenderBlock {SPAN} at (88,2) size 65x15
+            RenderText {#text} at (0,0) size 64x15
+              text run at (0,0) width 64: &quot;Details3&quot;
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,18) size 784x22
+        RenderButton {INPUT} at (2,2) size 41x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 25x14
+            RenderText at (0,0) size 25x13
+              text run at (0,0) width 25: &quot;click&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfasthtmldetailsreplacetextexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-text-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-text-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/html/details-replace-text-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,27 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {DETAILS} at (0,0) size 784x36
+        RenderBlock {SUMMARY} at (0,0) size 784x18
+          RenderDetailsMarker {DIV} at (0,4) size 11x11: down
+          RenderText {#text} at (16,0) size 62x18
+            text run at (16,0) width 62: &quot;Summary&quot;
+        RenderBlock (anonymous) at (0,18) size 784x18
+          RenderBlock {SPAN} at (0,2) size 64x15
+            RenderText {#text} at (0,0) size 64x15
+              text run at (0,0) width 64: &quot;Details1&quot;
+          RenderText {#text} at (64,0) size 4x18
+            text run at (64,0) width 4: &quot; &quot;
+          RenderText {#text} at (0,0) size 0x0
+          RenderBlock {SPAN} at (68,2) size 64x15
+            RenderText {#text} at (0,0) size 64x15
+              text run at (0,0) width 64: &quot;Details2&quot;
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,36) size 784x22
+        RenderButton {INPUT} at (2,2) size 41x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 25x14
+            RenderText at (0,0) size 25x13
+              text run at (0,0) width 25: &quot;click&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastoverflowscrollnestedpositionedlayerinoverflowexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/overflow/scroll-nested-positioned-layer-in-overflow-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,19 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+layer at (0,42) size 800x558 clip at (0,42) size 785x558 scrollY 282 scrollHeight 840
+  RenderBlock (positioned) {DIV} at (0,42) size 800x558
+layer at (0,-240) size 560x840 backgroundClip at (0,42) size 785x558 clip at (0,42) size 785x558 outlineClip at (0,42) size 785x558
+  RenderBlock (positioned) {DIV} at (0,0) size 560x840
+    RenderBlock (anonymous) at (0,0) size 560x18
+      RenderText {#text} at (0,0) size 560x18
+        text run at (0,0) width 560: &quot;This tests that we can scroll to reveal something in a nested positioned block in overflow.&quot;
+    RenderBlock {DIV} at (0,18) size 560x800
+    RenderBlock (anonymous) at (0,818) size 560x22
+      RenderButton {INPUT} at (2,2) size 203x18 [bgcolor=#C0C0C0]
+        RenderBlock (anonymous) at (8,2) size 187x14
+          RenderText at (0,0) size 187x13
+            text run at (0,0) width 187: &quot;If you can see this, test has passed&quot;
+      RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastoverflowscrollRevealButtonexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/overflow/scrollRevealButton-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/overflow/scrollRevealButton-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/overflow/scrollRevealButton-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+layer at (0,0) size 785x1188
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1188
+  RenderBlock {HTML} at (0,0) size 785x1188
+    RenderBody {BODY} at (8,8) size 769x1172
+      RenderBlock (anonymous) at (0,0) size 769x18
+        RenderText {#text} at (0,0) size 339x18
+          text run at (0,0) width 339: &quot;This test should scroll recursively to reveal the button.&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,18) size 769x500
+      RenderBlock (anonymous) at (0,518) size 769x154
+        RenderIFrame {IFRAME} at (0,0) size 304x154 [border: (2px inset #000000)]
+          layer at (0,0) size 308x316
+            RenderView at (0,0) size 285x135
+          layer at (0,0) size 285x316
+            RenderBlock {HTML} at (0,0) size 285x316
+              RenderBody {BODY} at (8,8) size 269x300
+          layer at (8,8) size 300x300 clip at (8,8) size 285x300 scrollY 543 scrollHeight 1268
+            RenderBlock {DIV} at (0,0) size 300x300
+              RenderBlock (anonymous) at (0,0) size 285x18
+                RenderText {#text} at (0,0) size 88x18
+                  text run at (0,0) width 88: &quot;overflow:auto&quot;
+              RenderBlock {DIV} at (0,18) size 285x600
+              RenderBlock {DIV} at (0,768) size 285x500
+          layer at (8,83) size 150x150 clip at (8,83) size 135x150 scrollY 472 scrollHeight 858
+            RenderBlock {DIV} at (0,618) size 150x150
+              RenderBlock (anonymous) at (0,0) size 135x18
+                RenderText {#text} at (0,0) size 88x18
+                  text run at (0,0) width 88: &quot;overflow:auto&quot;
+              RenderBlock {DIV} at (0,18) size 135x500
+              RenderBlock (anonymous) at (0,518) size 135x40
+                RenderBR {BR} at (0,0) size 0x18
+                RenderButton {INPUT} at (2,20) size 51x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 35x14
+                    RenderText at (0,0) size 35x13
+                      text run at (0,0) width 35: &quot;Button&quot;
+                RenderText {#text} at (0,0) size 0x0
+              RenderBlock {DIV} at (0,558) size 135x300
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,672) size 769x500
+scrolled to 0,4
+frame 'fr' scrolled to 0,91
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfastreplacedwidth100percentbuttonexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/replaced/width100percent-button-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/replaced/width100percent-button-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/replaced/width100percent-button-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 309x18
+          text run at (0,0) width 309: &quot;The following sets of buttons should not overlap.&quot;
+      RenderTable {TABLE} at (0,18) size 784x26
+        RenderTableSection {TBODY} at (0,0) size 784x26
+          RenderTableRow {TR} at (0,1) size 784x24
+            RenderTableCell {TD} at (1,1) size 67x24 [r=0 c=0 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 65x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 49x14
+                  RenderText at (0,0) size 49x13
+                    text run at (0,0) width 49: &quot;New Mail&quot;
+            RenderTableCell {TD} at (69,1) size 47x24 [r=0 c=1 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 45x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 29x14
+                  RenderText at (0,0) size 29x13
+                    text run at (0,0) width 29: &quot;Reply&quot;
+            RenderTableCell {TD} at (117,1) size 65x24 [r=0 c=2 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 63x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 47x14
+                  RenderText at (0,0) size 47x13
+                    text run at (0,0) width 47: &quot;Reply All&quot;
+            RenderTableCell {TD} at (183,3) size 600x20 [r=0 c=3 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 4x18
+                text run at (1,1) width 4: &quot; &quot;
+      RenderBlock (anonymous) at (0,44) size 784x36
+        RenderBR {BR} at (0,0) size 0x18
+        RenderBR {BR} at (0,18) size 0x18
+      RenderTable {TABLE} at (0,80) size 784x26
+        RenderTableSection {TBODY} at (0,0) size 784x26
+          RenderTableRow {TR} at (0,1) size 784x24
+            RenderTableCell {TD} at (1,1) size 67x24 [r=0 c=0 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 65x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 49x14
+                  RenderText at (0,0) size 49x13
+                    text run at (0,0) width 49: &quot;New Mail&quot;
+            RenderTableCell {TD} at (69,1) size 47x24 [r=0 c=1 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 45x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 29x14
+                  RenderText at (0,0) size 29x13
+                    text run at (0,0) width 29: &quot;Reply&quot;
+            RenderTableCell {TD} at (117,1) size 65x24 [r=0 c=2 rs=1 cs=1]
+              RenderButton {INPUT} at (1,3) size 63x18 [bgcolor=#C0C0C0]
+                RenderBlock (anonymous) at (8,2) size 47x14
+                  RenderText at (0,0) size 47x13
+                    text run at (0,0) width 47: &quot;Reply All&quot;
+            RenderTableCell {TD} at (183,3) size 600x20 [r=0 c=3 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 4x18
+                text run at (1,1) width 4: &quot; &quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinfasttexttextIteratorNilRendererexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/fast/text/textIteratorNilRenderer-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/fast/text/textIteratorNilRenderer-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/fast/text/textIteratorNilRenderer-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {CENTER} at (0,0) size 784x57
+        RenderBlock {FORM} at (0,0) size 784x23
+          RenderTable {TABLE} at (74,0) size 636x23
+            RenderTableSection {TBODY} at (0,0) size 636x23
+              RenderTableRow {TR} at (0,0) size 636x23
+                RenderTableCell {TD} at (0,2) size 150x18 [r=0 c=0 rs=2 cs=1]
+                  RenderText {#text} at (0,0) size 4x18
+                    text run at (0,0) width 4: &quot; &quot;
+                RenderTableCell {TD} at (150,0) size 227x23 [r=0 c=1 rs=1 cs=1]
+                  RenderTextControl {INPUT} at (2,2) size 223x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                  RenderText {#text} at (0,0) size 0x0
+                RenderTableCell {TD} at (377,0) size 99x22 [r=0 c=2 rs=1 cs=1]
+                  RenderButton {INPUT} at (2,2) size 95x18 [bgcolor=#C0C0C0]
+                    RenderBlock (anonymous) at (8,2) size 79x14
+                      RenderText at (0,0) size 79x13
+                        text run at (0,0) width 79: &quot;Search Froogle&quot;
+                  RenderText {#text} at (0,0) size 0x0
+                RenderTableCell {TD} at (476,2) size 160x18 [r=0 c=3 rs=2 cs=1]
+                  RenderInline {LABEL} at (0,0) size 115x13
+                    RenderText {#text} at (0,0) size 0x0
+                    RenderBlock {INPUT} at (12,3) size 12x12
+                    RenderText {#text} at (26,3) size 99x13
+                      text run at (26,3) width 99: &quot; Remember this location&quot;
+                  RenderText {#text} at (0,0) size 0x0
+        RenderBlock (anonymous) at (0,39) size 784x18
+          RenderBR {BR} at (392,0) size 0x18
+layer at (237,13) size 217x13
+  RenderBlock {DIV} at (3,3) size 217x13
+caret: position 1 of child 0 {#text} of child 1 {TD} of child 0 {TR} of child 1 {TBODY} of child 1 {TABLE} of child 1 {FORM} of child 1 {CENTER} of body
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwinsvgcustomforeignobjectskewexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/svg/custom/foreign-object-skew-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/svg/custom/foreign-object-skew-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/svg/custom/foreign-object-skew-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (9,9) size 791x591
+    RenderSVGForeignObject {foreignObject} at (10,10) size 580x380
+      RenderBlock {xhtml:div} at (0,0) size 580x18
+        RenderText {#text} at (0,0) size 78x18
+          text run at (0,0) width 78: &quot;This is a test&quot;
+      RenderBlock (anonymous) at (0,18) size 580x42
+        RenderInline {xhtml:a} at (0,0) size 66x18 [color=#0000EE]
+          RenderText {#text} at (0,0) size 66x18
+            text run at (0,0) width 66: &quot;and a link.&quot;
+        RenderBR {xhtml:br} at (66,0) size 0x18
+        RenderButton {xhtml:input} at (2,20) size 16x18 [bgcolor=#C0C0C0]
+        RenderText {#text} at (0,0) size 0x0
+    RenderSVGRect {rect} at (9,9) size 582x382 [stroke={[type=SOLID] [color=#008000]}] [x=10.00] [y=10.00] [width=580.00] [height=380.00]
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug138725expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug138725-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug138725-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug138725-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 151x56
+        RenderTableSection {TBODY} at (0,0) size 151x56
+          RenderTableRow {TR} at (0,2) size 151x52
+            RenderTableCell {TD} at (2,2) size 147x52 [r=0 c=0 rs=1 cs=1]
+              RenderBlock (anonymous) at (1,1) size 145x0
+                RenderInline {SPAN} at (0,0) size 0x0
+                  RenderText {#text} at (0,0) size 0x0
+                  RenderInline {SPAN} at (0,0) size 0x0
+                    RenderText {#text} at (0,0) size 0x0
+                    RenderText {#text} at (0,0) size 0x0
+              RenderBlock (anonymous) at (1,1) size 145x50
+                RenderTable {TABLE} at (0,0) size 145x50
+                  RenderTableSection {TBODY} at (0,0) size 145x50
+                    RenderTableRow {TR} at (0,2) size 145x46
+                      RenderTableCell {TD} at (2,2) size 141x46 [r=0 c=0 rs=1 cs=1]
+                        RenderTable {TABLE} at (1,1) size 139x44
+                          RenderTableSection {TBODY} at (0,0) size 139x44
+                            RenderTableRow {TR} at (0,2) size 139x40
+                              RenderTableCell {TD} at (2,2) size 135x40 [r=0 c=0 rs=1 cs=1]
+                                RenderBlock {FORM} at (1,1) size 133x22
+                                  RenderButton {INPUT} at (2,2) size 129x18 [bgcolor=#C0C0C0]
+                                    RenderBlock (anonymous) at (8,2) size 113x14
+                                      RenderText at (0,0) size 113x13
+                                        text run at (0,0) width 113: &quot;ApplyForThisPosition&quot;
+                                  RenderText {#text} at (0,0) size 0x0
+              RenderBlock (anonymous) at (1,51) size 145x0
+                RenderInline {SPAN} at (0,0) size 0x0
+                  RenderInline {SPAN} at (0,0) size 0x0
+                  RenderText {#text} at (0,0) size 0x0
+                RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug18359expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug18359-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,44 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {H2} at (0,0) size 784x28
+        RenderText {#text} at (0,0) size 365x28
+          text run at (0,0) width 365: &quot;SeaMonkey XPInstall Trigger Page&quot;
+      RenderBlock {HR} at (0,47) size 784x3 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,57) size 784x56
+        RenderTable {TABLE} at (0,0) size 557x55
+          RenderTableSection {TBODY} at (0,0) size 557x55
+            RenderTableRow {TR} at (0,2) size 557x25
+              RenderTableCell {TD} at (2,4) size 107x20 [r=0 c=0 rs=1 cs=1]
+                RenderInline {B} at (0,0) size 96x18
+                  RenderText {#text} at (1,1) size 96x18
+                    text run at (1,1) width 96: &quot;Trigger URL:&quot;
+              RenderTableCell {TD} at (111,2) size 354x25 [r=0 c=1 rs=1 cs=1]
+                RenderTextControl {INPUT} at (3,3) size 348x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+              RenderTableCell {TD} at (467,2) size 88x24 [r=0 c=2 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 55x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 39x14
+                    RenderText at (0,0) size 39x13
+                      text run at (0,0) width 39: &quot;Trigger&quot;
+            RenderTableRow {TR} at (0,29) size 557x24
+              RenderTableCell {TD} at (2,31) size 107x20 [r=1 c=0 rs=1 cs=1]
+                RenderInline {B} at (0,0) size 105x18
+                  RenderText {#text} at (1,1) size 105x18
+                    text run at (1,1) width 105: &quot;Run Test Case:&quot;
+              RenderTableCell {TD} at (111,29) size 354x24 [r=1 c=1 rs=1 cs=1]
+                RenderMenuList {SELECT} at (3,3) size 262x18 [bgcolor=#FFFFFF]
+                  RenderBlock (anonymous) at (0,0) size 262x18
+                    RenderText at (8,2) size 73x13
+                      text run at (8,2) width 73: &quot;a_abortinstall&quot;
+                RenderText {#text} at (0,0) size 0x0
+              RenderTableCell {TD} at (467,29) size 88x24 [r=1 c=2 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 82x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 66x14
+                    RenderText at (0,0) size 66x13
+                      text run at (0,0) width 66: &quot;Trigger case&quot;
+layer at (125,74) size 342x13
+  RenderBlock {DIV} at (3,3) size 342x13
+    RenderText {#text} at (0,0) size 106x13
+      text run at (0,0) width 106: &quot;http://jimbob/jars/&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug24793expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-3-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,119 @@
</span><ins>+layer at (0,0) size 785x685
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x685
+  RenderBlock {HTML} at (0,0) size 785x685
+    RenderBody {BODY} at (8,21) size 769x648
+      RenderBlock {H1} at (0,0) size 769x37
+        RenderText {#text} at (0,0) size 315x37
+          text run at (0,0) width 315: &quot;Generic Table Tests - 1&quot;
+      RenderBlock {P} at (0,58) size 769x19
+        RenderText {#text} at (0,0) size 387x18
+          text run at (0,0) width 387: &quot;If you have any comments to make regarding this test, e-mail &quot;
+        RenderInline {A} at (0,0) size 182x18 [color=#0000EE]
+          RenderText {#text} at (387,0) size 182x18
+            text run at (387,0) width 182: &quot;py8ieh=eviltests@bath.ac.uk&quot;
+        RenderText {#text} at (569,0) size 4x18
+          text run at (569,0) width 4: &quot;.&quot;
+      RenderBlock {DL} at (0,92) size 769x37
+        RenderBlock {DT} at (0,0) size 769x18
+          RenderText {#text} at (0,0) size 80x18
+            text run at (0,0) width 80: &quot;Prerequisites&quot;
+        RenderBlock {DD} at (40,18) size 729x18
+          RenderText {#text} at (0,0) size 683x18
+            text run at (0,0) width 683: &quot;Browsers that are subjected to this test should support CSS1 and the CSS2 table model, and multiple classes.&quot;
+      RenderBlock {P} at (0,144) size 769x99 [border: (5px double #FF0000)]
+        RenderBlock (anonymous) at (13,13) size 743x18
+          RenderText {#text} at (0,0) size 233x18
+            text run at (0,0) width 233: &quot;If this paragraph breaks the line here:&quot;
+        RenderTable {SPAN} at (13,31) size 58x18
+          RenderTableSection (anonymous) at (0,0) size 58x18
+            RenderTableRow (anonymous) at (0,0) size 58x18
+              RenderTableCell (anonymous) at (0,0) size 58x18 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (0,0) size 58x18
+                  text run at (0,0) width 58: &quot;and here:&quot;
+        RenderBlock (anonymous) at (13,49) size 743x36
+          RenderText {#text} at (0,0) size 119x18
+            text run at (0,0) width 119: &quot;then your browser &quot;
+          RenderInline {EM} at (0,0) size 81x18
+            RenderText {#text} at (119,0) size 81x18
+              text run at (119,0) width 81: &quot;does support&quot;
+          RenderText {#text} at (200,0) size 161x18
+            text run at (200,0) width 161: &quot; table values on 'display'. &quot;
+          RenderInline {STRONG} at (0,0) size 742x36
+            RenderText {#text} at (361,0) size 742x36
+              text run at (361,0) width 381: &quot;If this paragraphs flows without any undue breaks, then&quot;
+              text run at (0,18) width 421: &quot;you should mark your browser as not supporting table values!&quot;
+      RenderBlock {H2} at (0,262) size 769x29
+        RenderText {#text} at (0,0) size 224x28
+          text run at (0,0) width 224: &quot;1. Table -&gt; Table Cell&quot;
+      RenderBlock {P} at (0,310) size 769x37
+        RenderText {#text} at (0,0) size 755x36
+          text run at (0,0) width 755: &quot;Below there should be a gray bar, spanning the width of the BODY, with the text \&quot;Left\&quot; to the left and the text \&quot;Right\&quot;,&quot;
+          text run at (0,18) width 217: &quot;on the same line, flush to the right.&quot;
+      RenderTable {DIV} at (0,362) size 769x19 [bgcolor=#C0C0C0]
+        RenderTableSection (anonymous) at (0,0) size 769x18
+          RenderTableRow (anonymous) at (0,0) size 769x18
+            RenderTableCell {DIV} at (0,0) size 327x18 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 26x18
+                text run at (0,0) width 26: &quot;Left&quot;
+            RenderTableCell {DIV} at (327,0) size 442x18 [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (407,0) size 35x18
+                text run at (407,0) width 35: &quot;Right&quot;
+      RenderBlock {H2} at (0,400) size 769x29
+        RenderText {#text} at (0,0) size 154x28
+          text run at (0,0) width 154: &quot;Submit Results&quot;
+      RenderBlock {FORM} at (0,448) size 769x46
+        RenderBlock {P} at (0,0) size 769x45
+          RenderText {#text} at (0,2) size 263x18
+            text run at (0,2) width 263: &quot;How does your browser fare on this test? &quot;
+          RenderMenuList {SELECT} at (265,3) size 246x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 246x18
+              RenderText at (8,2) size 141x13
+                text run at (8,2) width 141: &quot;The test renders correctly.&quot;
+          RenderText {#text} at (513,2) size 4x18
+            text run at (513,2) width 4: &quot; &quot;
+          RenderInline {LABEL} at (0,0) size 197x18
+            RenderText {#text} at (517,2) size 70x18
+              text run at (517,2) width 70: &quot;Comment: &quot;
+            RenderTextControl {INPUT} at (589,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+          RenderText {#text} at (0,0) size 0x0
+          RenderButton {INPUT} at (2,25) size 54x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 38x14
+              RenderText at (0,0) size 38x13
+                text run at (0,0) width 38: &quot;Submit&quot;
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,509) size 769x3 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,527) size 769x19
+        RenderText {#text} at (0,0) size 63x18
+          text run at (0,0) width 63: &quot;Up to the &quot;
+        RenderInline {A} at (0,0) size 73x18 [color=#0000EE]
+          RenderText {#text} at (63,0) size 73x18
+            text run at (63,0) width 73: &quot;Table Tests&quot;
+        RenderText {#text} at (136,0) size 4x18
+          text run at (136,0) width 4: &quot;.&quot;
+      RenderBlock {P} at (0,561) size 769x19
+        RenderText {#text} at (0,0) size 63x18
+          text run at (0,0) width 63: &quot;Up to the &quot;
+        RenderInline {A} at (0,0) size 98x18 [color=#0000EE]
+          RenderText {#text} at (63,0) size 98x18
+            text run at (63,0) width 98: &quot;Evil Tests Page&quot;
+        RenderText {#text} at (161,0) size 4x18
+          text run at (161,0) width 4: &quot;.&quot;
+      RenderBlock {P} at (0,595) size 769x19
+        RenderText {#text} at (0,0) size 173x18
+          text run at (0,0) width 173: &quot;This page is maintained by &quot;
+        RenderInline {A} at (0,0) size 77x18 [color=#0000EE]
+          RenderText {#text} at (173,0) size 77x18
+            text run at (173,0) width 77: &quot;Ian Hickson&quot;
+        RenderText {#text} at (250,0) size 9x18
+          text run at (250,0) width 9: &quot; (&quot;
+        RenderInline {A} at (0,0) size 123x18 [color=#0000EE]
+          RenderText {#text} at (259,0) size 123x18
+            text run at (259,0) width 123: &quot;py8ieh@bath.ac.uk&quot;
+        RenderText {#text} at (382,0) size 9x18
+          text run at (382,0) width 9: &quot;).&quot;
+      RenderBlock {P} at (0,629) size 769x19
+        RenderText {#text} at (0,0) size 182x18
+          text run at (0,0) width 182: &quot;Last updated in March 1999.&quot;
+layer at (600,475) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug24794expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug2479-4-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,243 @@
</span><ins>+layer at (0,0) size 785x2589
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x2589
+  RenderBlock {HTML} at (0,0) size 785x2590
+    RenderBody {BODY} at (8,21) size 769x2553 [bgcolor=#FFFFFF]
+      RenderBlock {H1} at (0,0) size 769x37
+        RenderText {#text} at (0,0) size 365x37
+          text run at (0,0) width 365: &quot;Table Inheritance Tests - 1&quot;
+      RenderBlock {P} at (0,58) size 769x19
+        RenderText {#text} at (0,0) size 387x18
+          text run at (0,0) width 387: &quot;If you have any comments to make regarding this test, e-mail &quot;
+        RenderInline {A} at (0,0) size 182x18 [color=#0000EE]
+          RenderText {#text} at (387,0) size 182x18
+            text run at (387,0) width 182: &quot;py8ieh=eviltests@bath.ac.uk&quot;
+        RenderText {#text} at (569,0) size 4x18
+          text run at (569,0) width 4: &quot;.&quot;
+      RenderBlock {DL} at (0,92) size 769x37
+        RenderBlock {DT} at (0,0) size 769x18
+          RenderText {#text} at (0,0) size 80x18
+            text run at (0,0) width 80: &quot;Prerequisites&quot;
+        RenderBlock {DD} at (40,18) size 729x18
+          RenderText {#text} at (0,0) size 550x18
+            text run at (0,0) width 550: &quot;Browsers that are subjected to this test should support CSS1 and the CSS2 table model.&quot;
+      RenderBlock {H2} at (0,148) size 769x29
+        RenderText {#text} at (0,0) size 104x28
+          text run at (0,0) width 104: &quot;0. Control&quot;
+      RenderBlock {P} at (0,196) size 769x19
+        RenderText {#text} at (0,0) size 401x18
+          text run at (0,0) width 401: &quot;The following four tests should look identical, namely, like this:&quot;
+      RenderBlock {DIV} at (0,230) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderText {#text} at (0,0) size 716x74
+          text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+          text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {P} at (0,320) size 769x73
+        RenderText {#text} at (0,0) size 754x72
+          text run at (0,0) width 744: &quot;There are some minor exceptions, however. The x.1 tests should fill the viewport width, the other tests need not. Also,&quot;
+          text run at (0,18) width 750: &quot;browsers attempting to have backwards compatability with the buggy behaviour of legacy browsers may omit to inherit&quot;
+          text run at (0,36) width 754: &quot;the color and font-size in 1.1, which will make 1.1 (but only 1.1) unreadable. That is the problem with not following the&quot;
+          text run at (0,54) width 38: &quot;specs.&quot;
+      RenderBlock {H2} at (0,412) size 769x29
+        RenderText {#text} at (0,0) size 172x28
+          text run at (0,0) width 172: &quot;1. HTML Tables&quot;
+      RenderBlock {H3} at (0,460) size 769x23
+        RenderText {#text} at (0,0) size 250x22
+          text run at (0,0) width 250: &quot;1.1 Inheritance through a DIV&quot;
+      RenderBlock {DIV} at (0,500) size 769x81 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTable {TABLE} at (0,0) size 769x80
+          RenderTableSection {TBODY} at (0,0) size 769x80
+            RenderTableRow {TR} at (0,2) size 769x76
+              RenderTableCell {TD} at (2,2) size 765x76 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 716x74
+                  text run at (1,1) width 716: &quot;This text should be white on black, bold, twice&quot;
+                  text run at (1,38) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,599) size 769x23
+        RenderText {#text} at (0,0) size 266x22
+          text run at (0,0) width 266: &quot;1.2 Styles set directly on TABLE&quot;
+      RenderTable {TABLE} at (0,640) size 769x81 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTableSection {TBODY} at (0,0) size 769x80
+          RenderTableRow {TR} at (0,2) size 769x76
+            RenderTableCell {TD} at (2,2) size 765x76 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 716x74
+                text run at (1,1) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (1,38) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H2} at (0,740) size 769x29
+        RenderText {#text} at (0,0) size 228x28
+          text run at (0,0) width 228: &quot;2. Explicit CSS Tables&quot;
+      RenderBlock {H3} at (0,788) size 769x23
+        RenderText {#text} at (0,0) size 250x22
+          text run at (0,0) width 250: &quot;2.1 Inheritance through a DIV&quot;
+      RenderBlock {DIV} at (0,828) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTable {DIV} at (0,0) size 769x74
+          RenderTableSection (anonymous) at (0,0) size 769x74
+            RenderTableRow {DIV} at (0,0) size 769x74
+              RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (0,0) size 716x74
+                  text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                  text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,921) size 769x23
+        RenderText {#text} at (0,0) size 266x22
+          text run at (0,0) width 266: &quot;2.2 Styles set directly on TABLE&quot;
+      RenderTable {DIV} at (0,962) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow {DIV} at (0,0) size 769x74
+            RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,1054) size 769x23
+        RenderText {#text} at (0,0) size 248x22
+          text run at (0,0) width 248: &quot;2.3 Styles set directly on ROW&quot;
+      RenderTable {DIV} at (0,1095) size 769x75
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000]
+            RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,1188) size 769x23
+        RenderText {#text} at (0,0) size 253x22
+          text run at (0,0) width 253: &quot;2.4 Styles set directly on CELL&quot;
+      RenderTable {DIV} at (0,1229) size 769x75
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow {DIV} at (0,0) size 769x74
+            RenderTableCell {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H2} at (0,1322) size 769x29
+        RenderText {#text} at (0,0) size 384x28
+          text run at (0,0) width 384: &quot;3. Implicit CSS Tables (table explicit)&quot;
+      RenderBlock {H3} at (0,1370) size 769x23
+        RenderText {#text} at (0,0) size 250x22
+          text run at (0,0) width 250: &quot;3.1 Inheritance through a DIV&quot;
+      RenderBlock {DIV} at (0,1411) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTable {DIV} at (0,0) size 769x74
+          RenderTableSection (anonymous) at (0,0) size 769x74
+            RenderTableRow (anonymous) at (0,0) size 769x74
+              RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (0,0) size 716x74
+                  text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                  text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,1504) size 769x23
+        RenderText {#text} at (0,0) size 266x22
+          text run at (0,0) width 266: &quot;3.2 Styles set directly on TABLE&quot;
+      RenderTable {DIV} at (0,1545) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow (anonymous) at (0,0) size 769x74
+            RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H2} at (0,1638) size 769x29
+        RenderText {#text} at (0,0) size 373x28
+          text run at (0,0) width 373: &quot;4. Implicit CSS Tables (row explicit)&quot;
+      RenderBlock {H3} at (0,1686) size 769x23
+        RenderText {#text} at (0,0) size 250x22
+          text run at (0,0) width 250: &quot;4.1 Inheritance through a DIV&quot;
+      RenderBlock {DIV} at (0,1727) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTable at (0,0) size 769x74
+          RenderTableSection (anonymous) at (0,0) size 769x74
+            RenderTableRow {DIV} at (0,0) size 769x74
+              RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (0,0) size 716x74
+                  text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                  text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,1820) size 769x23
+        RenderText {#text} at (0,0) size 248x22
+          text run at (0,0) width 248: &quot;4.2 Styles set directly on ROW&quot;
+      RenderTable at (0,1861) size 769x74
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000]
+            RenderTableCell (anonymous) at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H2} at (0,1954) size 769x29
+        RenderText {#text} at (0,0) size 369x28
+          text run at (0,0) width 369: &quot;5. Implicit CSS Tables (cell explicit)&quot;
+      RenderBlock {H3} at (0,2002) size 769x23
+        RenderText {#text} at (0,0) size 250x22
+          text run at (0,0) width 250: &quot;5.1 Inheritance through a DIV&quot;
+      RenderBlock {DIV} at (0,2043) size 769x75 [color=#FFFFFF] [bgcolor=#000000]
+        RenderTable at (0,0) size 769x74
+          RenderTableSection (anonymous) at (0,0) size 769x74
+            RenderTableRow (anonymous) at (0,0) size 769x74
+              RenderTableCell {DIV} at (0,0) size 769x74 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (0,0) size 716x74
+                  text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                  text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H3} at (0,2136) size 769x23
+        RenderText {#text} at (0,0) size 253x22
+          text run at (0,0) width 253: &quot;5.2 Styles set directly on CELL&quot;
+      RenderTable at (0,2176) size 769x75
+        RenderTableSection (anonymous) at (0,0) size 769x74
+          RenderTableRow (anonymous) at (0,0) size 769x74
+            RenderTableCell {DIV} at (0,0) size 769x74 [color=#FFFFFF] [bgcolor=#000000] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 716x74
+                text run at (0,0) width 716: &quot;This text should be white on black, bold, twice&quot;
+                text run at (0,37) width 587: &quot;the size of normal text, and sans serif.&quot;
+      RenderBlock {H2} at (0,2270) size 769x29
+        RenderText {#text} at (0,0) size 154x28
+          text run at (0,0) width 154: &quot;Submit Results&quot;
+      RenderBlock {FORM} at (0,2318) size 769x46
+        RenderBlock {P} at (0,0) size 769x45
+          RenderText {#text} at (0,1) size 263x18
+            text run at (0,1) width 263: &quot;How does your browser fare on this test? &quot;
+          RenderMenuList {SELECT} at (265,2) size 473x18 [bgcolor=#FFFFFF]
+            RenderBlock (anonymous) at (0,0) size 473x18
+              RenderText at (8,2) size 442x13
+                text run at (8,2) width 442: &quot;The tests all render identically, and this browser may or may not grok CSS2 tables.&quot;
+          RenderText {#text} at (0,0) size 0x0
+          RenderInline {LABEL} at (0,0) size 197x18
+            RenderText {#text} at (0,24) size 70x18
+              text run at (0,24) width 70: &quot;Comment: &quot;
+            RenderTextControl {INPUT} at (72,24) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+          RenderText {#text} at (197,24) size 4x18
+            text run at (197,24) width 4: &quot; &quot;
+          RenderButton {INPUT} at (203,25) size 54x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 38x14
+              RenderText at (0,0) size 38x13
+                text run at (0,0) width 38: &quot;Submit&quot;
+          RenderText {#text} at (0,0) size 0x0
+      RenderBlock {HR} at (0,2379) size 769x3 [border: (1px inset #000000)]
+      RenderBlock {P} at (0,2397) size 769x19
+        RenderText {#text} at (0,0) size 63x18
+          text run at (0,0) width 63: &quot;Up to the &quot;
+        RenderInline {A} at (0,0) size 73x18 [color=#0000EE]
+          RenderText {#text} at (63,0) size 73x18
+            text run at (63,0) width 73: &quot;Table Tests&quot;
+        RenderText {#text} at (136,0) size 4x18
+          text run at (136,0) width 4: &quot;.&quot;
+      RenderBlock {P} at (0,2431) size 769x19
+        RenderText {#text} at (0,0) size 63x18
+          text run at (0,0) width 63: &quot;Up to the &quot;
+        RenderInline {A} at (0,0) size 98x18 [color=#0000EE]
+          RenderText {#text} at (63,0) size 98x18
+            text run at (63,0) width 98: &quot;Evil Tests Page&quot;
+        RenderText {#text} at (161,0) size 4x18
+          text run at (161,0) width 4: &quot;.&quot;
+      RenderBlock {P} at (0,2465) size 769x19
+        RenderText {#text} at (0,0) size 61x18
+          text run at (0,0) width 61: &quot;Bugzilla: &quot;
+        RenderInline {A} at (0,0) size 63x18 [color=#0000EE]
+          RenderText {#text} at (61,0) size 63x18
+            text run at (61,0) width 63: &quot;Bug 1044&quot;
+      RenderBlock {P} at (0,2499) size 769x19
+        RenderText {#text} at (0,0) size 173x18
+          text run at (0,0) width 173: &quot;This page is maintained by &quot;
+        RenderInline {A} at (0,0) size 77x18 [color=#0000EE]
+          RenderText {#text} at (173,0) size 77x18
+            text run at (173,0) width 77: &quot;Ian Hickson&quot;
+        RenderText {#text} at (250,0) size 9x18
+          text run at (250,0) width 9: &quot; (&quot;
+        RenderInline {A} at (0,0) size 123x18 [color=#0000EE]
+          RenderText {#text} at (259,0) size 123x18
+            text run at (259,0) width 123: &quot;py8ieh@bath.ac.uk&quot;
+        RenderText {#text} at (382,0) size 9x18
+          text run at (382,0) width 9: &quot;).&quot;
+      RenderBlock {P} at (0,2533) size 769x19
+        RenderText {#text} at (0,0) size 182x18
+          text run at (0,0) width 182: &quot;Last updated in March 1999.&quot;
+layer at (83,2367) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug26178expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug26178-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug26178-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug26178-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderTable {TABLE} at (0,0) size 65x46
+        RenderTableSection {THEAD} at (0,0) size 65x24
+          RenderTableRow {TR} at (0,2) size 65x20
+            RenderTableCell {TD} at (2,2) size 61x20 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 59x18
+                text run at (1,1) width 59: &quot;The head&quot;
+        RenderTableSection {TBODY} at (0,24) size 65x22
+          RenderTableRow {TR} at (0,0) size 65x20
+            RenderTableCell {TD} at (2,0) size 61x20 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 57x18
+                text run at (1,1) width 57: &quot;First row&quot;
+      RenderBlock {FORM} at (0,46) size 784x22
+        RenderButton {INPUT} at (2,2) size 47x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 31x14
+            RenderText at (0,0) size 31x13
+              text run at (0,0) width 31: &quot;insert&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug28928expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug28928-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug28928-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug28928-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,52 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {H3} at (0,0) size 784x22
+        RenderText {#text} at (0,0) size 200x22
+          text run at (0,0) width 200: &quot;With long hidden values&quot;
+      RenderTable {TABLE} at (0,40) size 196x68 [border: (1px solid #FF0000)]
+        RenderTableSection {TBODY} at (1,1) size 194x65
+          RenderTableRow {TR} at (0,2) size 194x59
+            RenderTableCell {TD} at (2,2) size 190x59 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {FORM} at (1,1) size 188x41
+                RenderTextControl {INPUT} at (2,2) size 88x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderText {#text} at (92,2) size 4x18
+                  text run at (92,2) width 4: &quot; &quot;
+                RenderButton {INPUT} at (98,3) size 38x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 22x14
+                    RenderText at (0,0) size 22x13
+                      text run at (0,0) width 22: &quot; Go &quot;
+                RenderText {#text} at (137,2) size 5x18
+                  text run at (137,2) width 5: &quot; &quot;
+                RenderBR {BR} at (141,16) size 1x0
+                RenderText {#text} at (0,23) size 188x18
+                  text run at (0,23) width 188: &quot;Enter City Name or Zip Code&quot;
+          RenderTableRow {TR} at (0,63) size 194x0
+      RenderBlock {HR} at (0,115) size 784x3 [border: (1px inset #000000)]
+      RenderBlock {H3} at (0,136) size 784x23
+        RenderText {#text} at (0,0) size 206x22
+          text run at (0,0) width 206: &quot;With short hidden values&quot;
+      RenderTable {TABLE} at (0,177) size 196x68 [border: (1px solid #FF0000)]
+        RenderTableSection {TBODY} at (1,1) size 194x65
+          RenderTableRow {TR} at (0,2) size 194x59
+            RenderTableCell {TD} at (2,2) size 190x59 [r=0 c=0 rs=1 cs=1]
+              RenderBlock {FORM} at (1,1) size 188x41
+                RenderTextControl {INPUT} at (2,2) size 88x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderText {#text} at (92,2) size 4x18
+                  text run at (92,2) width 4: &quot; &quot;
+                RenderButton {INPUT} at (98,3) size 38x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 22x14
+                    RenderText at (0,0) size 22x13
+                      text run at (0,0) width 22: &quot; Go &quot;
+                RenderText {#text} at (137,2) size 5x18
+                  text run at (137,2) width 5: &quot; &quot;
+                RenderBR {BR} at (141,16) size 1x0
+                RenderText {#text} at (0,23) size 188x18
+                  text run at (0,23) width 188: &quot;Enter City Name or Zip Code&quot;
+          RenderTableRow {TR} at (0,63) size 194x0
+layer at (17,58) size 82x13
+  RenderBlock {DIV} at (3,3) size 82x13
+layer at (17,194) size 82x13
+  RenderBlock {DIV} at (3,3) size 82x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug33855expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug33855-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576 [bgcolor=#FFFFFF]
+      RenderBlock {FORM} at (0,0) size 784x28
+        RenderTable {TABLE} at (0,0) size 784x28
+          RenderTableSection {TBODY} at (0,0) size 784x28
+            RenderTableRow {TR} at (0,2) size 784x24 [bgcolor=#FFFFFF]
+              RenderTableCell {TD} at (2,2) size 70x24 [r=0 c=0 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 64x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 48x14
+                    RenderText at (0,0) size 48x13
+                      text run at (0,0) width 48: &quot;Select all&quot;
+              RenderTableCell {TD} at (74,2) size 56x24 [r=0 c=1 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 50x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 34x14
+                    RenderText at (0,0) size 34x13
+                      text run at (0,0) width 34: &quot;Delete&quot;
+              RenderTableCell {TD} at (132,2) size 86x24 [r=0 c=2 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 80x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 64x14
+                    RenderText at (0,0) size 64x13
+                      text run at (0,0) width 64: &quot;Empty trash&quot;
+              RenderTableCell {TD} at (220,6) size 374x20 [r=0 c=3 rs=1 cs=1]
+                RenderText {#text} at (1,1) size 4x18
+                  text run at (1,1) width 4: &quot; &quot;
+              RenderTableCell {TD} at (596,2) size 68x24 [r=0 c=4 rs=1 cs=1]
+                RenderButton {INPUT} at (3,3) size 62x18 [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 46x14
+                    RenderText at (0,0) size 46x13
+                      text run at (0,0) width 46: &quot;Move to:&quot;
+              RenderTableCell {TD} at (666,2) size 116x24 [r=0 c=5 rs=1 cs=1]
+                RenderMenuList {SELECT} at (3,3) size 110x18 [bgcolor=#FFFFFF]
+                  RenderBlock (anonymous) at (0,0) size 110x18
+                    RenderText at (8,2) size 79x13
+                      text run at (8,2) width 79: &quot;Choose folder &quot;
+                RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug39209expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug39209-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug39209-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug39209-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 431x82 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 429x80
+          RenderTableRow {TR} at (0,2) size 429x52
+            RenderTableCell {TD} at (2,17) size 135x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 30x18
+                text run at (2,2) width 30: &quot;Blah&quot;
+            RenderTableCell {TD} at (139,2) size 288x52 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderTable {TABLE} at (110,2) size 68x48 [border: (1px outset #808080)]
+                RenderTableSection {TBODY} at (1,1) size 66x46
+                  RenderTableRow {TR} at (0,2) size 66x42
+                    RenderTableCell {TD} at (2,2) size 62x42 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                      RenderBlock {FORM} at (2,2) size 58x22
+                        RenderButton {INPUT} at (2,2) size 54x18 [bgcolor=#C0C0C0]
+                          RenderBlock (anonymous) at (8,2) size 38x14
+                            RenderText at (0,0) size 38x13
+                              text run at (0,0) width 38: &quot;Submit&quot;
+                        RenderText {#text} at (0,0) size 0x0
+          RenderTableRow {TR} at (0,56) size 429x22
+            RenderTableCell {TD} at (2,56) size 425x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=2]
+              RenderText {#text} at (2,2) size 421x18
+                text run at (2,2) width 421: &quot;This line is only here to separate the two columns in the row above&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug4429expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug4429-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug4429-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug4429-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,18 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {FORM} at (0,0) size 784x50
+        RenderTable {TABLE} at (0,0) size 31x28 [border: (1px outset #808080)]
+          RenderTableSection {TBODY} at (1,1) size 29x26
+            RenderTableRow {TR} at (0,2) size 29x22
+              RenderTableCell {TD} at (2,2) size 25x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (2,2) size 21x18
+                  text run at (2,2) width 21: &quot;foo&quot;
+        RenderBlock (anonymous) at (0,28) size 784x22
+          RenderButton {INPUT} at (2,2) size 54x18 [bgcolor=#C0C0C0]
+            RenderBlock (anonymous) at (8,2) size 38x14
+              RenderText at (0,0) size 38x13
+                text run at (0,0) width 38: &quot;Submit&quot;
+          RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug463681expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-1-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-1-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-1-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 784x111 [bgcolor=#00FFFF] [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 782x109
+          RenderTableRow {TR} at (0,2) size 782x105
+            RenderTableCell {TD} at (2,2) size 454x105 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderTable {TABLE} at (2,2) size 450x101 [bgcolor=#FF00FF] [border: (1px outset #808080)]
+                RenderTableSection {TBODY} at (1,1) size 448x99
+                  RenderTableRow {TR} at (0,2) size 448x95
+                    RenderTableCell {TD} at (2,2) size 444x95 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                      RenderText {#text} at (2,2) size 201x18
+                        text run at (2,2) width 201: &quot;Mozilla To Be Dually-Licensed&quot;
+                      RenderBR {BR} at (203,16) size 0x0
+                      RenderText {#text} at (2,35) size 205x18
+                        text run at (2,35) width 205: &quot;Plans are underway to make the &quot;
+                      RenderInline {FONT} at (0,0) size 99x37 [color=#0000FF]
+                        RenderText {#text} at (207,20) size 99x37
+                          text run at (207,20) width 99: &quot;Mozilla&quot;
+                      RenderText {#text} at (306,35) size 438x58
+                        text run at (306,35) width 134: &quot; code available under&quot;
+                        text run at (2,57) width 11: &quot;a &quot;
+                        text run at (13,57) width 154: &quot;dual MPL/GPL license. &quot;
+                        text run at (167,57) width 241: &quot;See the for more info. We're gathering&quot;
+                        text run at (2,75) width 258: &quot;contributor input now, in the newsgroup.&quot;
+                      RenderBR {BR} at (260,89) size 0x0
+            RenderTableCell {TD} at (458,25) size 322x58 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 317x54
+                text run at (2,2) width 266: &quot;This status update contains information on&quot;
+                text run at (2,20) width 317: &quot;MailNews, XML/DOM, XPToolkit, Architecture,&quot;
+                text run at (2,38) width 201: &quot;Bidi, Necko/Imglib, and more...&quot;
+      RenderBlock (anonymous) at (0,111) size 784x41
+        RenderBR {BR} at (0,0) size 0x18
+        RenderButton {INPUT} at (2,21) size 53x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 37x14
+            RenderText at (0,0) size 37x13
+              text run at (0,0) width 37: &quot;Reload&quot;
+        RenderText {#text} at (56,20) size 9x18
+          text run at (56,20) width 9: &quot;  &quot;
+        RenderButton {INPUT} at (66,21) size 84x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 68x14
+            RenderText at (0,0) size 68x13
+              text run at (0,0) width 68: &quot;Change Font&quot;
+        RenderText {#text} at (151,20) size 9x18
+          text run at (151,20) width 9: &quot;  &quot;
+        RenderTextControl {INPUT} at (161,20) size 124x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (0,0) size 0x0
+layer at (172,142) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;6&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug463682expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-2-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-2-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug46368-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 784x65 [bgcolor=#00FFFF] [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 782x63
+          RenderTableRow {TR} at (0,2) size 782x59
+            RenderTableCell {TD} at (2,2) size 304x59 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderInline {FONT} at (0,0) size 99x37 [color=#0000FF]
+                RenderText {#text} at (2,2) size 99x37
+                  text run at (2,2) width 99: &quot;Mozilla&quot;
+              RenderText {#text} at (101,17) size 275x40
+                text run at (101,17) width 149: &quot; code available under a &quot;
+                text run at (250,17) width 27: &quot;dual&quot;
+                text run at (2,39) width 123: &quot;MPL/GPL license. &quot;
+                text run at (125,39) width 137: &quot;See the for more info.&quot;
+              RenderBR {BR} at (262,53) size 0x0
+            RenderTableCell {TD} at (308,20) size 472x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 241x18
+                text run at (2,2) width 241: &quot;foo bar foo bar foo bar foo bar foo bar&quot;
+      RenderBlock (anonymous) at (0,65) size 784x41
+        RenderBR {BR} at (0,0) size 0x18
+        RenderButton {INPUT} at (2,21) size 53x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 37x14
+            RenderText at (0,0) size 37x13
+              text run at (0,0) width 37: &quot;Reload&quot;
+        RenderText {#text} at (56,20) size 9x18
+          text run at (56,20) width 9: &quot;  &quot;
+        RenderButton {INPUT} at (66,21) size 84x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 68x14
+            RenderText at (0,0) size 68x13
+              text run at (0,0) width 68: &quot;Change Font&quot;
+        RenderText {#text} at (151,20) size 9x18
+          text run at (151,20) width 9: &quot;  &quot;
+        RenderTextControl {INPUT} at (161,20) size 124x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (0,0) size 0x0
+layer at (172,96) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;6&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug51037expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51037-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51037-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51037-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 240x18
+          text run at (0,0) width 240: &quot;The tables left position should be 250.&quot;
+      RenderBlock {P} at (0,34) size 784x23
+        RenderText {#text} at (0,2) size 34x18
+          text run at (0,2) width 34: &quot;Left: &quot;
+        RenderTextControl {INPUT} at (36,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+      RenderBlock {P} at (0,73) size 784x23
+        RenderText {#text} at (0,2) size 34x18
+          text run at (0,2) width 34: &quot;Top: &quot;
+        RenderTextControl {INPUT} at (36,2) size 123x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+      RenderBlock {P} at (0,112) size 784x22
+        RenderButton {INPUT} at (2,2) size 45x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 29x14
+            RenderText at (0,0) size 29x13
+              text run at (0,0) width 29: &quot;Move&quot;
+layer at (47,47) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 35x13
+      text run at (0,0) width 35: &quot;120px&quot;
+layer at (47,86) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
+    RenderText {#text} at (0,0) size 35x13
+      text run at (0,0) width 35: &quot;120px&quot;
+layer at (250,120) size 29x48
+  RenderTable {TABLE} at (250,120) size 29x48 [border: (1px outset #808080)]
+    RenderTableSection {TBODY} at (1,1) size 27x46
+      RenderTableRow {TR} at (0,2) size 27x20
+        RenderTableCell {TD} at (2,2) size 23x20 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+          RenderText {#text} at (1,1) size 21x18
+            text run at (1,1) width 21: &quot;foo&quot;
+      RenderTableRow {TR} at (0,24) size 27x20
+        RenderTableCell {TD} at (2,24) size 23x20 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+          RenderText {#text} at (1,1) size 20x18
+            text run at (1,1) width 20: &quot;bar&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug51727expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51727-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51727-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug51727-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x86
+  RenderBlock {HTML} at (0,0) size 800x86
+    RenderBody {BODY} at (8,8) size 784x70
+      RenderBlock {FORM} at (0,0) size 784x44
+        RenderButton {INPUT} at (2,2) size 159x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 143x14
+            RenderText at (0,0) size 143x13
+              text run at (0,0) width 143: &quot;(1) Fill cell with long string&quot;
+        RenderBR {BR} at (162,1) size 1x18
+        RenderButton {INPUT} at (2,24) size 163x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 147x14
+            RenderText at (0,0) size 147x13
+              text run at (0,0) width 147: &quot;(2) Fill cell with short string&quot;
+        RenderBR {BR} at (166,23) size 1x18
+      RenderTable {TABLE} at (0,44) size 83x26
+        RenderTableSection {TBODY} at (0,0) size 83x26
+          RenderTableRow {TR} at (0,2) size 83x22
+            RenderTableCell {TD} at (2,2) size 79x22 [border: (1px solid #000000)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 14x18
+                text run at (2,2) width 14: &quot;aa&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug52505expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52505-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52505-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52505-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x110
+  RenderBlock {HTML} at (0,0) size 800x110
+    RenderBody {BODY} at (8,8) size 784x94
+      RenderBlock {FORM} at (0,0) size 784x38
+        RenderButton {INPUT} at (2,0) size 257x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 241x14
+            RenderText at (0,0) size 241x13
+              text run at (0,0) width 241: &quot;[Step 1] Set cell width to 60px (nothing seen)&quot;
+        RenderButton {INPUT} at (2,20) size 259x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 243x14
+            RenderText at (0,0) size 243x13
+              text run at (0,0) width 243: &quot;[Step 2] Set cell width to 20px (garbage seen)&quot;
+      RenderTable {TABLE} at (0,40) size 34x54
+        RenderTableSection {TBODY} at (0,0) size 34x54
+          RenderTableRow {TR} at (0,2) size 34x24
+            RenderTableCell {TD} at (2,2) size 14x24 [border: (2px solid #000000)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (3,3) size 8x18
+                text run at (3,3) width 8: &quot;1&quot;
+            RenderTableCell {TD} at (18,2) size 14x24 [border: (2px solid #000000)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (3,3) size 8x18
+                text run at (3,3) width 8: &quot;2&quot;
+          RenderTableRow {TR} at (0,28) size 34x24
+            RenderTableCell {TD} at (2,28) size 14x24 [border: (2px solid #000000)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (3,3) size 8x18
+                text run at (3,3) width 8: &quot;2&quot;
+            RenderTableCell {TD} at (18,28) size 14x24 [border: (2px solid #000000)] [r=1 c=1 rs=1 cs=1]
+              RenderText {#text} at (3,3) size 8x18
+                text run at (3,3) width 8: &quot;2&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug52506expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52506-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52506-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug52506-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x118
+  RenderBlock {HTML} at (0,0) size 800x118
+    RenderBody {BODY} at (8,8) size 784x102
+      RenderBlock {FORM} at (0,0) size 784x38
+        RenderButton {INPUT} at (2,0) size 181x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 165x14
+            RenderText at (0,0) size 165x13
+              text run at (0,0) width 165: &quot;[Step 1] Set cell height to 60px&quot;
+        RenderButton {INPUT} at (2,20) size 181x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 165x14
+            RenderText at (0,0) size 165x13
+              text run at (0,0) width 165: &quot;[Step 2] Set cell height to 20px&quot;
+      RenderTable {TABLE} at (0,40) size 42x62
+        RenderTableSection {TBODY} at (0,0) size 42x62
+          RenderTableRow {TR} at (0,2) size 42x28
+            RenderTableCell {TD} at (2,2) size 18x28 [border: (4px solid #000000)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (5,5) size 8x18
+                text run at (5,5) width 8: &quot;1&quot;
+            RenderTableCell {TD} at (22,2) size 18x28 [border: (4px solid #000000)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (5,5) size 8x18
+                text run at (5,5) width 8: &quot;2&quot;
+          RenderTableRow {TR} at (0,32) size 42x28
+            RenderTableCell {TD} at (2,32) size 18x28 [border: (4px solid #000000)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (5,5) size 8x18
+                text run at (5,5) width 8: &quot;2&quot;
+            RenderTableCell {TD} at (22,32) size 18x28 [border: (4px solid #000000)] [r=1 c=1 rs=1 cs=1]
+              RenderText {#text} at (5,5) size 8x18
+                text run at (5,5) width 8: &quot;2&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug60749expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug60749-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug60749-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug60749-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderTable {TABLE} at (0,0) size 378x28 [border: (3px outset #808080)]
+        RenderTableSection {TBODY} at (3,3) size 372x22
+          RenderTableRow {TR} at (0,0) size 372x22
+            RenderTableCell {TD} at (0,0) size 68x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 64x18
+                text run at (2,2) width 64: &quot;fieldLabel&quot;
+            RenderTableCell {TD} at (68,0) size 304x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 106x18
+                text run at (2,2) width 106: &quot;   InspectionText&quot;
+      RenderBlock {FORM} at (0,28) size 784x22
+        RenderButton {INPUT} at (2,2) size 88x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 72x14
+            RenderText at (0,0) size 72x13
+              text run at (0,0) width 72: &quot;change width&quot;
+        RenderText {#text} at (91,1) size 5x18
+          text run at (91,1) width 5: &quot; &quot;
+        RenderButton {INPUT} at (97,2) size 181x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 164x14
+            RenderText at (0,0) size 164x13
+              text run at (0,0) width 164: &quot;change width with table reflow&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillabugsbug7342expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug7342-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug7342-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/bugs/bug7342-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576 [bgcolor=#FFFFFF]
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {#text} at (0,0) size 761x36
+          text run at (0,0) width 433: &quot;Click on a link on the left hand column. Also note the overlap of the &quot;
+          text run at (433,0) width 328: &quot;text box with the submit button. (And, removing the&quot;
+          text run at (0,18) width 152: &quot;font tag that is wrapped &quot;
+          text run at (152,18) width 234: &quot;around the text box clears up layout).&quot;
+      RenderBlock (anonymous) at (0,52) size 784x18
+        RenderBR {BR} at (0,0) size 0x18
+      RenderBlock {FORM} at (0,70) size 784x136
+        RenderBlock {CENTER} at (0,0) size 784x136
+          RenderTable {TABLE} at (92,0) size 600x136 [bgcolor=#EEEEEE] [border: (1px outset #808080)]
+            RenderTableSection {TBODY} at (1,1) size 598x134
+              RenderTableRow {TR} at (0,3) size 598x128
+                RenderTableCell {TD} at (3,3) size 124x128 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                  RenderTable {TABLE} at (4,4) size 116x120 [bgcolor=#FFFFFF] [border: (1px outset #808080)]
+                    RenderTableSection {TBODY} at (1,1) size 114x118
+                      RenderTableRow {TR} at (0,2) size 114x27
+                        RenderTableCell {TD} at (2,3) size 110x24 [bgcolor=#CCCCCC] [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+                          RenderInline {A} at (0,0) size 61x18 [color=#660099]
+                            RenderInline {B} at (0,0) size 61x18
+                              RenderText {#text} at (3,3) size 61x18
+                                text run at (3,3) width 61: &quot;Netscape&quot;
+                          RenderText {#text} at (0,0) size 0x0
+                      RenderTableRow {TR} at (0,31) size 114x27
+                        RenderTableCell {TD} at (2,32) size 110x24 [bgcolor=#FFFFFF] [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                          RenderInline {A} at (0,0) size 57x18 [color=#660099]
+                            RenderInline {B} at (0,0) size 57x18
+                              RenderText {#text} at (3,3) size 57x18
+                                text run at (3,3) width 57: &quot;Infoseek&quot;
+                          RenderText {#text} at (0,0) size 0x0
+                      RenderTableRow {TR} at (0,60) size 114x27
+                        RenderTableCell {TD} at (2,61) size 110x24 [bgcolor=#FFFFFF] [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+                          RenderInline {A} at (0,0) size 78x18 [color=#660099]
+                            RenderInline {B} at (0,0) size 78x18
+                              RenderText {#text} at (3,3) size 78x18
+                                text run at (3,3) width 78: &quot;LookSmart&quot;
+                          RenderText {#text} at (0,0) size 0x0
+                      RenderTableRow {TR} at (0,89) size 114x27
+                        RenderTableCell {TD} at (2,90) size 110x24 [bgcolor=#FFFFFF] [border: (1px inset #808080)] [r=3 c=0 rs=1 cs=1]
+                          RenderInline {A} at (0,0) size 65x18 [color=#660099]
+                            RenderInline {B} at (0,0) size 65x18
+                              RenderText {#text} at (3,3) size 65x18
+                                text run at (3,3) width 65: &quot;Directory&quot;
+                          RenderText {#text} at (0,0) size 0x0
+                RenderTableCell {TD} at (130,25) size 465x83 [bgcolor=#CCCCCC] [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+                  RenderTable {TABLE} at (4,4) size 457x75 [border: (1px outset #808080)]
+                    RenderTableSection {TBODY} at (1,1) size 455x73
+                      RenderTableRow {TR} at (0,4) size 455x33
+                        RenderTableCell {TD} at (4,4) size 337x33 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=3]
+                          RenderInline {FONT} at (0,0) size 232x15
+                            RenderText {#text} at (0,0) size 0x0
+                            RenderTextControl {INPUT} at (7,7) size 228x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                            RenderText {#text} at (0,0) size 0x0
+                          RenderText {#text} at (0,0) size 0x0
+                        RenderTableCell {TD} at (345,4) size 106x32 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+                          RenderButton {INPUT} at (7,7) size 52x18 [bgcolor=#C0C0C0]
+                            RenderBlock (anonymous) at (8,2) size 36x14
+                              RenderText at (0,0) size 36x13
+                                text run at (0,0) width 36: &quot;Search&quot;
+                          RenderText {#text} at (0,0) size 0x0
+                      RenderTableRow {TR} at (0,41) size 455x28
+                        RenderTableCell {TD} at (4,41) size 109x28 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+                          RenderText {#text} at (5,5) size 26x18
+                            text run at (5,5) width 26: &quot;asdf&quot;
+                        RenderTableCell {TD} at (117,41) size 110x28 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+                          RenderText {#text} at (5,5) size 26x18
+                            text run at (5,5) width 26: &quot;asdf&quot;
+                        RenderTableCell {TD} at (231,41) size 110x28 [border: (1px inset #808080)] [r=1 c=2 rs=1 cs=1]
+                          RenderText {#text} at (5,5) size 26x18
+                            text run at (5,5) width 26: &quot;asdf&quot;
+                        RenderTableCell {TD} at (345,41) size 106x28 [border: (1px inset #808080)] [r=1 c=3 rs=1 cs=1]
+                          RenderText {#text} at (5,5) size 26x18
+                            text run at (5,5) width 26: &quot;asdf&quot;
+layer at (250,123) size 222x13
+  RenderBlock {DIV} at (3,3) size 222x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillacollapsing_bordersbug412624expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {BLOCKQUOTE} at (40,0) size 704x118
+        RenderBlock {CENTER} at (0,0) size 704x118
+          RenderTable {TABLE} at (298,0) size 108x80 [border: (2px none #808080)]
+            RenderTableSection {TBODY} at (2,2) size 103x75
+              RenderTableRow {TR} at (0,0) size 103x25
+                RenderTableCell {TD} at (0,0) size 37x25 [border: (3px groove #0000FF)] [r=0 c=0 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 29x18
+                    text run at (4,4) width 29: &quot;EST&quot;
+                RenderTableCell {TD} at (37,0) size 66x25 [border: (3px groove #0000FF)] [r=0 c=1 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 59x18
+                    text run at (4,4) width 59: &quot;9:00 a.m.&quot;
+              RenderTableRow {TR} at (0,25) size 103x25
+                RenderTableCell {TD} at (0,25) size 37x25 [border: (3px groove #0000FF)] [r=1 c=0 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 30x18
+                    text run at (4,4) width 30: &quot;CST&quot;
+                RenderTableCell {TD} at (37,25) size 66x25 [border: (3px groove #0000FF)] [r=1 c=1 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 59x18
+                    text run at (4,4) width 59: &quot;8:00 a.m.&quot;
+              RenderTableRow {TR} at (0,50) size 103x25
+                RenderTableCell {TD} at (0,50) size 37x25 [border: (3px groove #0000FF)] [r=2 c=0 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 28x18
+                    text run at (4,4) width 28: &quot;PST&quot;
+                RenderTableCell {TD} at (37,50) size 66x25 [border: (3px groove #0000FF)] [r=2 c=1 rs=1 cs=1]
+                  RenderText {#text} at (4,4) size 59x18
+                    text run at (4,4) width 59: &quot;6:00 a.m.&quot;
+          RenderBlock {P} at (0,96) size 704x22
+            RenderButton {INPUT} at (287,2) size 63x18 [bgcolor=#C0C0C0]
+              RenderBlock (anonymous) at (8,2) size 46x14
+                RenderText at (0,0) size 46x13
+                  text run at (0,0) width 46: &quot;separate&quot;
+            RenderText {#text} at (351,1) size 5x18
+              text run at (351,1) width 5: &quot; &quot;
+            RenderButton {INPUT} at (357,2) size 60x18 [bgcolor=#C0C0C0]
+              RenderBlock (anonymous) at (8,2) size 44x14
+                RenderText at (0,0) size 44x13
+                  text run at (0,0) width 44: &quot;collapse&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozilladomtableDomexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/dom/tableDom-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {FORM} at (0,0) size 784x23
+        RenderMenuList {SELECT} at (2,3) size 95x18 [bgcolor=#FFFFFF]
+          RenderBlock (anonymous) at (0,0) size 95x18
+            RenderText at (8,2) size 62x13
+              text run at (8,2) width 62: &quot;append cell&quot;
+        RenderText {#text} at (99,2) size 52x18
+          text run at (99,2) width 52: &quot;   tbody &quot;
+        RenderTextControl {INPUT} at (153,2) size 48x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (203,2) size 41x18
+          text run at (203,2) width 41: &quot;   row &quot;
+        RenderTextControl {INPUT} at (246,2) size 48x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (296,2) size 35x18
+          text run at (296,2) width 35: &quot;   col &quot;
+        RenderTextControl {INPUT} at (333,2) size 48x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (383,2) size 74x18
+          text run at (383,2) width 74: &quot;   row span &quot;
+        RenderTextControl {INPUT} at (459,2) size 48x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (509,2) size 68x18
+          text run at (509,2) width 68: &quot;   col span &quot;
+        RenderTextControl {INPUT} at (579,2) size 48x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (629,2) size 20x18
+          text run at (629,2) width 20: &quot;     &quot;
+        RenderButton {INPUT} at (651,3) size 42x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 26x14
+            RenderText at (0,0) size 26x13
+              text run at (0,0) width 26: &quot;Do It&quot;
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock (anonymous) at (0,39) size 784x18
+        RenderBR {BR} at (0,0) size 0x18
+      RenderTable {TABLE} at (0,57) size 62x52 [bgcolor=#FFA500] [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 60x50
+          RenderTableRow {TR} at (0,2) size 60x22
+            RenderTableCell {TD} at (2,2) size 27x22 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 23x18
+                text run at (2,2) width 23: &quot;c11&quot;
+          RenderTableRow {TR} at (0,26) size 60x22
+            RenderTableCell {TD} at (2,26) size 27x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 23x18
+                text run at (2,2) width 23: &quot;c21&quot;
+            RenderTableCell {TD} at (31,26) size 27x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 23x18
+                text run at (2,2) width 23: &quot;c22&quot;
+      RenderBlock (anonymous) at (0,109) size 784x18
+        RenderBR {BR} at (0,0) size 0x18
+layer at (164,13) size 42x13
+  RenderBlock {DIV} at (3,3) size 42x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;0&quot;
+layer at (257,13) size 42x13
+  RenderBlock {DIV} at (3,3) size 42x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;0&quot;
+layer at (344,13) size 42x13
+  RenderBlock {DIV} at (3,3) size 42x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;0&quot;
+layer at (470,13) size 42x13
+  RenderBlock {DIV} at (3,3) size 42x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;1&quot;
+layer at (590,13) size 42x13
+  RenderBlock {DIV} at (3,3) size 42x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;1&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillamarvinbody_colexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/marvin/body_col-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/marvin/body_col-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/marvin/body_col-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 159x156 [border: (2px outset #808080)]
+        RenderTableCol {COLGROUP} at (0,0) size 0x0
+          RenderTableCol {COL} at (0,0) size 0x0
+          RenderTableCol {COL} at (0,0) size 0x0
+        RenderTableSection {TBODY} at (2,2) size 155x152
+          RenderTableRow {TR} at (0,2) size 155x40
+            RenderTableCell {TH} at (2,2) size 49x40 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (15,2) size 37x36
+                text run at (15,2) width 19: &quot;La&quot;
+                text run at (6,20) width 37: &quot;Mesa&quot;
+            RenderTableCell {TD} at (53,11) size 100x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 12x18
+                text run at (2,2) width 12: &quot;X&quot;
+          RenderTableRow {TR} at (0,44) size 155x40
+            RenderTableCell {TH} at (2,44) size 49x40 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (17,2) size 43x36
+                text run at (17,2) width 15: &quot;El&quot;
+                text run at (3,20) width 43: &quot;Cajon&quot;
+            RenderTableCell {TD} at (53,53) size 100x22 [border: (1px inset #808080)] [r=1 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 12x18
+                text run at (2,2) width 12: &quot;X&quot;
+          RenderTableRow {TR} at (0,86) size 155x40
+            RenderTableCell {TH} at (2,86) size 49x40 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+              RenderText {#text} at (3,2) size 43x36
+                text run at (3,2) width 43: &quot;Chula&quot;
+                text run at (7,20) width 35: &quot;Vista&quot;
+            RenderTableCell {TD} at (53,95) size 100x22 [border: (1px inset #808080)] [r=2 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 12x18
+                text run at (2,2) width 12: &quot;X&quot;
+          RenderTableRow {TR} at (0,128) size 155x22
+            RenderTableCell {TH} at (2,128) size 49x22 [border: (1px inset #808080)] [r=3 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 45x18
+                text run at (2,2) width 45: &quot;Bonita&quot;
+            RenderTableCell {TD} at (53,128) size 100x22 [border: (1px inset #808080)] [r=3 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 28x18
+                text run at (2,2) width 28: &quot;N/A&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozillaothermove_rowexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla/other/move_row-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla/other/move_row-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla/other/move_row-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,51 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584 [bgcolor=#FFFFFF]
+      RenderTable {TABLE} at (0,0) size 49x134
+        RenderTableSection {TBODY} at (0,0) size 49x134
+          RenderTableRow {TR} at (0,2) size 49x20
+            RenderTableCell {TD} at (2,2) size 45x20 [r=0 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 0&quot;
+          RenderTableRow {TR} at (0,24) size 49x20
+            RenderTableCell {TD} at (2,24) size 45x20 [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 1&quot;
+          RenderTableRow {TR} at (0,46) size 49x20
+            RenderTableCell {TD} at (2,46) size 45x20 [r=2 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 2&quot;
+          RenderTableRow {TR} at (0,68) size 49x20
+            RenderTableCell {TD} at (2,68) size 45x20 [r=3 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 3&quot;
+          RenderTableRow {TR} at (0,90) size 49x20
+            RenderTableCell {TD} at (2,90) size 45x20 [r=4 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 4&quot;
+          RenderTableRow {TR} at (0,112) size 49x20
+            RenderTableCell {TD} at (2,112) size 45x20 [r=5 c=0 rs=1 cs=1]
+              RenderText {#text} at (1,1) size 43x18
+                text run at (1,1) width 43: &quot;Row 5&quot;
+      RenderBlock (anonymous) at (0,134) size 784x23
+        RenderTextControl {INPUT} at (2,2) size 28x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (32,2) size 4x18
+          text run at (32,2) width 4: &quot; &quot;
+        RenderTextControl {INPUT} at (38,2) size 28x19 [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+        RenderText {#text} at (68,2) size 4x18
+          text run at (68,2) width 4: &quot; &quot;
+        RenderButton {INPUT} at (74,3) size 30x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 14x14
+            RenderText at (0,0) size 14x13
+              text run at (0,0) width 14: &quot;go&quot;
+        RenderText {#text} at (0,0) size 0x0
+layer at (13,147) size 22x13
+  RenderBlock {DIV} at (3,3) size 22x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;2&quot;
+layer at (49,147) size 22x13
+  RenderBlock {DIV} at (3,3) size 22x13
+    RenderText {#text} at (0,0) size 7x13
+      text run at (0,0) width 7: &quot;4&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug1725expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,68 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 600x280 [bgcolor=#FFC0CB]
+        RenderTableSection {TBODY} at (0,0) size 600x280
+          RenderTableRow {TR} at (0,0) size 600x18
+            RenderTableCell {TD} at (0,0) size 600x18 [bgcolor=#FFFF00] [r=0 c=0 rs=1 cs=3]
+              RenderText {#text} at (0,0) size 8x18
+                text run at (0,0) width 8: &quot;1&quot;
+          RenderTableRow {TR} at (0,18) size 600x18
+            RenderTableCell {TD} at (0,18) size 600x18 [bgcolor=#FF0000] [r=1 c=0 rs=1 cs=3]
+              RenderText {#text} at (0,0) size 8x18
+                text run at (0,0) width 8: &quot;2&quot;
+          RenderTableRow {TR} at (0,36) size 600x0
+            RenderTableCell {TD} at (0,36) size 155x18 [bgcolor=#00FFFF] [r=2 c=0 rs=40 cs=1]
+              RenderText {#text} at (0,0) size 8x18
+                text run at (0,0) width 8: &quot;3&quot;
+          RenderTableRow {TR} at (0,36) size 600x28
+            RenderTableCell {TD} at (155,36) size 445x28 [bgcolor=#FFA500] [r=3 c=1 rs=1 cs=1]
+              RenderTable {TABLE} at (0,0) size 440x28
+                RenderTableSection {TBODY} at (0,0) size 440x28
+                  RenderTableRow {TR} at (0,2) size 440x24
+                    RenderTableCell {TD} at (2,2) size 217x24 [r=0 c=0 rs=1 cs=1]
+                      RenderButton {INPUT} at (3,3) size 97x18 [bgcolor=#C0C0C0]
+                        RenderBlock (anonymous) at (8,2) size 81x14
+                          RenderText at (0,0) size 81x13
+                            text run at (0,0) width 81: &quot;Submit Criteria&quot;
+                    RenderTableCell {TD} at (221,4) size 217x20 [r=0 c=1 rs=1 cs=1]
+                      RenderText {#text} at (1,1) size 8x18
+                        text run at (1,1) width 8: &quot;4&quot;
+          RenderTableRow {TR} at (0,64) size 600x18
+            RenderTableCell {TD} at (155,64) size 445x18 [bgcolor=#FF0000] [r=4 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 8x18
+                text run at (0,0) width 8: &quot;5&quot;
+          RenderTableRow {TR} at (0,82) size 600x36
+            RenderTableCell {TD} at (155,82) size 445x36 [bgcolor=#FFFF00] [r=5 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 426x36
+                text run at (0,0) width 257: &quot;If you have entered your feature criteria, &quot;
+                text run at (257,0) width 169: &quot;press the \&quot;Submit Criteria\&quot;&quot;
+                text run at (0,18) width 86: &quot;button above.&quot;
+          RenderTableRow {TR} at (0,118) size 600x18
+            RenderTableCell {TD} at (155,118) size 445x18 [bgcolor=#D3D3D3] [r=6 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 8x18
+                text run at (0,0) width 8: &quot;6&quot;
+          RenderTableRow {TR} at (0,136) size 600x54
+            RenderTableCell {TD} at (155,136) size 445x54 [r=7 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 438x54
+                text run at (0,0) width 262: &quot;If you want to do a radius search instead, &quot;
+                text run at (262,0) width 164: &quot;press the \&quot;Radius Search\&quot;&quot;
+                text run at (0,18) width 48: &quot;button. &quot;
+                text run at (48,18) width 279: &quot;This will allow you to select a starting point &quot;
+                text run at (327,18) width 111: &quot;and enter a radius&quot;
+                text run at (0,36) width 157: &quot;with new feature criteria.&quot;
+          RenderTableRow {TR} at (0,190) size 600x18
+            RenderTableCell {TD} at (155,190) size 445x18 [r=8 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 4x18
+                text run at (0,0) width 4: &quot; &quot;
+          RenderTableRow {TR} at (0,208) size 600x72
+            RenderTableCell {TD} at (155,208) size 445x72 [r=9 c=1 rs=1 cs=1]
+              RenderText {#text} at (0,0) size 436x72
+                text run at (0,0) width 436: &quot;All information provided is deemed reliable but is not guaranteed and&quot;
+                text run at (0,18) width 65: &quot;should be &quot;
+                text run at (65,18) width 370: &quot;independently verified. The price shown may represent the&quot;
+                text run at (0,36) width 117: &quot;top or bottom of a &quot;
+                text run at (117,36) width 318: &quot;price range listing and not necessarily a fixed price&quot;
+                text run at (0,54) width 34: &quot;offer.&quot;
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug24795expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,177 @@
</span><ins>+layer at (0,0) size 785x1407
+  RenderView at (0,0) size 785x600
+layer at (8,8) size 769x1399
+  RenderBlock {HTML} at (8,8) size 769x1399 [bgcolor=#008000] [border: (16px solid #00FF00)]
+    RenderTable at (16,16) size 737x1367
+      RenderTableSection (anonymous) at (0,0) size 737x1367
+        RenderTableRow (anonymous) at (0,0) size 737x1367
+          RenderTableCell {HEAD} at (0,0) size 235x490 [color=#FFFFFF] [bgcolor=#FF0000] [border: (5px solid #FFFFFF)] [r=0 c=0 rs=1 cs=1]
+            RenderBlock {META} at (21,37) size 193x2 [border: (1px dotted #FFFFFF)]
+            RenderBlock {META} at (21,55) size 193x2 [border: (1px dotted #FFFFFF)]
+            RenderBlock {META} at (21,73) size 193x2 [border: (1px dotted #FFFFFF)]
+            RenderBlock {META} at (21,91) size 193x2 [border: (1px dotted #FFFFFF)]
+            RenderBlock {TITLE} at (21,109) size 193x56 [border: (1px dotted #FFFFFF)]
+              RenderText {#text} at (1,1) size 188x54
+                text run at (1,1) width 188: &quot;Evil Tests: Rendering BODY&quot;
+                text run at (1,19) width 162: &quot;and HEAD as children of&quot;
+                text run at (1,37) width 67: &quot;HTML - 2&quot;
+            RenderBlock {STYLE} at (21,181) size 193x272 [border: (1px dotted #FFFFFF)]
+              RenderText {#text} at (1,1) size 189x270
+                text run at (1,1) width 81: &quot;/* Layout */ &quot;
+                text run at (82,1) width 58: &quot;HTML {&quot;
+                text run at (1,19) width 172: &quot;display: block; border: 1em&quot;
+                text run at (1,37) width 161: &quot;lime solid; margin: 8px; }&quot;
+                text run at (1,55) width 166: &quot;HEAD, BODY { display:&quot;
+                text run at (1,73) width 183: &quot;table-cell; border: solid thick;&quot;
+                text run at (1,91) width 189: &quot;padding: 1em; margin: 1em; }&quot;
+                text run at (1,109) width 163: &quot;HEAD &gt; *, BODY &gt; * {&quot;
+                text run at (1,127) width 169: &quot;display: block; border: thin&quot;
+                text run at (1,145) width 158: &quot;dotted; margin: 1em 0; } &quot;
+                text run at (159,145) width 12: &quot;/*&quot;
+                text run at (1,163) width 89: &quot;Formatting */ &quot;
+                text run at (90,163) width 98: &quot;HTML { color:&quot;
+                text run at (1,181) width 176: &quot;black; background: green; }&quot;
+                text run at (1,199) width 141: &quot;HEAD { color: white;&quot;
+                text run at (1,217) width 123: &quot;background: red; } &quot;
+                text run at (124,217) width 59: &quot;BODY {&quot;
+                text run at (1,235) width 170: &quot;color: yellow; background:&quot;
+                text run at (1,253) width 38: &quot;teal; }&quot;
+          RenderTableCell {BODY} at (235,41) size 502x1326 [color=#FFFF00] [bgcolor=#008080] [border: (5px solid #FFFF00)] [r=0 c=1 rs=1 cs=1]
+            RenderBlock {H1} at (21,53) size 460x76 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 152x37
+                text run at (1,1) width 152: &quot;Rendering &quot;
+              RenderInline {CODE} at (0,0) size 64x30
+                RenderText {#text} at (153,6) size 64x30
+                  text run at (153,6) width 64: &quot;BODY&quot;
+              RenderText {#text} at (217,1) size 68x37
+                text run at (217,1) width 68: &quot; and &quot;
+              RenderInline {CODE} at (0,0) size 64x30
+                RenderText {#text} at (285,6) size 64x30
+                  text run at (285,6) width 64: &quot;HEAD&quot;
+              RenderText {#text} at (349,1) size 384x74
+                text run at (349,1) width 36: &quot; as&quot;
+                text run at (1,38) width 157: &quot;children of &quot;
+              RenderInline {CODE} at (0,0) size 64x30
+                RenderText {#text} at (158,43) size 64x30
+                  text run at (158,43) width 64: &quot;HTML&quot;
+              RenderText {#text} at (222,38) size 43x37
+                text run at (222,38) width 43: &quot; - 2&quot;
+            RenderBlock {P} at (21,161) size 460x38 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 383x18
+                text run at (1,1) width 383: &quot;If you have any comments to make regarding this test, e-mail&quot;
+              RenderInline {A} at (0,0) size 182x18 [color=#0000EE]
+                RenderText {#text} at (1,19) size 182x18
+                  text run at (1,19) width 182: &quot;py8ieh=eviltests@bath.ac.uk&quot;
+              RenderText {#text} at (183,19) size 4x18
+                text run at (183,19) width 4: &quot;.&quot;
+            RenderBlock {DL} at (21,215) size 460x92 [border: (1px dotted #FFFF00)]
+              RenderBlock {DT} at (1,1) size 458x18
+                RenderText {#text} at (0,0) size 80x18
+                  text run at (0,0) width 80: &quot;Prerequisites&quot;
+              RenderBlock {DD} at (41,19) size 418x72
+                RenderText {#text} at (0,0) size 418x54
+                  text run at (0,0) width 383: &quot;Browsers that are subjected to this test should support the the&quot;
+                  text run at (0,18) width 418: &quot;background, padding, margin, border and color properties of CSS,&quot;
+                  text run at (0,36) width 121: &quot;and in addition the &quot;
+                RenderInline {CODE} at (0,0) size 64x15
+                  RenderText {#text} at (121,38) size 64x15
+                    text run at (121,38) width 64: &quot;overflow&quot;
+                RenderText {#text} at (185,36) size 391x36
+                  text run at (185,36) width 206: &quot; property and fixed position stuff&quot;
+                  text run at (0,54) width 75: &quot;from CSS2.&quot;
+            RenderBlock {H2} at (21,331) size 460x58 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 438x56
+                text run at (1,1) width 438: &quot;1. Making the BODY and the HEAD into a&quot;
+                text run at (1,29) width 51: &quot;table&quot;
+            RenderBlock {P} at (21,413) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 256x18
+                text run at (1,1) width 256: &quot;This is really evil, but completely valid...&quot;
+            RenderBlock {P} at (21,449) size 460x110 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 458x108
+                text run at (1,1) width 441: &quot;This document should have two cells, side by side: one on the left, the&quot;
+                text run at (1,19) width 444: &quot;other on the right. The one on the left should be red with white writing&quot;
+                text run at (1,37) width 455: &quot;and a thick white border. It should contain four dotted lines separated by&quot;
+                text run at (1,55) width 458: &quot;a blank line, followed by a dotted bordered box containing the document&quot;
+                text run at (1,73) width 427: &quot;title, and another dotted bordered box containing the stylesheet, also&quot;
+                text run at (1,91) width 89: &quot;shown below:&quot;
+            RenderBlock {PRE} at (21,575) size 460x17 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 40x15
+                text run at (1,1) width 40: &quot;  ...&quot;
+                text run at (41,1) width 0: &quot; &quot;
+            RenderBlock {P} at (21,608) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 453x18
+                text run at (1,1) width 453: &quot;The dotted borders and lines and the text in the left cell should be white.&quot;
+            RenderBlock {P} at (21,644) size 460x38 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 439x36
+                text run at (1,1) width 439: &quot;The right cell should be teal, with yellow text. This paragraph you are&quot;
+                text run at (1,19) width 249: &quot;reading now should be in this right cell.&quot;
+            RenderBlock {P} at (21,698) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 444x18
+                text run at (1,1) width 444: &quot;The width of the two cells is left up to the user agent to decide, I think.&quot;
+            RenderBlock {P} at (21,734) size 460x74 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 457x72
+                text run at (1,1) width 457: &quot;The right cell should look similar to the left cell in formatting -- each box&quot;
+                text run at (1,19) width 447: &quot;of text should have a yellow dotted border, and there should be a blank&quot;
+                text run at (1,37) width 419: &quot;line between each such box. No box should be nested -- the dotted&quot;
+                text run at (1,55) width 306: &quot;boxes should always be distinct from each other.&quot;
+            RenderBlock {P} at (21,824) size 460x38 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 411x36
+                text run at (1,1) width 411: &quot;The cells should be the same height, and they should have grown&quot;
+                text run at (1,19) width 222: &quot;vertically to accommodate this text.&quot;
+            RenderBlock {P} at (21,878) size 460x56 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 430x54
+                text run at (1,1) width 430: &quot;Around the whole setup should be two borders, dark green and light&quot;
+                text run at (1,19) width 428: &quot;green. The cells should be separated from each other and from these&quot;
+                text run at (1,37) width 226: &quot;outer borders by 1em of dark green.&quot;
+            RenderBlock {P} at (21,950) size 460x38 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 436x36
+                text run at (1,1) width 436: &quot;There should also be some alternate stylesheets set up to allow you to&quot;
+                text run at (1,19) width 383: &quot;display the &lt;META&gt; content. This may help with diagnosis.&quot;
+            RenderBlock {H2} at (21,1012) size 460x30 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 154x28
+                text run at (1,1) width 154: &quot;Submit Results&quot;
+            RenderBlock {FORM} at (21,1066) size 460x97 [border: (1px dotted #FFFF00)]
+              RenderBlock {P} at (1,17) size 458x63
+                RenderText {#text} at (0,0) size 259x18
+                  text run at (0,0) width 259: &quot;How does your browser fare on this test?&quot;
+                RenderMenuList {SELECT} at (2,20) size 454x18 [color=#000000] [bgcolor=#FFFFFF]
+                  RenderBlock (anonymous) at (0,0) size 454x18
+                    RenderText at (8,2) size 215x13
+                      text run at (8,2) width 215: &quot;Document renders exactly as described.&quot;
+                RenderText {#text} at (0,0) size 0x0
+                RenderInline {LABEL} at (0,0) size 197x18
+                  RenderText {#text} at (0,42) size 70x18
+                    text run at (0,42) width 70: &quot;Comment: &quot;
+                  RenderTextControl {INPUT} at (72,42) size 123x19 [color=#000000] [bgcolor=#FFFFFF] [border: (2px inset #000000)]
+                RenderText {#text} at (197,42) size 4x18
+                  text run at (197,42) width 4: &quot; &quot;
+                RenderButton {INPUT} at (203,43) size 54x18 [color=#000000] [bgcolor=#C0C0C0]
+                  RenderBlock (anonymous) at (8,2) size 38x14
+                    RenderText at (0,0) size 38x13
+                      text run at (0,0) width 38: &quot;Submit&quot;
+                RenderText {#text} at (0,0) size 0x0
+            RenderBlock {HR} at (21,1179) size 460x2 [border: (1px dotted #FFFF00)]
+            RenderBlock {P} at (21,1197) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderInline {A} at (0,0) size 161x18 [color=#0000EE]
+                RenderText {#text} at (1,1) size 161x18
+                  text run at (1,1) width 161: &quot;Up to the Evil Tests Page&quot;
+              RenderText {#text} at (162,1) size 4x18
+                text run at (162,1) width 4: &quot;.&quot;
+            RenderBlock {P} at (21,1233) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 173x18
+                text run at (1,1) width 173: &quot;This page is maintained by &quot;
+              RenderInline {A} at (0,0) size 77x18 [color=#0000EE]
+                RenderText {#text} at (174,1) size 77x18
+                  text run at (174,1) width 77: &quot;Ian Hickson&quot;
+              RenderText {#text} at (251,1) size 9x18
+                text run at (251,1) width 9: &quot; (&quot;
+              RenderInline {A} at (0,0) size 123x18 [color=#0000EE]
+                RenderText {#text} at (260,1) size 123x18
+                  text run at (260,1) width 123: &quot;py8ieh@bath.ac.uk&quot;
+              RenderText {#text} at (383,1) size 9x18
+                text run at (383,1) width 9: &quot;).&quot;
+            RenderBlock {P} at (21,1269) size 460x20 [border: (1px dotted #FFFF00)]
+              RenderText {#text} at (1,1) size 170x18
+                text run at (1,1) width 170: &quot;Last updated in June 1999.&quot;
+layer at (356,1193) size 117x13
+  RenderBlock {DIV} at (3,3) size 117x13
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwintablesmozilla_expected_failuresbugsbug584022expectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderTable {TABLE} at (0,0) size 259x240 [border: (1px outset #808080)]
+        RenderTableSection {TBODY} at (1,1) size 257x238
+          RenderTableRow {TR} at (0,2) size 257x22
+            RenderTableCell {TD} at (2,11) size 41x4 [border: (1px inset #808080)] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (45,2) size 76x22 [border: (1px inset #808080)] [r=0 c=1 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 31x18
+                text run at (2,2) width 31: &quot;col 1&quot;
+            RenderTableCell {TD} at (123,2) size 54x22 [border: (1px inset #808080)] [r=0 c=2 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 31x18
+                text run at (2,2) width 31: &quot;col 2&quot;
+            RenderTableCell {TD} at (179,2) size 76x22 [border: (1px inset #808080)] [r=0 c=3 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 31x18
+                text run at (2,2) width 31: &quot;col 3&quot;
+          RenderTableRow {TR} at (0,26) size 257x22
+            RenderTableCell {TD} at (2,26) size 41x22 [border: (1px inset #808080)] [r=1 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 37x18
+                text run at (2,2) width 37: &quot;row 1&quot;
+            RenderTableCell {TD} at (45,26) size 210x210 [border: (1px inset #808080)] [r=1 c=1 rs=3 cs=3]
+              RenderBlock (floating) {DIV} at (2,2) size 206x206 [border: (3px solid #FF0000)]
+                RenderText {#text} at (84,3) size 38x18
+                  text run at (84,3) width 38: &quot;tjosan&quot;
+          RenderTableRow {TR} at (0,50) size 257x50
+            RenderTableCell {TD} at (2,64) size 41x22 [border: (1px inset #808080)] [r=2 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 37x18
+                text run at (2,2) width 37: &quot;row 2&quot;
+          RenderTableRow {TR} at (0,102) size 257x134
+            RenderTableCell {TD} at (2,158) size 41x22 [border: (1px inset #808080)] [r=3 c=0 rs=1 cs=1]
+              RenderText {#text} at (2,2) size 37x18
+                text run at (2,2) width 37: &quot;row 3&quot;
+      RenderBlock (anonymous) at (0,240) size 784x22
+        RenderButton {INPUT} at (2,2) size 56x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 40x14
+            RenderText at (0,0) size 40x13
+              text run at (0,0) width 40: &quot;expand&quot;
+        RenderText {#text} at (59,1) size 5x18
+          text run at (59,1) width 5: &quot; &quot;
+        RenderButton {INPUT} at (65,2) size 44x18 [bgcolor=#C0C0C0]
+          RenderBlock (anonymous) at (8,2) size 27x14
+            RenderText at (0,0) size 27x13
+              text run at (0,0) width 27: &quot;sizes&quot;
+        RenderText {#text} at (0,0) size 0x0
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestsplatformwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/LayoutTests/platform/wk2/TestExpectations (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/platform/wk2/TestExpectations        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/LayoutTests/platform/wk2/TestExpectations        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -246,6 +246,8 @@
</span><span class="cx"> 
</span><span class="cx"> webkit.org/b/105952 fast/loader/submit-form-while-parsing-2.html [ Pass Failure ]
</span><span class="cx"> 
</span><ins>+webkit.org/b/127683 http/tests/navigation/new-window-redirect-history.html [ Crash ]
+
</ins><span class="cx"> ### END OF (1) Classified failures with bug reports
</span><span class="cx"> ########################################
</span><span class="cx"> 
</span><span class="lines">@@ -510,27 +512,6 @@
</span><span class="cx"> tables/mozilla_expected_failures/bugs/bug8499.html
</span><span class="cx"> transitions/font-family-during-transition.html
</span><span class="cx"> 
</span><del>-# Unexplained back/forward list failures
-fast/loader/frame-location-change-not-added-to-history.html
-fast/loader/frame-src-change-added-to-history.html
-fast/loader/frame-src-change-not-added-to-history.html
-http/tests/history/redirect-200-refresh-0-seconds.pl
-http/tests/history/redirect-js-document-location-before-load.html
-http/tests/history/redirect-js-form-submit-before-load.html
-http/tests/history/redirect-js-location-assign-before-load.html
-http/tests/history/redirect-js-location-before-load.html
-http/tests/history/redirect-js-location-href-before-load.html
-http/tests/history/redirect-js-location-replace-0-seconds.html
-http/tests/history/redirect-js-location-replace-2-seconds.html
-http/tests/history/redirect-js-location-replace-before-load.html
-http/tests/history/redirect-meta-refresh-0-seconds.html
-http/tests/navigation/anchor-frames.html
-http/tests/navigation/document-location-script.html
-http/tests/navigation/location-replace-adds-history-item.html
-http/tests/navigation/multiple-back-forward-entries.html
-http/tests/navigation/new-window-redirect-history.html
-http/tests/navigation/post-basic.html
-http/tests/navigation/post-goback1.html
</del><span class="cx"> 
</span><span class="cx"> # [WK2] http/tests/navigation/anchor-frames-cross-origin.html fails.
</span><span class="cx"> # https://bugs.webkit.org/show_bug.cgi?id=83581
</span></span></pre></div>
<a id="branchesjsCStackLayoutTestssvganimationsselfdependencycrashexpectedtxt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash-expected.txt (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash-expected.txt                                (rev 0)
+++ branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash-expected.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+This test passes if it does not crash.
+
</ins></span></pre></div>
<a id="branchesjsCStackLayoutTestssvganimationsselfdependencycrashhtml"></a>
<div class="addfile"><h4>Added: branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash.html (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash.html                                (rev 0)
+++ branches/jsCStack/LayoutTests/svg/animations/self-dependency-crash.html        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+&lt;!DOCTYPE HTML&gt;
+&lt;html&gt;
+  &lt;body&gt;
+    This test passes if it does not crash.&lt;br/&gt;
+    &lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100&quot; height=&quot;100&quot;&gt;
+      &lt;rect&gt;
+        &lt;set id=&quot;selfID&quot; attributeName=&quot;x&quot; begin=&quot;0s; selfID.end + 1s&quot; dur=&quot;1s&quot; repeatDur=&quot;indefinite&quot;&gt;&lt;/set&gt;
+      &lt;/rect&gt;
+    &lt;/svg&gt;
+    &lt;script&gt;
+        if (window.testRunner)
+            testRunner.dumpAsText();
+    &lt;/script&gt;
+  &lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreAPIJSValueRefcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/API/JSValueRef.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/API/JSValueRef.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/API/JSValueRef.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -327,7 +327,7 @@
</span><span class="cx">         LiteralParser&lt;LChar&gt; parser(exec, str.characters8(), length, StrictJSON);
</span><span class="cx">         return toRef(exec, parser.tryLiteralParse());
</span><span class="cx">     }
</span><del>-    LiteralParser&lt;UChar&gt; parser(exec, str.characters(), length, StrictJSON);
</del><ins>+    LiteralParser&lt;UChar&gt; parser(exec, str.deprecatedCharacters(), length, StrictJSON);
</ins><span class="cx">     return toRef(exec, parser.tryLiteralParse());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreAPIOpaqueJSStringcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/API/OpaqueJSString.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/API/OpaqueJSString.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/API/OpaqueJSString.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     if (!characters)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (!m_string.is8Bit() &amp;&amp; m_string.characters() == characters)
</del><ins>+    if (!m_string.is8Bit() &amp;&amp; m_string.deprecatedCharacters() == characters)
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     fastFree(characters);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/CMakeLists.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/CMakeLists.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/CMakeLists.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -84,6 +84,7 @@
</span><span class="cx">     bytecode/StructureStubClearingWatchpoint.cpp
</span><span class="cx">     bytecode/StructureStubInfo.cpp
</span><span class="cx">     bytecode/UnlinkedCodeBlock.cpp
</span><ins>+    bytecode/UnlinkedInstructionStream.cpp
</ins><span class="cx">     bytecode/ValueRecovery.cpp
</span><span class="cx">     bytecode/Watchpoint.cpp
</span><span class="cx"> 
</span><span class="lines">@@ -237,7 +238,13 @@
</span><span class="cx">     inspector/InspectorValues.cpp
</span><span class="cx">     inspector/JSInjectedScriptHost.cpp
</span><span class="cx">     inspector/JSInjectedScriptHostPrototype.cpp
</span><ins>+    inspector/JSJavaScriptCallFrame.cpp
+    inspector/JSJavaScriptCallFramePrototype.cpp
+    inspector/JavaScriptCallFrame.cpp
+    inspector/ScriptDebugServer.cpp
</ins><span class="cx">     inspector/agents/InspectorAgent.cpp
</span><ins>+    inspector/agents/InspectorDebuggerAgent.cpp
+    inspector/agents/InspectorRuntimeAgent.cpp
</ins><span class="cx"> 
</span><span class="cx">     interpreter/AbstractPC.cpp
</span><span class="cx">     interpreter/CallFrame.cpp
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/ChangeLog (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/ChangeLog        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/ChangeLog        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,3 +1,7 @@
</span><ins>+2014-01-23  Mark Hahnenberg  &lt;mhahnenberg@apple.com&gt;
+
+        Merge branch up to ToT r162844.
+
</ins><span class="cx"> 2014-01-27  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         FTL should do polyvariant PutById inlining
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> ENABLE_DEVICE_ORIENTATION_iphonesimulator = $(ENABLE_DEVICE_ORIENTATION_iphoneos);
</span><span class="cx"> ENABLE_DIRECTORY_UPLOAD = ;
</span><span class="cx"> ENABLE_DOM4_EVENTS_CONSTRUCTOR = ENABLE_DOM4_EVENTS_CONSTRUCTOR;
</span><del>-ENABLE_DRAGGABLE_REGION = ;
</del><span class="cx"> ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx_1080 = ;
</span><span class="lines">@@ -196,4 +195,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_DRAGGABLE_REGION) $(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_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="branchesjsCStackSourceJavaScriptCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/GNUmakefile.list.am (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/GNUmakefile.list.am        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -185,6 +185,8 @@
</span><span class="cx">         Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.h \
</span><span class="cx">         Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp \
</span><span class="cx">         Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h \
</span><ins>+        Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp \
+        Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h \
</ins><span class="cx">         Source/JavaScriptCore/bytecode/ValueProfile.h \
</span><span class="cx">         Source/JavaScriptCore/bytecode/ValueRecovery.cpp \
</span><span class="cx">         Source/JavaScriptCore/bytecode/ValueRecovery.h \
</span><span class="lines">@@ -654,10 +656,22 @@
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHost.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.cpp \
</span><span class="cx">         Source/JavaScriptCore/inspector/JSInjectedScriptHostPrototype.h \
</span><ins>+        Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp \
+        Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h \
+        Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp \
+        Source/JavaScriptCore/inspector/JavaScriptCallFrame.h \
</ins><span class="cx">         Source/JavaScriptCore/inspector/ScriptBreakpoint.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/ScriptDebugListener.h \
</span><ins>+        Source/JavaScriptCore/inspector/ScriptDebugServer.cpp \
+        Source/JavaScriptCore/inspector/ScriptDebugServer.h \
</ins><span class="cx">         Source/JavaScriptCore/inspector/agents/InspectorAgent.h \
</span><span class="cx">         Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp \
</span><ins>+        Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h \
+        Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp \
+        Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h \
+        Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp \
</ins><span class="cx">         Source/JavaScriptCore/interpreter/AbstractPC.cpp \
</span><span class="cx">         Source/JavaScriptCore/interpreter/AbstractPC.h \
</span><span class="cx">         Source/JavaScriptCore/interpreter/CachedCall.h \
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoremake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.make (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.make        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.make        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,55 +0,0 @@
</span><del>-!IF defined(BUILDSTYLE) &amp;&amp; &quot;$(BUILDSTYLE)&quot;==&quot;DEBUG&quot;
-BUILDSTYLE=DebugSuffix
-!ELSE
-BUILDSTYLE=Production
-!ENDIF
-
-install:
-    set OFFICIAL_BUILD=1
-        set WebKit_Libraries=$(SRCROOT)\AppleInternal
-        set WebKit_OutputDir=$(OBJROOT)
-    set OriginalPath = %PATH%
-
-    set ArchitectureBuildStyle=$(BUILDSTYLE)|Win32
-    set ProgramFilesAAS=Program Files (x86)\Common Files\Apple\Apple Application Support
-    set Path=%OriginalPath%;$(SRCROOT)\%ProgramFilesAAS%
-        set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
-    -mkdir &quot;%ConfigurationBuildDir%\include\private&quot;
-    xcopy &quot;%WebKit_Libraries%\include\private\*&quot; &quot;%ConfigurationBuildDir%\include\private&quot; /e/v/i/h/y
-    devenv &quot;JavaScriptCore.submit.sln&quot; /clean &quot;%ArchitectureBuildStyle%&quot;
-    devenv &quot;JavaScriptCore.submit.sln&quot; /build &quot;%ArchitectureBuildStyle%&quot;
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\JavaScriptCore.dll&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\JavaScriptCore_debug.dll&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\JavaScriptCore.pdb&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\JavaScriptCore_debug.pdb&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\jsc.exe&quot; &quot;$(DSTROOT)\AppleInternal\bin32\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\jsc_debug.exe&quot; &quot;$(DSTROOT)\AppleInternal\bin32\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\jsc.pdb&quot; &quot;$(DSTROOT)\AppleInternal\bin32\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin32\jsc_debug.pdb&quot; &quot;$(DSTROOT)\AppleInternal\bin32\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\include\*&quot; &quot;$(DSTROOT)\AppleInternal\include\&quot; /e/v/i/h/y    
-    xcopy &quot;%ConfigurationBuildDir%\lib32\*&quot; &quot;$(DSTROOT)\AppleInternal\lib32\&quot; /e/v/i/h/y    
-    xcopy &quot;%ConfigurationBuildDir%\bin32\JavaScriptCore.resources\*&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\JavaScriptCore.resources&quot; /e/v/i/h/y
-    -mkdir &quot;$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore&quot;
-    xcopy &quot;%ConfigurationBuildDir%\obj32\JavaScriptCore\DerivedSources\*&quot; &quot;$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore&quot; /e/v/i/h/y
-
-    set ArchitectureBuildStyle=$(BUILDSTYLE)|x64
-    set ProgramFilesAAS=Program Files\Common Files\Apple\Apple Application Support
-    set Path=%OriginalPath%;$(SRCROOT)\%ProgramFilesAAS%
-        set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
-    -mkdir &quot;%ConfigurationBuildDir%\include\private&quot;
-    xcopy &quot;%WebKit_Libraries%\include\private\*&quot; &quot;%ConfigurationBuildDir%\include\private&quot; /e/v/i/h/y
-    devenv &quot;JavaScriptCore.submit.sln&quot; /clean &quot;%ArchitectureBuildStyle%&quot;
-    devenv &quot;JavaScriptCore.submit.sln&quot; /build &quot;%ArchitectureBuildStyle%&quot;
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\JavaScriptCore.dll&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\JavaScriptCore_debug.dll&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\JavaScriptCore.pdb&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\JavaScriptCore_debug.pdb&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\jsc.exe&quot; &quot;$(DSTROOT)\AppleInternal\bin64\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\jsc_debug.exe&quot; &quot;$(DSTROOT)\AppleInternal\bin64\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\jsc.pdb&quot; &quot;$(DSTROOT)\AppleInternal\bin64\&quot; /e/v/i/h/y
-    -xcopy &quot;%ConfigurationBuildDir%\bin64\jsc_debug.pdb&quot; &quot;$(DSTROOT)\AppleInternal\bin64\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\lib64\*&quot; &quot;$(DSTROOT)\AppleInternal\lib64\&quot; /e/v/i/h/y    
-    xcopy &quot;%ConfigurationBuildDir%\bin64\JavaScriptCore.resources\*&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\JavaScriptCore.resources&quot; /e/v/i/h/y
-    -mkdir &quot;$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore&quot;
-    xcopy &quot;%ConfigurationBuildDir%\obj64\JavaScriptCore\DerivedSources\*&quot; &quot;$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore&quot; /e/v/i/h/y
-    
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCoreproj"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.proj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,121 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
+&lt;Project InitialTargets=&quot;PreBuild&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
+
+  &lt;!-- normalize configuration case --&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Release'&quot;&gt;
+        &lt;CONFIG&gt;Production&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Debug'&quot;&gt;
+        &lt;CONFIG&gt;DebugSuffix&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;!-- Wrapper to build JavaScriptCore for both win32 and x64. --&gt;
+  &lt;PropertyGroup&gt;
+    &lt;OFFICIAL_BUILD&gt;1&lt;/OFFICIAL_BUILD&gt;
+    &lt;WebKit_Libraries&gt;$(SRCROOT)\AppleInternal\&lt;/WebKit_Libraries&gt;
+    &lt;WebKit_OutputDir&gt;$(OBJROOT)&lt;/WebKit_OutputDir&gt;
+    &lt;AppleInternal&gt;$(DSTROOT)\AppleInternal&lt;/AppleInternal&gt;
+    &lt;AppleInternalLib32&gt;$(AppleInternal)\lib32&lt;/AppleInternalLib32&gt;
+    &lt;AppleInternalLib64&gt;$(AppleInternal)\lib64&lt;/AppleInternalLib64&gt;
+    &lt;AppleInternalBin32&gt;$(AppleInternal)\bin32&lt;/AppleInternalBin32&gt;
+    &lt;AppleInternalBin64&gt;$(AppleInternal)\bin64&lt;/AppleInternalBin64&gt;
+    &lt;AppleInternal32Symbols&gt;$(AppleInternal)\public32\sym&lt;/AppleInternal32Symbols&gt;
+    &lt;AppleInternal64Symbols&gt;$(AppleInternal)\public64\sym&lt;/AppleInternal64Symbols&gt;
+    &lt;ProgramFilesAAS32&gt;Program Files (x86)\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS32&gt;
+    &lt;ProgramFilesAAS64&gt;Program Files\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS64&gt;
+    &lt;ConfigurationBuildDir&gt;$(OBJROOT)\$(CONFIG)&lt;/ConfigurationBuildDir&gt;  
+    &lt;OutputDirectory&gt;$(DSTROOT)&lt;/OutputDirectory&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;ItemGroup&gt;
+    &lt;JavaScriptCore Include=&quot;JavaScriptCore.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=Win32;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/JavaScriptCore&gt;
+    &lt;JavaScriptCore Include=&quot;JavaScriptCore.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=x64;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/JavaScriptCore&gt;
+  &lt;/ItemGroup&gt;

+  &lt;!-- Prepare for build --&gt;
+  &lt;Target Name=&quot;PreBuild&quot; BeforeTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Error Text=&quot;OBJROOT property or environment variable must be defined.&quot; Condition=&quot;'$(OBJROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Copying necessary headers to $(ConfigurationBuildDir)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT);$(OBJROOT);$(ConfigurationBuildDir)\include\private&quot; /&gt;

+    &lt;CreateItem Include=&quot;$(WebKit_Libraries)\include\private\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;PrivateIncFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+
+    &lt;Copy SourceFiles=&quot;@(PrivateIncFiles)&quot; DestinationFiles=&quot;@(PrivateIncFiles-&gt;'$(ConfigurationBuildDir)\include\private\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Message Text=&quot;Build output -&gt; $(OBJROOT)&quot; /&gt;
+    &lt;Message Text=&quot;Final output -&gt; $(DSTROOT)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources;$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore;$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;!-- Build JavaScriptCore Software --&gt;
+  &lt;Target Name=&quot;Build&quot; AfterTargets=&quot;PreBuild&quot;&gt;
+    &lt;Message Text=&quot;Building $(CONFIGURATION) Solution&quot; /&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Output=$(WebKit_OutputDir)&quot; /&gt;
+    &lt;MSBuild Projects=&quot;@(JavaScriptCore)&quot; Properties=&quot;Configuration=$(CONFIG)&quot; Targets=&quot;ReBuild&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;Target Name=&quot;PostBuild&quot; AfterTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Moving $(CONFIG) build results to $(DSTROOT)&quot; /&gt;
+
+    &lt;!-- Identify the files to copy over --&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\include\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;IncFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*.pdb&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*.pdb&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\JavaScriptCore.resources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32Resources&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\JavaScriptCore.resources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64Resources&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib32\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib64\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib64Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\obj32\JavaScriptCore\DerivedSources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Derived32Sources&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\obj64\JavaScriptCore\DerivedSources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Derived64Sources&quot; /&gt;
+    &lt;/CreateItem&gt;
+
+    &lt;Copy SourceFiles=&quot;@(IncFiles)&quot; DestinationFiles=&quot;@(IncFiles-&gt;'$(DSTROOT)\AppleInternal\include\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib32Files)&quot; DestinationFolder=&quot;$(AppleInternalLib32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib64Files)&quot; DestinationFolder=&quot;$(AppleInternalLib64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(AppleInternalBin32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal32Symbols)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Resources)&quot; DestinationFiles=&quot;@(Bin32Resources-&gt;'$(DSTROOT)\$(ProgramFilesAAS32)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(AppleInternalBin64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal64Symbols)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Resources)&quot; DestinationFiles=&quot;@(Bin64Resources-&gt;'$(DSTROOT)\$(ProgramFilesAAS64)\JavaScriptCore.resources\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Derived32Sources)&quot; DestinationFiles=&quot;@(Derived32Sources-&gt;'$(DSTROOT)\AppleInternal\Sources32\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Derived64Sources)&quot; DestinationFiles=&quot;@(Derived64Sources-&gt;'$(DSTROOT)\AppleInternal\Sources64\JavaScriptCore\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+  &lt;/Target&gt;
+
+&lt;/Project&gt;
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -341,6 +341,7 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\StructureStubClearingWatchpoint.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\StructureStubInfo.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\UnlinkedCodeBlock.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\bytecode\UnlinkedInstructionStream.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\ValueRecovery.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\Watchpoint.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecompiler\BytecodeGenerator.cpp&quot; /&gt;
</span><span class="lines">@@ -486,7 +487,13 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorValues.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHost.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\JSInjectedScriptHostPrototype.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\JSJavaScriptCallFrame.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\JSJavaScriptCallFramePrototype.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\JavaScriptCallFrame.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\ScriptDebugServer.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\agents\InspectorAgent.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorDebuggerAgent.cpp&quot; /&gt;
+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorRuntimeAgent.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\AbstractPC.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\CallFrame.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\Interpreter.cpp&quot; /&gt;
</span><span class="lines">@@ -837,6 +844,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\StructureStubClearingWatchpoint.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\StructureStubInfo.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\UnlinkedCodeBlock.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\bytecode\UnlinkedInstructionStream.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ValueProfile.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ValueRecovery.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\VariableWatchpointSet.h&quot; /&gt;
</span><span class="lines">@@ -1059,9 +1067,15 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorValues.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\JSInjectedScriptHostPrototype.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\JSJavaScriptCallFrame.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\inspector\JSJavaScriptCallFramePrototype.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\inspector\JavaScriptCallFrame.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptBreakpoint.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptDebugListener.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\ScriptDebugServer.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\agents\InspectorAgent.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorDebuggerAgent.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorRuntimeAgent.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\AbstractPC.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\CachedCall.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\CallFrame.h&quot; /&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -186,6 +186,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\UnlinkedCodeBlock.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\bytecode\UnlinkedInstructionStream.cpp&quot;&gt;
+      &lt;Filter&gt;bytecode&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\bytecode\Watchpoint.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -300,6 +303,12 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\agents\InspectorAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorDebuggerAgent.cpp&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
+    &lt;ClCompile Include=&quot;..\inspector\agents\InspectorRuntimeAgent.cpp&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\interpreter\AbstractPC.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;interpreter&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -1559,6 +1568,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\UnlinkedCodeBlock.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\bytecode\UnlinkedInstructionStream.h&quot;&gt;
+      &lt;Filter&gt;bytecode&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\bytecode\ValueProfile.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bytecode&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -1802,6 +1814,12 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\agents\InspectorAgent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorDebuggerAgent.h&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\inspector\agents\InspectorRuntimeAgent.h&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\interpreter\AbstractPC.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;interpreter&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -919,8 +919,22 @@
</span><span class="cx">                 A1712B4111C7B235007A5315 /* RegExpKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B4011C7B235007A5315 /* RegExpKey.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C01831A22D00CF8711 /* MacroAssemblerARM64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923C156EED3B00566CB2 /* MacroAssemblerARM64.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A1A009C11831A26E00CF8711 /* ARM64Assembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 8640923B156EED3B00566CB2 /* ARM64Assembler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A503FA19188E0FB000110F14 /* JavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */; };
+                A503FA1A188E0FB000110F14 /* JavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */; };
+                A503FA1B188E0FB000110F14 /* JSJavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */; };
+                A503FA1C188E0FB000110F14 /* JSJavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */; };
+                A503FA1D188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */; };
+                A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */; };
</ins><span class="cx">                 A503FA21188EFF6800110F14 /* ScriptBreakpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A503FA22188EFF6800110F14 /* ScriptDebugListener.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA20188EFF6800110F14 /* ScriptDebugListener.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A503FA25188EFFFD00110F14 /* ScriptDebugServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */; };
+                A503FA26188EFFFD00110F14 /* ScriptDebugServer.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A503FA29188F105900110F14 /* JSGlobalObjectScriptDebugServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A503FA27188F105900110F14 /* JSGlobalObjectScriptDebugServer.cpp */; };
+                A503FA2A188F105900110F14 /* JSGlobalObjectScriptDebugServer.h in Headers */ = {isa = PBXBuildFile; fileRef = A503FA28188F105900110F14 /* JSGlobalObjectScriptDebugServer.h */; };
+                A50E4B6118809DD50068A46D /* InspectorRuntimeAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A50E4B5D18809DD50068A46D /* InspectorRuntimeAgent.cpp */; };
+                A50E4B6218809DD50068A46D /* InspectorRuntimeAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A50E4B5E18809DD50068A46D /* InspectorRuntimeAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A50E4B6318809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A50E4B5F18809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp */; };
+                A50E4B6418809DD50068A46D /* JSGlobalObjectRuntimeAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A50E4B6018809DD50068A46D /* JSGlobalObjectRuntimeAgent.h */; };
</ins><span class="cx">                 A51007C0187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */; };
</span><span class="cx">                 A51007C1187CC3C600B38879 /* JSGlobalObjectInspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */; };
</span><span class="cx">                 A513E5B7185B8BD3007E95AD /* InjectedScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */; };
</span><span class="lines">@@ -945,6 +959,8 @@
</span><span class="cx">                 A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */ = {isa = PBXBuildFile; fileRef = A5324390185696E6002ED692 /* CodeGeneratorInspectorStrings.py */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A532439418569709002ED692 /* generate-combined-inspector-json.py in Headers */ = {isa = PBXBuildFile; fileRef = A5324391185696E6002ED692 /* generate-combined-inspector-json.py */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A53243981856A489002ED692 /* InspectorJS.json in Headers */ = {isa = PBXBuildFile; fileRef = A53243951856A475002ED692 /* InspectorJS.json */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A54982031891D0B00081E5B8 /* EventLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54982011891D0B00081E5B8 /* EventLoop.cpp */; };
+                A54982041891D0B00081E5B8 /* EventLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = A54982021891D0B00081E5B8 /* EventLoop.h */; };
</ins><span class="cx">                 A54CF2F5184EAB2400237F19 /* ScriptValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54CF2F2184EAB2400237F19 /* ScriptValue.cpp */; };
</span><span class="cx">                 A54CF2F6184EAB2400237F19 /* ScriptValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A54CF2F3184EAB2400237F19 /* ScriptValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A54CF2F9184EAEDA00237F19 /* ScriptObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A54CF2F7184EAEDA00237F19 /* ScriptObject.cpp */; };
</span><span class="lines">@@ -952,6 +968,10 @@
</span><span class="cx">                 A55D93A5185012A800400DED /* ScriptFunctionCall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A55D93A3185012A800400DED /* ScriptFunctionCall.cpp */; };
</span><span class="cx">                 A55D93A6185012A800400DED /* ScriptFunctionCall.h in Headers */ = {isa = PBXBuildFile; fileRef = A55D93A4185012A800400DED /* ScriptFunctionCall.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A55D93AC18514F7900400DED /* InspectorTypeBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = A55D93AB18514F7900400DED /* InspectorTypeBuilder.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                A57D23E51890CEBF0031C7FA /* InspectorDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D23E31890CEBF0031C7FA /* InspectorDebuggerAgent.cpp */; };
+                A57D23E61890CEBF0031C7FA /* InspectorDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A57D23E41890CEBF0031C7FA /* InspectorDebuggerAgent.h */; settings = {ATTRIBUTES = (Private, ); }; };
+                A57D23E91891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D23E71891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp */; };
+                A57D23EA1891B0770031C7FA /* JSGlobalObjectDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A57D23E81891B0770031C7FA /* JSGlobalObjectDebuggerAgent.h */; };
</ins><span class="cx">                 A57D23ED1891B5540031C7FA /* RegularExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D23EB1891B5540031C7FA /* RegularExpression.cpp */; };
</span><span class="cx">                 A57D23EE1891B5540031C7FA /* RegularExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = A57D23EC1891B5540031C7FA /* RegularExpression.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A57D23F11891B5B40031C7FA /* ContentSearchUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A57D23EF1891B5B40031C7FA /* ContentSearchUtilities.cpp */; };
</span><span class="lines">@@ -1169,6 +1189,7 @@
</span><span class="cx">                 A7FCC26D17A0B6AA00786D1A /* FTLSwitchCase.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FCC26C17A0B6AA00786D1A /* FTLSwitchCase.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A8A4748E151A8306004123FF /* libWTF.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A8A4748D151A8306004123FF /* libWTF.a */; };
</span><span class="cx">                 ADE39FFF16DD144B0003CD4A /* PropertyTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD1CF06816DCAB2D00B97123 /* PropertyTable.cpp */; };
</span><ins>+                B59F89391891F29F00D5CCDC /* UnlinkedInstructionStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B59F89381891ADB500D5CCDC /* UnlinkedInstructionStream.cpp */; };
</ins><span class="cx">                 BC02E90D0E1839DB000F9297 /* ErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9050E1839DB000F9297 /* ErrorConstructor.h */; };
</span><span class="cx">                 BC02E90F0E1839DB000F9297 /* ErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9070E1839DB000F9297 /* ErrorPrototype.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC02E9110E1839DB000F9297 /* NativeErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9090E1839DB000F9297 /* NativeErrorConstructor.h */; };
</span><span class="lines">@@ -2331,8 +2352,22 @@
</span><span class="cx">                 A1712B3A11C7B212007A5315 /* RegExpCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExpCache.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A1712B4011C7B235007A5315 /* RegExpKey.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpKey.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFramePrototype.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFramePrototype.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptBreakpoint.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A503FA20188EFF6800110F14 /* ScriptDebugListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugListener.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA27188F105900110F14 /* JSGlobalObjectScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectScriptDebugServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A503FA28188F105900110F14 /* JSGlobalObjectScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectScriptDebugServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A50E4B5D18809DD50068A46D /* InspectorRuntimeAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorRuntimeAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A50E4B5E18809DD50068A46D /* InspectorRuntimeAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorRuntimeAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A50E4B5F18809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectRuntimeAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A50E4B6018809DD50068A46D /* JSGlobalObjectRuntimeAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectRuntimeAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectInspectorController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectInspectorController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedScript.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2362,6 +2397,8 @@
</span><span class="cx">                 A5324391185696E6002ED692 /* generate-combined-inspector-json.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = &quot;generate-combined-inspector-json.py&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A53243951856A475002ED692 /* InspectorJS.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = InspectorJS.json; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A53243961856A475002ED692 /* InspectorJSBackendCommands.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = InspectorJSBackendCommands.js; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A54982011891D0B00081E5B8 /* EventLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventLoop.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A54982021891D0B00081E5B8 /* EventLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventLoop.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A54CF2F2184EAB2400237F19 /* ScriptValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptValue.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A54CF2F3184EAB2400237F19 /* ScriptValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptValue.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A54CF2F7184EAEDA00237F19 /* ScriptObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptObject.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2369,6 +2406,10 @@
</span><span class="cx">                 A55D93A3185012A800400DED /* ScriptFunctionCall.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptFunctionCall.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A55D93A4185012A800400DED /* ScriptFunctionCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptFunctionCall.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A55D93AB18514F7900400DED /* InspectorTypeBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorTypeBuilder.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A57D23E31890CEBF0031C7FA /* InspectorDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDebuggerAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A57D23E41890CEBF0031C7FA /* InspectorDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDebuggerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A57D23E71891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGlobalObjectDebuggerAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A57D23E81891B0770031C7FA /* JSGlobalObjectDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObjectDebuggerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A57D23EB1891B5540031C7FA /* RegularExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegularExpression.cpp; path = yarr/RegularExpression.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A57D23EC1891B5540031C7FA /* RegularExpression.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegularExpression.h; path = yarr/RegularExpression.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A57D23EF1891B5B40031C7FA /* ContentSearchUtilities.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ContentSearchUtilities.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2592,6 +2633,8 @@
</span><span class="cx">                 A8E894310CD0602400367179 /* JSCallbackObjectFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCallbackObjectFunctions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A8E894330CD0603F00367179 /* JSGlobalObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGlobalObject.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 AD1CF06816DCAB2D00B97123 /* PropertyTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PropertyTable.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                B59F89371891AD3300D5CCDC /* UnlinkedInstructionStream.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnlinkedInstructionStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                B59F89381891ADB500D5CCDC /* UnlinkedInstructionStream.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UnlinkedInstructionStream.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 BC021BF2136900C300FC5467 /* ToolExecutable.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = ToolExecutable.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ErrorConstructor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC02E9050E1839DB000F9297 /* ErrorConstructor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ErrorConstructor.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4391,6 +4434,8 @@
</span><span class="cx">                                 BCCF0D070EF0AAB900413C8F /* StructureStubInfo.h */,
</span><span class="cx">                                 A79E781E15EECBA80047C855 /* UnlinkedCodeBlock.cpp */,
</span><span class="cx">                                 A79E781F15EECBA80047C855 /* UnlinkedCodeBlock.h */,
</span><ins>+                                B59F89381891ADB500D5CCDC /* UnlinkedInstructionStream.cpp */,
+                                B59F89371891AD3300D5CCDC /* UnlinkedInstructionStream.h */,
</ins><span class="cx">                                 0F963B3613FC6FDE0002D9B2 /* ValueProfile.h */,
</span><span class="cx">                                 0F24E55717F74EDB00ABB217 /* ValueRecovery.cpp */,
</span><span class="cx">                                 0F426A451460CBAB00131F8F /* ValueRecovery.h */,
</span><span class="lines">@@ -4407,6 +4452,14 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 A5CEEE12187F3BAD00E55C99 /* InspectorAgent.cpp */,
</span><span class="cx">                                 A5CEEE13187F3BAD00E55C99 /* InspectorAgent.h */,
</span><ins>+                                A57D23E31890CEBF0031C7FA /* InspectorDebuggerAgent.cpp */,
+                                A57D23E41890CEBF0031C7FA /* InspectorDebuggerAgent.h */,
+                                A50E4B5D18809DD50068A46D /* InspectorRuntimeAgent.cpp */,
+                                A50E4B5E18809DD50068A46D /* InspectorRuntimeAgent.h */,
+                                A57D23E71891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp */,
+                                A57D23E81891B0770031C7FA /* JSGlobalObjectDebuggerAgent.h */,
+                                A50E4B5F18809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp */,
+                                A50E4B6018809DD50068A46D /* JSGlobalObjectRuntimeAgent.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = agents;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -4447,6 +4500,8 @@
</span><span class="cx">                                 A532438E185696CE002ED692 /* scripts */,
</span><span class="cx">                                 A57D23EF1891B5B40031C7FA /* ContentSearchUtilities.cpp */,
</span><span class="cx">                                 A57D23F01891B5B40031C7FA /* ContentSearchUtilities.h */,
</span><ins>+                                A54982011891D0B00081E5B8 /* EventLoop.cpp */,
+                                A54982021891D0B00081E5B8 /* EventLoop.h */,
</ins><span class="cx">                                 A513E5B5185B8BD3007E95AD /* InjectedScript.cpp */,
</span><span class="cx">                                 A513E5B6185B8BD3007E95AD /* InjectedScript.h */,
</span><span class="cx">                                 A514B2C0185A684400F3C7CB /* InjectedScriptBase.cpp */,
</span><span class="lines">@@ -4470,12 +4525,22 @@
</span><span class="cx">                                 A593CF811840377100BFCE27 /* InspectorValues.h */,
</span><span class="cx">                                 A51007BE187CC3C600B38879 /* JSGlobalObjectInspectorController.cpp */,
</span><span class="cx">                                 A51007BF187CC3C600B38879 /* JSGlobalObjectInspectorController.h */,
</span><ins>+                                A503FA27188F105900110F14 /* JSGlobalObjectScriptDebugServer.cpp */,
+                                A503FA28188F105900110F14 /* JSGlobalObjectScriptDebugServer.h */,
</ins><span class="cx">                                 A513E5BA185BFACC007E95AD /* JSInjectedScriptHost.cpp */,
</span><span class="cx">                                 A513E5BB185BFACC007E95AD /* JSInjectedScriptHost.h */,
</span><span class="cx">                                 A513E5BC185BFACC007E95AD /* JSInjectedScriptHostPrototype.cpp */,
</span><span class="cx">                                 A513E5BD185BFACC007E95AD /* JSInjectedScriptHostPrototype.h */,
</span><ins>+                                A503FA15188E0FB000110F14 /* JSJavaScriptCallFrame.cpp */,
+                                A503FA16188E0FB000110F14 /* JSJavaScriptCallFrame.h */,
+                                A503FA17188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp */,
+                                A503FA18188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h */,
+                                A503FA13188E0FAF00110F14 /* JavaScriptCallFrame.cpp */,
+                                A503FA14188E0FAF00110F14 /* JavaScriptCallFrame.h */,
</ins><span class="cx">                                 A503FA1F188EFF6800110F14 /* ScriptBreakpoint.h */,
</span><span class="cx">                                 A503FA20188EFF6800110F14 /* ScriptDebugListener.h */,
</span><ins>+                                A503FA23188EFFFD00110F14 /* ScriptDebugServer.cpp */,
+                                A503FA24188EFFFD00110F14 /* ScriptDebugServer.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = inspector;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -4547,6 +4612,7 @@
</span><span class="cx">                                 A532439318569709002ED692 /* CodeGeneratorInspectorStrings.py in Headers */,
</span><span class="cx">                                  A532439218569709002ED692 /* CodeGeneratorInspector.py in Headers */,
</span><span class="cx">                                 0F24E54F17EE274900ABB217 /* TempRegisterSet.h in Headers */,
</span><ins>+                                A50E4B6418809DD50068A46D /* JSGlobalObjectRuntimeAgent.h in Headers */,
</ins><span class="cx">                                 FEB58C15187B8B160098EF0B /* ErrorHandlingScope.h in Headers */,
</span><span class="cx">                                 A7BFF3C0179868940002F462 /* DFGFiltrationResult.h in Headers */,
</span><span class="cx">                                 A5840E27187C981E00843B10 /* cssmin.py in Headers */,
</span><span class="lines">@@ -4574,6 +4640,7 @@
</span><span class="cx">                                 86D3B2C510156BDE002865E7 /* AssemblerBufferWithConstantPool.h in Headers */,
</span><span class="cx">                                 0F24E54117EA9F5900ABB217 /* AssemblyHelpers.h in Headers */,
</span><span class="cx">                                 A784A26111D16622005776AC /* ASTBuilder.h in Headers */,
</span><ins>+                                A503FA1A188E0FB000110F14 /* JavaScriptCallFrame.h in Headers */,
</ins><span class="cx">                                 147B83AC0E6DB8C9004775A4 /* BatchedTransitionOptimizer.h in Headers */,
</span><span class="cx">                                 866739D213BFDE710023D87C /* BigInteger.h in Headers */,
</span><span class="cx">                                 14816E1C154CC56C00B8054C /* BlockAllocator.h in Headers */,
</span><span class="lines">@@ -4636,6 +4703,7 @@
</span><span class="cx">                                 BC1166020E1997B4008066DD /* DateInstance.h in Headers */,
</span><span class="cx">                                 14A1563210966365006FA260 /* DateInstanceCache.h in Headers */,
</span><span class="cx">                                 BCD2034C0E17135E002C7E82 /* DatePrototype.h in Headers */,
</span><ins>+                                A503FA2A188F105900110F14 /* JSGlobalObjectScriptDebugServer.h in Headers */,
</ins><span class="cx">                                 BCD203E80E1718F4002C7E82 /* DatePrototype.lut.h in Headers */,
</span><span class="cx">                                 BC18C3FA0E16F5CD00B34460 /* Debugger.h in Headers */,
</span><span class="cx">                                 BC3135640F302FA3003DFD3A /* DebuggerActivation.h in Headers */,
</span><span class="lines">@@ -4675,6 +4743,7 @@
</span><span class="cx">                                 0F7B294D14C3CD4C007C3DB1 /* DFGCommon.h in Headers */,
</span><span class="cx">                                 0FEA0A32170D40BF00BB722C /* DFGCommonData.h in Headers */,
</span><span class="cx">                                 0F38B01817CFE75500B144D3 /* DFGCompilationKey.h in Headers */,
</span><ins>+                                A503FA1E188E0FB000110F14 /* JSJavaScriptCallFramePrototype.h in Headers */,
</ins><span class="cx">                                 0F38B01A17CFE75500B144D3 /* DFGCompilationMode.h in Headers */,
</span><span class="cx">                                 0F3B3A1B153E68F4003ED0FF /* DFGConstantFoldingPhase.h in Headers */,
</span><span class="cx">                                 0FBE0F7316C1DB050082C5E8 /* DFGCPSRethreadingPhase.h in Headers */,
</span><span class="lines">@@ -4705,6 +4774,7 @@
</span><span class="cx">                                 A7D89CFA17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.h in Headers */,
</span><span class="cx">                                 86EC9DC61328DF82002B2AD7 /* DFGGenerationInfo.h in Headers */,
</span><span class="cx">                                 86EC9DC81328DF82002B2AD7 /* DFGGraph.h in Headers */,
</span><ins>+                                A57D23E61890CEBF0031C7FA /* InspectorDebuggerAgent.h in Headers */,
</ins><span class="cx">                                 0FB14E211812570B009B6B4D /* DFGInlineCacheWrapper.h in Headers */,
</span><span class="cx">                                 0FB14E2318130955009B6B4D /* DFGInlineCacheWrapperInlines.h in Headers */,
</span><span class="cx">                                 A704D90617A0BAA8006BA554 /* DFGInPlaceAbstractState.h in Headers */,
</span><span class="lines">@@ -4766,6 +4836,7 @@
</span><span class="cx">                                 0FBE0F7716C1DB120082C5E8 /* DFGUnificationPhase.h in Headers */,
</span><span class="cx">                                 0F34B14A16D42013001CDA5A /* DFGUseKind.h in Headers */,
</span><span class="cx">                                 0F3B3A2C15475002003ED0FF /* DFGValidate.h in Headers */,
</span><ins>+                                A57D23EA1891B0770031C7FA /* JSGlobalObjectDebuggerAgent.h in Headers */,
</ins><span class="cx">                                 0F2BDC471522802500CD8910 /* DFGValueRecoveryOverride.h in Headers */,
</span><span class="cx">                                 0F2BDC481522802900CD8910 /* DFGValueSource.h in Headers */,
</span><span class="cx">                                 0F620174143FCD330068B77C /* DFGVariableAccessData.h in Headers */,
</span><span class="lines">@@ -4871,6 +4942,7 @@
</span><span class="cx">                                 0F666EC1183566F900D017F1 /* FullBytecodeLiveness.h in Headers */,
</span><span class="cx">                                 C2E526BE1590EF000054E48D /* HeapTimer.h in Headers */,
</span><span class="cx">                                 0F4680D514BBD24B00BFE272 /* HostCallReturnValue.h in Headers */,
</span><ins>+                                A503FA26188EFFFD00110F14 /* ScriptDebugServer.h in Headers */,
</ins><span class="cx">                                 BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */,
</span><span class="cx">                                 C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */,
</span><span class="cx">                                 0FB7F39915ED8E4600F167B2 /* IndexingHeader.h in Headers */,
</span><span class="lines">@@ -4890,6 +4962,7 @@
</span><span class="cx">                                 860BD801148EA6F200112B2F /* Intrinsic.h in Headers */,
</span><span class="cx">                                 BC18C4130E16F5CD00B34460 /* JavaScript.h in Headers */,
</span><span class="cx">                                 BC18C4140E16F5CD00B34460 /* JavaScriptCore.h in Headers */,
</span><ins>+                                A54982041891D0B00081E5B8 /* EventLoop.h in Headers */,
</ins><span class="cx">                                 BC18C4150E16F5CD00B34460 /* JavaScriptCorePrefix.h in Headers */,
</span><span class="cx">                                 1429D9300ED22D7000B89619 /* JIT.h in Headers */,
</span><span class="cx">                                 86CCEFDE0F413F8900FD7F9E /* JITCode.h in Headers */,
</span><span class="lines">@@ -5225,6 +5298,7 @@
</span><span class="cx">                                 0F2B670817B6B5AB00A7AE3F /* TypedArrayController.h in Headers */,
</span><span class="cx">                                 0F4B94DC17B9F07500DD03A4 /* TypedArrayInlines.h in Headers */,
</span><span class="cx">                                 0F2B670917B6B5AB00A7AE3F /* TypedArrays.h in Headers */,
</span><ins>+                                A50E4B6218809DD50068A46D /* InspectorRuntimeAgent.h in Headers */,
</ins><span class="cx">                                 0F2B670B17B6B5AB00A7AE3F /* TypedArrayType.h in Headers */,
</span><span class="cx">                                 0FF4274B158EBE91004CB9FF /* udis86.h in Headers */,
</span><span class="cx">                                 0FF42741158EBE8D004CB9FF /* udis86_decode.h in Headers */,
</span><span class="lines">@@ -5847,12 +5921,14 @@
</span><span class="cx">                                 0F34B14916D42010001CDA5A /* DFGUseKind.cpp in Sources */,
</span><span class="cx">                                 0F3B3A2B15475000003ED0FF /* DFGValidate.cpp in Sources */,
</span><span class="cx">                                 A55D93A5185012A800400DED /* ScriptFunctionCall.cpp in Sources */,
</span><ins>+                                A503FA29188F105900110F14 /* JSGlobalObjectScriptDebugServer.cpp in Sources */,
</ins><span class="cx">                                 0F2BDC4F15228BF300CD8910 /* DFGValueSource.cpp in Sources */,
</span><span class="cx">                                 0FDDBFB51666EED800C55FEF /* DFGVariableAccessDataDump.cpp in Sources */,
</span><span class="cx">                                 0F2BDC5115228FFD00CD8910 /* DFGVariableEvent.cpp in Sources */,
</span><span class="cx">                                 0F2BDC4A1522809A00CD8910 /* DFGVariableEventStream.cpp in Sources */,
</span><span class="cx">                                 0FFFC95F14EF90BB00C72532 /* DFGVirtualRegisterAllocationPhase.cpp in Sources */,
</span><span class="cx">                                 0FC97F4118202119002C9B26 /* DFGWatchpointCollectionPhase.cpp in Sources */,
</span><ins>+                                A50E4B6318809DD50068A46D /* JSGlobalObjectRuntimeAgent.cpp in Sources */,
</ins><span class="cx">                                 0FDB2CE7174830A2007B3C1B /* DFGWorklist.cpp in Sources */,
</span><span class="cx">                                 0F9D3370165DBB90005AD387 /* Disassembler.cpp in Sources */,
</span><span class="cx">                                 A70447ED17A0BD7000F5898E /* DumpContext.cpp in Sources */,
</span><span class="lines">@@ -5880,6 +5956,7 @@
</span><span class="cx">                                 0F235BD817178E1C00690C7F /* FTLExitThunkGenerator.cpp in Sources */,
</span><span class="cx">                                 0F235BDA17178E1C00690C7F /* FTLExitValue.cpp in Sources */,
</span><span class="cx">                                 A7F2996B17A0BB670010417A /* FTLFail.cpp in Sources */,
</span><ins>+                                A57D23E51890CEBF0031C7FA /* InspectorDebuggerAgent.cpp in Sources */,
</ins><span class="cx">                                 0FD8A31917D51F2200CA2C40 /* FTLForOSREntryJITCode.cpp in Sources */,
</span><span class="cx">                                 0F25F1AF181635F300522F39 /* FTLInlineCacheSize.cpp in Sources */,
</span><span class="cx">                                 0FEA0A281709623B00BB722C /* FTLIntrinsicRepository.cpp in Sources */,
</span><span class="lines">@@ -5908,6 +5985,7 @@
</span><span class="cx">                                 0FF0F19F16B72A17005DF95B /* FunctionExecutableDump.cpp in Sources */,
</span><span class="cx">                                 147F39CC107EC37600427A48 /* FunctionPrototype.cpp in Sources */,
</span><span class="cx">                                 C2D58C3415912FEE0021A844 /* GCActivityCallback.cpp in Sources */,
</span><ins>+                                A503FA1D188E0FB000110F14 /* JSJavaScriptCallFramePrototype.cpp in Sources */,
</ins><span class="cx">                                 0F766D2F15A8DCE0008F363E /* GCAwareJITStubRoutine.cpp in Sources */,
</span><span class="cx">                                 C2239D1A16262BDD005AC5FD /* GCThread.cpp in Sources */,
</span><span class="cx">                                 C21122E115DD9AB300790E3A /* GCThreadSharedData.cpp in Sources */,
</span><span class="lines">@@ -5943,6 +6021,7 @@
</span><span class="cx">                                 0FB14E1E18124ACE009B6B4D /* JITInlineCacheGenerator.cpp in Sources */,
</span><span class="cx">                                 BCDD51EB0FB8DF74004A8BDC /* JITOpcodes.cpp in Sources */,
</span><span class="cx">                                 A71236E51195F33C00BD2174 /* JITOpcodes32_64.cpp in Sources */,
</span><ins>+                                A54982031891D0B00081E5B8 /* EventLoop.cpp in Sources */,
</ins><span class="cx">                                 2A4EC90B1860D6C20094F782 /* WriteBarrierBuffer.cpp in Sources */,
</span><span class="cx">                                 0F24E54C17EE274900ABB217 /* JITOperations.cpp in Sources */,
</span><span class="cx">                                 86CC85C40EE7A89400288682 /* JITPropertyAccess.cpp in Sources */,
</span><span class="lines">@@ -5950,6 +6029,7 @@
</span><span class="cx">                                 0F766D2815A8CC1E008F363E /* JITStubRoutine.cpp in Sources */,
</span><span class="cx">                                 0F766D2B15A8CC38008F363E /* JITStubRoutineSet.cpp in Sources */,
</span><span class="cx">                                 14A23D750F4E1ABB0023CDAD /* JITStubs.cpp in Sources */,
</span><ins>+                                A503FA19188E0FB000110F14 /* JavaScriptCallFrame.cpp in Sources */,
</ins><span class="cx">                                 0F5EF91E16878F7A003E5C25 /* JITThunks.cpp in Sources */,
</span><span class="cx">                                 0FC712E217CD8791008CC93C /* JITToDFGDeferredCompilationCallback.cpp in Sources */,
</span><span class="cx">                                 140B7D1D0DC69AF7009C42B8 /* JSActivation.cpp in Sources */,
</span><span class="lines">@@ -5973,6 +6053,7 @@
</span><span class="cx">                                 86E3C616167BABEE006D760A /* JSContext.mm in Sources */,
</span><span class="cx">                                 14BD5A300A3E91F600BAF59C /* JSContextRef.cpp in Sources */,
</span><span class="cx">                                 A72028B61797601E0098028C /* JSCTestRunnerUtils.cpp in Sources */,
</span><ins>+                                B59F89391891F29F00D5CCDC /* UnlinkedInstructionStream.cpp in Sources */,
</ins><span class="cx">                                 0F2B66EB17B6B5AB00A7AE3F /* JSDataView.cpp in Sources */,
</span><span class="cx">                                 0F2B66ED17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp in Sources */,
</span><span class="cx">                                 978801401471AD920041B016 /* JSDateMath.cpp in Sources */,
</span><span class="lines">@@ -6017,8 +6098,10 @@
</span><span class="cx">                                 A7CA3AE717DA41AE006538AF /* JSWeakMap.cpp in Sources */,
</span><span class="cx">                                 A7482B9411671147003B0712 /* JSWeakObjectMapRefPrivate.cpp in Sources */,
</span><span class="cx">                                 1442566115EDE98D0066A49B /* JSWithScope.cpp in Sources */,
</span><ins>+                                A503FA1B188E0FB000110F14 /* JSJavaScriptCallFrame.cpp in Sources */,
</ins><span class="cx">                                 86E3C618167BABEE006D760A /* JSWrapperMap.mm in Sources */,
</span><span class="cx">                                 14280870107EC1340013E7B2 /* JSWrapperObject.cpp in Sources */,
</span><ins>+                                A57D23E91891B0770031C7FA /* JSGlobalObjectDebuggerAgent.cpp in Sources */,
</ins><span class="cx">                                 BCFD8C920EEB2EE700283848 /* JumpTable.cpp in Sources */,
</span><span class="cx">                                 0FB5467914F5C46B002C2989 /* LazyOperandValueProfile.cpp in Sources */,
</span><span class="cx">                                 95AB83420DA4322500BC83F3 /* LegacyProfiler.cpp in Sources */,
</span><span class="lines">@@ -6054,6 +6137,7 @@
</span><span class="cx">                                 14469DDF107EC7E700650446 /* MathObject.cpp in Sources */,
</span><span class="cx">                                 90213E3D123A40C200D422F3 /* MemoryStatistics.cpp in Sources */,
</span><span class="cx">                                 0FB5467D14F5CFD6002C2989 /* MethodOfGettingAValueProfile.cpp in Sources */,
</span><ins>+                                A50E4B6118809DD50068A46D /* InspectorRuntimeAgent.cpp in Sources */,
</ins><span class="cx">                                 86EBF2FF1560F06A008E9222 /* NameConstructor.cpp in Sources */,
</span><span class="cx">                                 86EBF3011560F06A008E9222 /* NameInstance.cpp in Sources */,
</span><span class="cx">                                 86EBF3031560F06A008E9222 /* NamePrototype.cpp in Sources */,
</span><span class="lines">@@ -6134,6 +6218,7 @@
</span><span class="cx">                                 A730B6131250068F009D25B1 /* StrictEvalActivation.cpp in Sources */,
</span><span class="cx">                                 14469DEB107EC7E700650446 /* StringConstructor.cpp in Sources */,
</span><span class="cx">                                 14469DEC107EC7E700650446 /* StringObject.cpp in Sources */,
</span><ins>+                                A503FA25188EFFFD00110F14 /* ScriptDebugServer.cpp in Sources */,
</ins><span class="cx">                                 14469DED107EC7E700650446 /* StringPrototype.cpp in Sources */,
</span><span class="cx">                                 9335F24D12E6765B002B5553 /* StringRecursionChecker.cpp in Sources */,
</span><span class="cx">                                 BCDE3B430E6C832D001453A7 /* Structure.cpp in Sources */,
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebindingsScriptValuecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bindings/ScriptValue.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bindings/ScriptValue.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bindings/ScriptValue.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx">         return InspectorBasicValue::create(value.asNumber());
</span><span class="cx">     if (value.isString()) {
</span><span class="cx">         String s = value.getString(scriptState);
</span><del>-        return InspectorString::create(String(s.characters(), s.length()));
</del><ins>+        return InspectorString::create(String(s.deprecatedCharacters(), s.length()));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (value.isObject()) {
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx">             RefPtr&lt;InspectorValue&gt; inspectorValue = jsToInspectorValue(scriptState, propertyValue, maxDepth);
</span><span class="cx">             if (!inspectorValue)
</span><span class="cx">                 return nullptr;
</span><del>-            inspectorObject-&gt;setValue(String(name.characters(), name.length()), inspectorValue);
</del><ins>+            inspectorObject-&gt;setValue(String(name.deprecatedCharacters(), name.length()), inspectorValue);
</ins><span class="cx">         }
</span><span class="cx">         return inspectorObject;
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -54,6 +54,7 @@
</span><span class="cx"> #include &quot;Repatch.h&quot;
</span><span class="cx"> #include &quot;RepatchBuffer.h&quot;
</span><span class="cx"> #include &quot;SlotVisitorInlines.h&quot;
</span><ins>+#include &quot;UnlinkedInstructionStream.h&quot;
</ins><span class="cx"> #include &lt;wtf/BagToHashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/CommaPrinter.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="lines">@@ -1664,21 +1665,25 @@
</span><span class="cx">         m_objectAllocationProfiles.resizeToFit(size);
</span><span class="cx"> 
</span><span class="cx">     // Copy and translate the UnlinkedInstructions
</span><del>-    size_t instructionCount = unlinkedCodeBlock-&gt;instructions().size();
-    UnlinkedInstruction* pc = unlinkedCodeBlock-&gt;instructions().data();
</del><ins>+    unsigned instructionCount = unlinkedCodeBlock-&gt;instructions().count();
+    UnlinkedInstructionStream::Reader instructionReader(unlinkedCodeBlock-&gt;instructions());
+
</ins><span class="cx">     Vector&lt;Instruction, 0, UnsafeVectorOverflow&gt; instructions(instructionCount);
</span><del>-    for (size_t i = 0; i &lt; unlinkedCodeBlock-&gt;instructions().size(); ) {
-        unsigned opLength = opcodeLength(pc[i].u.opcode);
-        instructions[i] = vm()-&gt;interpreter-&gt;getOpcode(pc[i].u.opcode);
</del><ins>+    for (unsigned i = 0; !instructionReader.atEnd(); ) {
+        const UnlinkedInstruction* pc = instructionReader.next();
+
+        unsigned opLength = opcodeLength(pc[0].u.opcode);
+
+        instructions[i] = vm()-&gt;interpreter-&gt;getOpcode(pc[0].u.opcode);
</ins><span class="cx">         for (size_t j = 1; j &lt; opLength; ++j) {
</span><span class="cx">             if (sizeof(int32_t) != sizeof(intptr_t))
</span><span class="cx">                 instructions[i + j].u.pointer = 0;
</span><del>-            instructions[i + j].u.operand = pc[i + j].u.operand;
</del><ins>+            instructions[i + j].u.operand = pc[j].u.operand;
</ins><span class="cx">         }
</span><del>-        switch (pc[i].u.opcode) {
</del><ins>+        switch (pc[0].u.opcode) {
</ins><span class="cx">         case op_get_by_val:
</span><span class="cx">         case op_get_argument_by_val: {
</span><del>-            int arrayProfileIndex = pc[i + opLength - 2].u.operand;
</del><ins>+            int arrayProfileIndex = pc[opLength - 2].u.operand;
</ins><span class="cx">             m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
</span><span class="cx"> 
</span><span class="cx">             instructions[i + opLength - 2] = &amp;m_arrayProfiles[arrayProfileIndex];
</span><span class="lines">@@ -1686,20 +1691,20 @@
</span><span class="cx">         }
</span><span class="cx">         case op_get_by_id:
</span><span class="cx">         case op_call_varargs: {
</span><del>-            ValueProfile* profile = &amp;m_valueProfiles[pc[i + opLength - 1].u.operand];
</del><ins>+            ValueProfile* profile = &amp;m_valueProfiles[pc[opLength - 1].u.operand];
</ins><span class="cx">             ASSERT(profile-&gt;m_bytecodeOffset == -1);
</span><span class="cx">             profile-&gt;m_bytecodeOffset = i;
</span><span class="cx">             instructions[i + opLength - 1] = profile;
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case op_put_by_val: {
</span><del>-            int arrayProfileIndex = pc[i + opLength - 1].u.operand;
</del><ins>+            int arrayProfileIndex = pc[opLength - 1].u.operand;
</ins><span class="cx">             m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
</span><span class="cx">             instructions[i + opLength - 1] = &amp;m_arrayProfiles[arrayProfileIndex];
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case op_put_by_val_direct: {
</span><del>-            int arrayProfileIndex = pc[i + opLength - 1].u.operand;
</del><ins>+            int arrayProfileIndex = pc[opLength - 1].u.operand;
</ins><span class="cx">             m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
</span><span class="cx">             instructions[i + opLength - 1] = &amp;m_arrayProfiles[arrayProfileIndex];
</span><span class="cx">             break;
</span><span class="lines">@@ -1708,14 +1713,14 @@
</span><span class="cx">         case op_new_array:
</span><span class="cx">         case op_new_array_buffer:
</span><span class="cx">         case op_new_array_with_size: {
</span><del>-            int arrayAllocationProfileIndex = pc[i + opLength - 1].u.operand;
</del><ins>+            int arrayAllocationProfileIndex = pc[opLength - 1].u.operand;
</ins><span class="cx">             instructions[i + opLength - 1] = &amp;m_arrayAllocationProfiles[arrayAllocationProfileIndex];
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case op_new_object: {
</span><del>-            int objectAllocationProfileIndex = pc[i + opLength - 1].u.operand;
</del><ins>+            int objectAllocationProfileIndex = pc[opLength - 1].u.operand;
</ins><span class="cx">             ObjectAllocationProfile* objectAllocationProfile = &amp;m_objectAllocationProfiles[objectAllocationProfileIndex];
</span><del>-            int inferredInlineCapacity = pc[i + opLength - 2].u.operand;
</del><ins>+            int inferredInlineCapacity = pc[opLength - 2].u.operand;
</ins><span class="cx"> 
</span><span class="cx">             instructions[i + opLength - 1] = objectAllocationProfile;
</span><span class="cx">             objectAllocationProfile-&gt;initialize(*vm(),
</span><span class="lines">@@ -1725,23 +1730,23 @@
</span><span class="cx"> 
</span><span class="cx">         case op_call:
</span><span class="cx">         case op_call_eval: {
</span><del>-            ValueProfile* profile = &amp;m_valueProfiles[pc[i + opLength - 1].u.operand];
</del><ins>+            ValueProfile* profile = &amp;m_valueProfiles[pc[opLength - 1].u.operand];
</ins><span class="cx">             ASSERT(profile-&gt;m_bytecodeOffset == -1);
</span><span class="cx">             profile-&gt;m_bytecodeOffset = i;
</span><span class="cx">             instructions[i + opLength - 1] = profile;
</span><del>-            int arrayProfileIndex = pc[i + opLength - 2].u.operand;
</del><ins>+            int arrayProfileIndex = pc[opLength - 2].u.operand;
</ins><span class="cx">             m_arrayProfiles[arrayProfileIndex] = ArrayProfile(i);
</span><span class="cx">             instructions[i + opLength - 2] = &amp;m_arrayProfiles[arrayProfileIndex];
</span><span class="cx"> #if ENABLE(LLINT)
</span><del>-            instructions[i + 5] = &amp;m_llintCallLinkInfos[pc[i + 5].u.operand];
</del><ins>+            instructions[i + 5] = &amp;m_llintCallLinkInfos[pc[5].u.operand];
</ins><span class="cx"> #endif
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case op_construct: {
</span><span class="cx"> #if ENABLE(LLINT)
</span><del>-            instructions[i + 5] = &amp;m_llintCallLinkInfos[pc[i + 5].u.operand];
</del><ins>+            instructions[i + 5] = &amp;m_llintCallLinkInfos[pc[5].u.operand];
</ins><span class="cx"> #endif
</span><del>-            ValueProfile* profile = &amp;m_valueProfiles[pc[i + opLength - 1].u.operand];
</del><ins>+            ValueProfile* profile = &amp;m_valueProfiles[pc[opLength - 1].u.operand];
</ins><span class="cx">             ASSERT(profile-&gt;m_bytecodeOffset == -1);
</span><span class="cx">             profile-&gt;m_bytecodeOffset = i;
</span><span class="cx">             instructions[i + opLength - 1] = profile;
</span><span class="lines">@@ -1764,7 +1769,7 @@
</span><span class="cx"> 
</span><span class="cx">         case op_init_global_const_nop: {
</span><span class="cx">             ASSERT(codeType() == GlobalCode);
</span><del>-            Identifier ident = identifier(pc[i + 4].u.operand);
</del><ins>+            Identifier ident = identifier(pc[4].u.operand);
</ins><span class="cx">             SymbolTableEntry entry = m_globalObject-&gt;symbolTable()-&gt;get(ident.impl());
</span><span class="cx">             if (entry.isNull())
</span><span class="cx">                 break;
</span><span class="lines">@@ -1775,8 +1780,8 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         case op_resolve_scope: {
</span><del>-            const Identifier&amp; ident = identifier(pc[i + 2].u.operand);
-            ResolveType type = static_cast&lt;ResolveType&gt;(pc[i + 3].u.operand);
</del><ins>+            const Identifier&amp; ident = identifier(pc[2].u.operand);
+            ResolveType type = static_cast&lt;ResolveType&gt;(pc[3].u.operand);
</ins><span class="cx"> 
</span><span class="cx">             ResolveOp op = JSScope::abstractResolve(m_globalObject-&gt;globalExec(), scope, ident, Get, type);
</span><span class="cx">             instructions[i + 3].u.operand = op.type;
</span><span class="lines">@@ -1787,14 +1792,14 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         case op_get_from_scope: {
</span><del>-            ValueProfile* profile = &amp;m_valueProfiles[pc[i + opLength - 1].u.operand];
</del><ins>+            ValueProfile* profile = &amp;m_valueProfiles[pc[opLength - 1].u.operand];
</ins><span class="cx">             ASSERT(profile-&gt;m_bytecodeOffset == -1);
</span><span class="cx">             profile-&gt;m_bytecodeOffset = i;
</span><span class="cx">             instructions[i + opLength - 1] = profile;
</span><span class="cx"> 
</span><span class="cx">             // get_from_scope dst, scope, id, ResolveModeAndType, Structure, Operand
</span><del>-            const Identifier&amp; ident = identifier(pc[i + 3].u.operand);
-            ResolveModeAndType modeAndType = ResolveModeAndType(pc[i + 4].u.operand);
</del><ins>+            const Identifier&amp; ident = identifier(pc[3].u.operand);
+            ResolveModeAndType modeAndType = ResolveModeAndType(pc[4].u.operand);
</ins><span class="cx">             ResolveOp op = JSScope::abstractResolve(m_globalObject-&gt;globalExec(), scope, ident, Get, modeAndType.type());
</span><span class="cx"> 
</span><span class="cx">             instructions[i + 4].u.operand = ResolveModeAndType(modeAndType.mode(), op.type).operand();
</span><span class="lines">@@ -1808,8 +1813,8 @@
</span><span class="cx"> 
</span><span class="cx">         case op_put_to_scope: {
</span><span class="cx">             // put_to_scope scope, id, value, ResolveModeAndType, Structure, Operand
</span><del>-            const Identifier&amp; ident = identifier(pc[i + 2].u.operand);
-            ResolveModeAndType modeAndType = ResolveModeAndType(pc[i + 4].u.operand);
</del><ins>+            const Identifier&amp; ident = identifier(pc[2].u.operand);
+            ResolveModeAndType modeAndType = ResolveModeAndType(pc[4].u.operand);
</ins><span class="cx">             ResolveOp op = JSScope::abstractResolve(m_globalObject-&gt;globalExec(), scope, ident, Put, modeAndType.type());
</span><span class="cx"> 
</span><span class="cx">             instructions[i + 4].u.operand = ResolveModeAndType(modeAndType.mode(), op.type).operand();
</span><span class="lines">@@ -1826,11 +1831,11 @@
</span><span class="cx">             
</span><span class="cx">         case op_captured_mov:
</span><span class="cx">         case op_new_captured_func: {
</span><del>-            if (pc[i + 3].u.index == UINT_MAX) {
</del><ins>+            if (pc[3].u.index == UINT_MAX) {
</ins><span class="cx">                 instructions[i + 3].u.watchpointSet = 0;
</span><span class="cx">                 break;
</span><span class="cx">             }
</span><del>-            StringImpl* uid = identifier(pc[i + 3].u.index).impl();
</del><ins>+            StringImpl* uid = identifier(pc[3].u.index).impl();
</ins><span class="cx">             RELEASE_ASSERT(didCloneSymbolTable);
</span><span class="cx">             ConcurrentJITLocker locker(m_symbolTable-&gt;m_lock);
</span><span class="cx">             SymbolTable::Map::iterator iter = m_symbolTable-&gt;find(locker, uid);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeCodeBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/CodeBlock.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -891,7 +891,7 @@
</span><span class="cx">     void addBreakpoint(unsigned numBreakpoints) { m_numBreakpoints += numBreakpoints; }
</span><span class="cx">     void removeBreakpoint(unsigned numBreakpoints)
</span><span class="cx">     {
</span><del>-        ASSERT(m_numBreakpoints &gt; numBreakpoints);
</del><ins>+        ASSERT(m_numBreakpoints &gt;= numBreakpoints);
</ins><span class="cx">         m_numBreakpoints -= numBreakpoints;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,6 +37,7 @@
</span><span class="cx"> #include &quot;SourceProvider.h&quot;
</span><span class="cx"> #include &quot;Structure.h&quot;
</span><span class="cx"> #include &quot;SymbolTable.h&quot;
</span><ins>+#include &quot;UnlinkedInstructionStream.h&quot;
</ins><span class="cx"> #include &lt;wtf/DataLog.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="lines">@@ -247,7 +248,7 @@
</span><span class="cx"> 
</span><span class="cx"> int UnlinkedCodeBlock::lineNumberForBytecodeOffset(unsigned bytecodeOffset)
</span><span class="cx"> {
</span><del>-    ASSERT(bytecodeOffset &lt; instructions().size());
</del><ins>+    ASSERT(bytecodeOffset &lt; instructions().count());
</ins><span class="cx">     int divot;
</span><span class="cx">     int startOffset;
</span><span class="cx">     int endOffset;
</span><span class="lines">@@ -278,8 +279,9 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><del>-static void dumpLineColumnEntry(size_t index, const RefCountedArray&lt;UnlinkedInstruction&gt;&amp; instructions, unsigned instructionOffset, unsigned line, unsigned column)
</del><ins>+static void dumpLineColumnEntry(size_t index, const UnlinkedInstructionStream&amp; instructionStream, unsigned instructionOffset, unsigned line, unsigned column)
</ins><span class="cx"> {
</span><ins>+    const auto&amp; instructions = instructionStream.unpackForDebugging();
</ins><span class="cx">     OpcodeID opcode = instructions[instructionOffset].u.opcode;
</span><span class="cx">     const char* event = &quot;&quot;;
</span><span class="cx">     if (opcode == op_debug) {
</span><span class="lines">@@ -315,7 +317,7 @@
</span><span class="cx"> void UnlinkedCodeBlock::expressionRangeForBytecodeOffset(unsigned bytecodeOffset,
</span><span class="cx">     int&amp; divot, int&amp; startOffset, int&amp; endOffset, unsigned&amp; line, unsigned&amp; column)
</span><span class="cx"> {
</span><del>-    ASSERT(bytecodeOffset &lt; instructions().size());
</del><ins>+    ASSERT(bytecodeOffset &lt; instructions().count());
</ins><span class="cx"> 
</span><span class="cx">     if (!m_expressionInfo.size()) {
</span><span class="cx">         startOffset = 0;
</span><span class="lines">@@ -437,5 +439,16 @@
</span><span class="cx">     jsCast&lt;UnlinkedFunctionExecutable*&gt;(cell)-&gt;~UnlinkedFunctionExecutable();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void UnlinkedCodeBlock::setInstructions(std::unique_ptr&lt;UnlinkedInstructionStream&gt; instructions)
+{
+    m_unlinkedInstructions = std::move(instructions);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+const UnlinkedInstructionStream&amp; UnlinkedCodeBlock::instructions() const
+{
+    ASSERT(m_unlinkedInstructions.get());
+    return *m_unlinkedInstructions;
+}
+
+}
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedCodeBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -57,6 +57,7 @@
</span><span class="cx"> class SymbolTable;
</span><span class="cx"> class UnlinkedCodeBlock;
</span><span class="cx"> class UnlinkedFunctionCodeBlock;
</span><ins>+class UnlinkedInstructionStream;
</ins><span class="cx"> 
</span><span class="cx"> typedef unsigned UnlinkedValueProfile;
</span><span class="cx"> typedef unsigned UnlinkedArrayProfile;
</span><span class="lines">@@ -341,9 +342,8 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    unsigned numberOfInstructions() const { return m_unlinkedInstructions.size(); }
-    RefCountedArray&lt;UnlinkedInstruction&gt;&amp; instructions() { return m_unlinkedInstructions; }
-    const RefCountedArray&lt;UnlinkedInstruction&gt;&amp; instructions() const { return m_unlinkedInstructions; }
</del><ins>+    void setInstructions(std::unique_ptr&lt;UnlinkedInstructionStream&gt;);
+    const UnlinkedInstructionStream&amp; instructions() const;
</ins><span class="cx"> 
</span><span class="cx">     int m_numVars;
</span><span class="cx">     int m_numCapturedVars;
</span><span class="lines">@@ -484,7 +484,7 @@
</span><span class="cx"> 
</span><span class="cx">     void getLineAndColumn(ExpressionRangeInfo&amp;, unsigned&amp; line, unsigned&amp; column);
</span><span class="cx"> 
</span><del>-    RefCountedArray&lt;UnlinkedInstruction&gt; m_unlinkedInstructions;
</del><ins>+    std::unique_ptr&lt;UnlinkedInstructionStream&gt; m_unlinkedInstructions;
</ins><span class="cx"> 
</span><span class="cx">     int m_numParameters;
</span><span class="cx">     VM* m_vm;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedInstructionStreamcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,200 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;UnlinkedInstructionStream.h&quot;
+
+namespace JSC {
+
+// Unlinked instructions are packed in a simple stream format.
+//
+// The first byte is always the opcode.
+// It's followed by an opcode-dependent number of argument values.
+// The first 3 bits of each value determines the format:
+//
+//     5-bit positive integer (1 byte total)
+//     5-bit negative integer (1 byte total)
+//     13-bit positive integer (2 bytes total)
+//     13-bit negative integer (2 bytes total)
+//     5-bit constant register index, based at 0x40000000 (1 byte total)
+//     13-bit constant register index, based at 0x40000000 (2 bytes total)
+//     32-bit raw value (5 bytes total)
+
+enum PackedValueType {
+    Positive5Bit = 0,
+    Negative5Bit,
+    Positive13Bit,
+    Negative13Bit,
+    ConstantRegister5Bit,
+    ConstantRegister13Bit,
+    Full32Bit
+};
+
+UnlinkedInstructionStream::Reader::Reader(const UnlinkedInstructionStream&amp; stream)
+    : m_stream(stream)
+    , m_index(0)
+{
+}
+
+inline unsigned char UnlinkedInstructionStream::Reader::read8()
+{
+    return m_stream.m_data.data()[m_index++];
+}
+
+inline unsigned UnlinkedInstructionStream::Reader::read32()
+{
+    const unsigned char* data = &amp;m_stream.m_data.data()[m_index];
+    unsigned char type = data[0] &gt;&gt; 5;
+
+    switch (type) {
+    case Positive5Bit:
+        m_index++;
+        return data[0];
+    case Negative5Bit:
+        m_index++;
+        return 0xffffffe0 | data[0];
+    case Positive13Bit:
+        m_index += 2;
+        return ((data[0] &amp; 0x1F) &lt;&lt; 8) | data[1];
+    case Negative13Bit:
+        m_index += 2;
+        return 0xffffe000 | ((data[0] &amp; 0x1F) &lt;&lt; 8) | data[1];
+    case ConstantRegister5Bit:
+        m_index++;
+        return 0x40000000 | (data[0] &amp; 0x1F);
+    case ConstantRegister13Bit:
+        m_index += 2;
+        return 0x40000000 | ((data[0] &amp; 0x1F) &lt;&lt; 8) | data[1];
+    default:
+        ASSERT(type == Full32Bit);
+        m_index += 5;
+        return data[1] | data[2] &lt;&lt; 8 | data[3] &lt;&lt; 16 | data[4] &lt;&lt; 24;
+    }
+}
+
+const UnlinkedInstruction* UnlinkedInstructionStream::Reader::next()
+{
+    m_unpackedBuffer[0].u.opcode = static_cast&lt;OpcodeID&gt;(read8());
+    unsigned opLength = opcodeLength(m_unpackedBuffer[0].u.opcode);
+    for (unsigned i = 1; i &lt; opLength; ++i)
+        m_unpackedBuffer[i].u.index = read32();
+    return m_unpackedBuffer;
+}
+
+static void append8(unsigned char*&amp; ptr, unsigned char value)
+{
+    *(ptr++) = value;
+}
+
+static void append32(unsigned char*&amp; ptr, unsigned value)
+{
+    if (!(value &amp; 0xffffffe0)) {
+        *(ptr++) = value;
+        return;
+    }
+
+    if ((value &amp; 0xffffffe0) == 0xffffffe0) {
+        *(ptr++) = (Negative5Bit &lt;&lt; 5) | (value &amp; 0x1f);
+        return;
+    }
+
+    if ((value &amp; 0xffffffe0) == 0x40000000) {
+        *(ptr++) = (ConstantRegister5Bit &lt;&lt; 5) | (value &amp; 0x1f);
+        return;
+    }
+
+    if (!(value &amp; 0xffffe000)) {
+        *(ptr++) = (Positive13Bit &lt;&lt; 5) | ((value &gt;&gt; 8) &amp; 0x1f);
+        *(ptr++) = value &amp; 0xff;
+        return;
+    }
+
+    if ((value &amp; 0xffffe000) == 0xffffe000) {
+        *(ptr++) = (Negative13Bit &lt;&lt; 5) | ((value &gt;&gt; 8) &amp; 0x1f);
+        *(ptr++) = value &amp; 0xff;
+        return;
+    }
+
+    if ((value &amp; 0xffffe000) == 0x40000000) {
+        *(ptr++) = (ConstantRegister13Bit &lt;&lt; 5) | ((value &gt;&gt; 8) &amp; 0x1f);
+        *(ptr++) = value &amp; 0xff;
+        return;
+    }
+
+    *(ptr++) = Full32Bit &lt;&lt; 5;
+    *(ptr++) = value &amp; 0xff;
+    *(ptr++) = (value &gt;&gt; 8) &amp; 0xff;
+    *(ptr++) = (value &gt;&gt; 16) &amp; 0xff;
+    *(ptr++) = (value &gt;&gt; 24) &amp; 0xff;
+}
+
+UnlinkedInstructionStream::UnlinkedInstructionStream(const Vector&lt;UnlinkedInstruction&gt;&amp; instructions)
+    : m_instructionCount(instructions.size())
+{
+    Vector&lt;unsigned char&gt; buffer;
+
+    // Reserve enough space up front so we never have to reallocate when appending.
+    buffer.resizeToFit(m_instructionCount * 5);
+    unsigned char* ptr = buffer.data();
+
+    const UnlinkedInstruction* instructionsData = instructions.data();
+    for (unsigned i = 0; i &lt; m_instructionCount;) {
+        const UnlinkedInstruction* pc = &amp;instructionsData[i];
+        OpcodeID opcode = pc[0].u.opcode;
+        append8(ptr, opcode);
+
+        unsigned opLength = opcodeLength(opcode);
+
+        for (unsigned j = 1; j &lt; opLength; ++j)
+            append32(ptr, pc[j].u.index);
+
+        i += opLength;
+    }
+
+    buffer.shrink(ptr - buffer.data());
+    m_data = RefCountedArray&lt;unsigned char&gt;(buffer);
+}
+
+#ifndef NDEBUG
+const RefCountedArray&lt;UnlinkedInstruction&gt;&amp; UnlinkedInstructionStream::unpackForDebugging() const
+{
+    if (!m_unpackedInstructionsForDebugging.size()) {
+        m_unpackedInstructionsForDebugging = RefCountedArray&lt;UnlinkedInstruction&gt;(m_instructionCount);
+
+        Reader instructionReader(*this);
+        for (unsigned i = 0; !instructionReader.atEnd(); ) {
+            const UnlinkedInstruction* pc = instructionReader.next();
+            unsigned opLength = opcodeLength(pc[0].u.opcode);
+            for (unsigned j = 0; j &lt; opLength; ++j)
+                m_unpackedInstructionsForDebugging[i++] = pc[j];
+        }
+    }
+
+    return m_unpackedInstructionsForDebugging;
+}
+#endif
+
+}
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeUnlinkedInstructionStreamh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/UnlinkedInstructionStream.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,74 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 UnlinkedInstructionStream_h
+#define UnlinkedInstructionStream_h
+
+#include &quot;UnlinkedCodeBlock.h&quot;
+#include &lt;wtf/RefCountedArray.h&gt;
+
+namespace JSC {
+
+class UnlinkedInstructionStream {
+public:
+    explicit UnlinkedInstructionStream(const Vector&lt;UnlinkedInstruction&gt;&amp;);
+
+    unsigned count() const { return m_instructionCount; }
+
+    class Reader {
+    public:
+        explicit Reader(const UnlinkedInstructionStream&amp;);
+
+        const UnlinkedInstruction* next();
+        bool atEnd() const { return m_index == m_stream.m_data.size(); }
+
+    private:
+        unsigned char read8();
+        unsigned read32();
+
+        const UnlinkedInstructionStream&amp; m_stream;
+        UnlinkedInstruction m_unpackedBuffer[16];
+        unsigned m_index;
+    };
+
+#ifndef NDEBUG
+    const RefCountedArray&lt;UnlinkedInstruction&gt;&amp; unpackForDebugging() const;
+#endif
+
+private:
+    friend class Reader;
+
+#ifndef NDEBUG
+    mutable RefCountedArray&lt;UnlinkedInstruction&gt; m_unpackedInstructionsForDebugging;
+#endif
+
+    RefCountedArray&lt;unsigned char&gt; m_data;
+    unsigned m_instructionCount;
+};
+
+} // namespace JSC
+
+#endif // UnlinkedInstructionStream_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecodeWatchpointh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecode/Watchpoint.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecode/Watchpoint.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecode/Watchpoint.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #ifndef Watchpoint_h
</span><span class="cx"> #define Watchpoint_h
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/Atomics.h&gt;
</ins><span class="cx"> #include &lt;wtf/SentinelLinkedList.h&gt;
</span><span class="cx"> #include &lt;wtf/ThreadSafeRefCounted.h&gt;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorebytecompilerBytecodeGeneratorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -41,6 +41,7 @@
</span><span class="cx"> #include &quot;StackAlignment.h&quot;
</span><span class="cx"> #include &quot;StrongInlines.h&quot;
</span><span class="cx"> #include &quot;UnlinkedCodeBlock.h&quot;
</span><ins>+#include &quot;UnlinkedInstructionStream.h&quot;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -106,7 +107,7 @@
</span><span class="cx">         m_codeBlock-&gt;addExceptionHandler(info);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    m_codeBlock-&gt;instructions() = RefCountedArray&lt;UnlinkedInstruction&gt;(m_instructions);
</del><ins>+    m_codeBlock-&gt;setInstructions(std::make_unique&lt;UnlinkedInstructionStream&gt;(m_instructions));
</ins><span class="cx"> 
</span><span class="cx">     m_codeBlock-&gt;shrinkToFit();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorecreate_hash_table"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/create_hash_table (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/create_hash_table        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/create_hash_table        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -42,6 +42,8 @@
</span><span class="cx"> my @values = ();
</span><span class="cx"> my @hashes = ();
</span><span class="cx"> 
</span><ins>+my $hasSetter = &quot;false&quot;;
+
</ins><span class="cx"> my $inside = 0;
</span><span class="cx"> my $name;
</span><span class="cx"> my $pefectHashSize;
</span><span class="lines">@@ -90,7 +92,11 @@
</span><span class="cx">             #printf STDERR &quot;WARNING: Number of arguments missing for $key/$val\n&quot; if (length($param) == 0);
</span><span class="cx">         } elsif (length($att)) {
</span><span class="cx">             my $get = $val;
</span><del>-            my $put = !($att =~ m/ReadOnly/) ? &quot;set&quot; . jsc_ucfirst($val) : &quot;0&quot;;
</del><ins>+            my $put = &quot;0&quot;;
+            if (!($att =~ m/ReadOnly/)) {
+                $put = &quot;set&quot; . jsc_ucfirst($val);
+            }
+            $hasSetter = &quot;true&quot;;
</ins><span class="cx">             push(@values, { &quot;type&quot; =&gt; &quot;Property&quot;, &quot;get&quot; =&gt; $get, &quot;put&quot; =&gt; $put });
</span><span class="cx">         } else {
</span><span class="cx">             push(@values, { &quot;type&quot; =&gt; &quot;Lexer&quot;, &quot;value&quot; =&gt; $val });        
</span><span class="lines">@@ -255,14 +261,16 @@
</span><span class="cx">     foreach my $key (@keys) {
</span><span class="cx">         my $firstValue = &quot;&quot;;
</span><span class="cx">         my $secondValue = &quot;&quot;;
</span><del>-        my $castStr = &quot;&quot;;
</del><ins>+        my $firstCastStr = &quot;&quot;;
+        my $secondCastStr = &quot;&quot;;
</ins><span class="cx"> 
</span><span class="cx">         if ($values[$i]{&quot;type&quot;} eq &quot;Function&quot;) {
</span><del>-            $castStr = &quot;static_cast&lt;NativeFunction&gt;&quot;;
</del><ins>+            $firstCastStr = &quot;static_cast&lt;NativeFunction&gt;&quot;;
</ins><span class="cx">             $firstValue = $values[$i]{&quot;function&quot;};
</span><span class="cx">             $secondValue = $values[$i]{&quot;params&quot;};
</span><span class="cx">         } elsif ($values[$i]{&quot;type&quot;} eq &quot;Property&quot;) {
</span><del>-            $castStr = &quot;static_cast&lt;PropertySlot::GetValueFunc&gt;&quot;;
</del><ins>+            $firstCastStr = &quot;static_cast&lt;PropertySlot::GetValueFunc&gt;&quot;;
+            $secondCastStr = &quot;static_cast&lt;PutPropertySlot::PutValueFunc&gt;&quot;;
</ins><span class="cx">             $firstValue = $values[$i]{&quot;get&quot;};
</span><span class="cx">             $secondValue = $values[$i]{&quot;put&quot;};
</span><span class="cx">         } elsif ($values[$i]{&quot;type&quot;} eq &quot;Lexer&quot;) {
</span><span class="lines">@@ -281,12 +289,12 @@
</span><span class="cx">             $intrinsic = &quot;RegExpTestIntrinsic&quot; if ($key eq &quot;test&quot;);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        print &quot;   { \&quot;$key\&quot;, $attrs[$i], $intrinsic, (intptr_t)&quot; . $castStr . &quot;($firstValue), (intptr_t)$secondValue },\n&quot;;
</del><ins>+        print &quot;   { \&quot;$key\&quot;, $attrs[$i], $intrinsic, (intptr_t)&quot; . $firstCastStr . &quot;($firstValue), (intptr_t)&quot; . $secondCastStr . &quot;($secondValue) },\n&quot;;
</ins><span class="cx">         $i++;
</span><span class="cx">     }
</span><span class="cx">     print &quot;   { 0, 0, NoIntrinsic, 0, 0 }\n&quot;;
</span><span class="cx">     print &quot;};\n\n&quot;;
</span><span class="cx">     print &quot;extern const struct HashTable $name =\n&quot;;
</span><del>-    print &quot;    \{ $compactSize, $compactHashSizeMask, $nameEntries, 0 \};\n&quot;;
</del><ins>+    print &quot;    \{ $compactSize, $compactHashSizeMask, $hasSetter, $nameEntries, 0 \};\n&quot;;
</ins><span class="cx">     print &quot;} // namespace\n&quot;;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredebuggerDebuggercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;Parser.h&quot;
</span><span class="cx"> #include &quot;Protect.h&quot;
</span><ins>+#include &quot;VMEntryScope.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace {
</span><span class="cx"> 
</span><span class="lines">@@ -175,7 +176,7 @@
</span><span class="cx">     m_globalObjects.add(globalObject);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Debugger::detach(JSGlobalObject* globalObject)
</del><ins>+void Debugger::detach(JSGlobalObject* globalObject, ReasonForDetach reason)
</ins><span class="cx"> {
</span><span class="cx">     // If we're detaching from the currently executing global object, manually tear down our
</span><span class="cx">     // stack, since we won't get further debugger callbacks to do so. Also, resume execution,
</span><span class="lines">@@ -189,7 +190,12 @@
</span><span class="cx">     ASSERT(m_globalObjects.contains(globalObject));
</span><span class="cx">     m_globalObjects.remove(globalObject);
</span><span class="cx"> 
</span><del>-    clearDebuggerRequests(globalObject);
</del><ins>+    // If the globalObject is destructing, then its CodeBlocks will also be
+    // destructed. There is no need to do the debugger requests clean up, and
+    // it is not safe to access those CodeBlocks at this time anyway.
+    if (reason != GlobalObjectIsDestructing)
+        clearDebuggerRequests(globalObject);
+
</ins><span class="cx">     globalObject-&gt;setDebugger(0);
</span><span class="cx">     if (!m_globalObjects.size())
</span><span class="cx">         m_vm = nullptr;
</span><span class="lines">@@ -227,7 +233,6 @@
</span><span class="cx"> 
</span><span class="cx">     if (!m_vm)
</span><span class="cx">         return;
</span><del>-    HeapIterationScope iterationScope(m_vm-&gt;heap);
</del><span class="cx">     SetSteppingModeFunctor functor(this, mode);
</span><span class="cx">     m_vm-&gt;heap.forEachCodeBlock(functor);
</span><span class="cx"> }
</span><span class="lines">@@ -312,7 +317,6 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_vm)
</span><span class="cx">         return;
</span><del>-    HeapIterationScope iterationScope(m_vm-&gt;heap);
</del><span class="cx">     ToggleBreakpointFunctor functor(this, breakpoint, enabledOrNot);
</span><span class="cx">     m_vm-&gt;heap.forEachCodeBlock(functor);
</span><span class="cx"> }
</span><span class="lines">@@ -321,10 +325,11 @@
</span><span class="cx"> {
</span><span class="cx">     // If JavaScript is running, it's not safe to recompile, since we'll end
</span><span class="cx">     // up throwing away code that is live on the stack.
</span><del>-    ASSERT(!vm-&gt;entryScope);
-    if (vm-&gt;entryScope)
</del><ins>+    if (vm-&gt;entryScope) {
+        vm-&gt;entryScope-&gt;setRecompilationNeeded(true);
</ins><span class="cx">         return;
</span><del>-    
</del><ins>+    }
+
</ins><span class="cx">     vm-&gt;prepareToDiscardCode();
</span><span class="cx"> 
</span><span class="cx">     Recompiler recompiler(this);
</span><span class="lines">@@ -491,7 +496,6 @@
</span><span class="cx"> 
</span><span class="cx">     if (!m_vm)
</span><span class="cx">         return;
</span><del>-    HeapIterationScope iterationScope(m_vm-&gt;heap);
</del><span class="cx">     ClearCodeBlockDebuggerRequestsFunctor functor(this);
</span><span class="cx">     m_vm-&gt;heap.forEachCodeBlock(functor);
</span><span class="cx"> }
</span><span class="lines">@@ -517,7 +521,6 @@
</span><span class="cx"> void Debugger::clearDebuggerRequests(JSGlobalObject* globalObject)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_vm);
</span><del>-    HeapIterationScope iterationScope(m_vm-&gt;heap);
</del><span class="cx">     ClearDebuggerRequestsFunctor functor(globalObject);
</span><span class="cx">     m_vm-&gt;heap.forEachCodeBlock(functor);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredebuggerDebuggerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/debugger/Debugger.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -61,7 +61,11 @@
</span><span class="cx">     bool needsExceptionCallbacks() const { return m_pauseOnExceptionsState != DontPauseOnExceptions; }
</span><span class="cx"> 
</span><span class="cx">     void attach(JSGlobalObject*);
</span><del>-    virtual void detach(JSGlobalObject*);
</del><ins>+    enum ReasonForDetach {
+        TerminatingDebuggingSession,
+        GlobalObjectIsDestructing
+    };
+    virtual void detach(JSGlobalObject*, ReasonForDetach);
</ins><span class="cx"> 
</span><span class="cx">     BreakpointID setBreakpoint(Breakpoint, unsigned&amp; actualLine, unsigned&amp; actualColumn);
</span><span class="cx">     void removeBreakpoint(BreakpointID);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredebuggerDebuggerCallFramecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -153,6 +153,7 @@
</span><span class="cx">     if (vm.exception()) {
</span><span class="cx">         exception = vm.exception();
</span><span class="cx">         vm.clearException();
</span><ins>+        return jsUndefined();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     JSValue thisValue = thisValueForCallFrame(callFrame);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGAbstractInterpreterInlinesh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1755,12 +1755,12 @@
</span><span class="cx">         break;
</span><span class="cx"> 
</span><span class="cx">     case Breakpoint:
</span><ins>+    case ProfileWillCall:
+    case ProfileDidCall:
</ins><span class="cx">     case CheckWatchdogTimer:
</span><span class="cx">         node-&gt;setCanExit(true);
</span><span class="cx">         break;
</span><span class="cx"> 
</span><del>-    case ProfileWillCall:
-    case ProfileDidCall:
</del><span class="cx">     case Phantom:
</span><span class="cx">     case Check:
</span><span class="cx">     case CountExecution:
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGByteCodeParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-/*
</del><ins>+ /*
</ins><span class="cx">  * Copyright (C) 2011, 2012, 2013, 2014 Apple Inc. All rights reserved.
</span><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="lines">@@ -2209,14 +2209,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         case op_profile_will_call: {
</span><del>-            Node* profile = get(VirtualRegister(currentInstruction[1].u.operand));
-            addToGraph(ProfileWillCall, profile);
</del><ins>+            addToGraph(ProfileWillCall);
</ins><span class="cx">             NEXT_OPCODE(op_profile_will_call);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         case op_profile_did_call: {
</span><del>-            Node* profile = get(VirtualRegister(currentInstruction[1].u.operand));
-            addToGraph(ProfileDidCall, profile);
</del><ins>+            addToGraph(ProfileDidCall);
</ins><span class="cx">             NEXT_OPCODE(op_profile_did_call);
</span><span class="cx">         }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGClobberizeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGClobberize.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGClobberize.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGClobberize.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><del>-/*
</del><ins>+ /*
</ins><span class="cx">  * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
</span><span class="cx">  *
</span><span class="cx">  * Redistribution and use in source and binary forms, with or without
</span><span class="lines">@@ -139,8 +139,6 @@
</span><span class="cx">     case Flush:
</span><span class="cx">     case PhantomLocal:
</span><span class="cx">     case SetArgument:
</span><del>-    case ProfileWillCall:
-    case ProfileDidCall:
</del><span class="cx">     case PhantomArguments:
</span><span class="cx">     case Jump:
</span><span class="cx">     case Branch:
</span><span class="lines">@@ -621,6 +619,8 @@
</span><span class="cx">         return;
</span><span class="cx">         
</span><span class="cx">     case Breakpoint:
</span><ins>+    case ProfileWillCall:
+    case ProfileDidCall:
</ins><span class="cx">     case CountExecution:
</span><span class="cx">     case CheckWatchdogTimer:
</span><span class="cx">         read(InternalState);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGNodeTypeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGNodeType.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGNodeType.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGNodeType.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -231,8 +231,8 @@
</span><span class="cx">     \
</span><span class="cx">     /* Nodes for misc operations. */\
</span><span class="cx">     macro(Breakpoint, NodeMustGenerate) \
</span><del>-    macro(ProfileWillCall, NodeMustGenerate | NodeClobbersWorld) \
-    macro(ProfileDidCall, NodeMustGenerate | NodeClobbersWorld) \
</del><ins>+    macro(ProfileWillCall, NodeMustGenerate) \
+    macro(ProfileDidCall, NodeMustGenerate) \
</ins><span class="cx">     macro(CheckHasInstance, NodeMustGenerate) \
</span><span class="cx">     macro(InstanceOf, NodeResultBoolean) \
</span><span class="cx">     macro(IsUndefined, NodeResultBoolean) \
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT32_64cpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4234,25 +4234,13 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    case ProfileWillCall: {
-        JSValueOperand profile(this, node-&gt;child1());
-        GPRReg profileTagGPR = profile.tagGPR();
-        GPRReg profilePayloadGPR = profile.payloadGPR();
-        silentSpillAllRegisters(InvalidGPRReg);
-        callOperation(operationProfileWillCall, profileTagGPR, profilePayloadGPR);
-        silentFillAllRegisters(InvalidGPRReg);
-        noResult(node);
-        break;
-    }
-
</del><ins>+    case ProfileWillCall:
</ins><span class="cx">     case ProfileDidCall: {
</span><del>-        JSValueOperand profile(this, node-&gt;child1());
-        GPRReg profileTagGPR = profile.tagGPR();
-        GPRReg profilePayloadGPR = profile.payloadGPR();
-        silentSpillAllRegisters(InvalidGPRReg);
-        callOperation(operationProfileWillCall, profileTagGPR, profilePayloadGPR);
-        silentFillAllRegisters(InvalidGPRReg);
-        noResult(node);
</del><ins>+        GPRTemporary temp(this);
+        m_jit.loadPtr(m_jit.vm()-&gt;enabledProfilerAddress(), temp.gpr());
+        speculationCheck(
+            DebuggerEvent, JSValueRegs(), 0,
+            m_jit.branchTestPtr(JITCompiler::NonZero, temp.gpr()));
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoredfgDFGSpeculativeJIT64cpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4517,26 +4517,15 @@
</span><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    case ProfileWillCall: {
-        JSValueOperand profile(this, node-&gt;child1());
-        GPRReg profileGPR = profile.gpr();
-        silentSpillAllRegisters(InvalidGPRReg);
-        callOperation(operationProfileWillCall, profileGPR);
-        silentFillAllRegisters(InvalidGPRReg);
-        noResult(node);
</del><ins>+    case ProfileWillCall:
+    case ProfileDidCall:
+        speculationCheck(
+            DebuggerEvent, JSValueRegs(), 0,
+            m_jit.branchTestPtr(
+                JITCompiler::NonZero,
+                JITCompiler::AbsoluteAddress(m_jit.vm()-&gt;enabledProfilerAddress())));
</ins><span class="cx">         break;
</span><del>-    }
</del><span class="cx"> 
</span><del>-    case ProfileDidCall: {
-        JSValueOperand profile(this, node-&gt;child1());
-        GPRReg profileGPR = profile.gpr();
-        silentSpillAllRegisters(InvalidGPRReg);
-        callOperation(operationProfileDidCall, profileGPR);
-        silentFillAllRegisters(InvalidGPRReg);
-        noResult(node);
-        break;
-    }
-
</del><span class="cx">     case Call:
</span><span class="cx">     case Construct:
</span><span class="cx">         emitCall(node);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreftlFTLLowerDFGToLLVMcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,14 +43,14 @@
</span><span class="cx"> #include &quot;OperandsInlines.h&quot;
</span><span class="cx"> #include &quot;Operations.h&quot;
</span><span class="cx"> #include &quot;VirtualRegister.h&quot;
</span><del>-
</del><ins>+#include &lt;atomic&gt;
</ins><span class="cx"> #include &lt;wtf/ProcessID.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace FTL {
</span><span class="cx"> 
</span><span class="cx"> using namespace DFG;
</span><span class="cx"> 
</span><del>-static int compileCounter;
</del><ins>+static std::atomic&lt;int&gt; compileCounter;
</ins><span class="cx"> 
</span><span class="cx"> // FIXME: Get rid of this and introduce a real stack check.
</span><span class="cx"> // https://bugs.webkit.org/show_bug.cgi?id=125650
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">         CString name;
</span><span class="cx">         if (verboseCompilationEnabled()) {
</span><span class="cx">             name = toCString(
</span><del>-                &quot;jsBody_&quot;, atomicIncrement(&amp;compileCounter), &quot;_&quot;, codeBlock()-&gt;inferredName(),
</del><ins>+                &quot;jsBody_&quot;, ++compileCounter, &quot;_&quot;, codeBlock()-&gt;inferredName(),
</ins><span class="cx">                 &quot;_&quot;, codeBlock()-&gt;hash());
</span><span class="cx">         } else
</span><span class="cx">             name = &quot;jsBody&quot;;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorContentSearchUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx"> static String createSearchRegexSource(const String&amp; text)
</span><span class="cx"> {
</span><span class="cx">     String result;
</span><del>-    const UChar* characters = text.characters();
</del><ins>+    const UChar* characters = text.deprecatedCharacters();
</ins><span class="cx">     String specials(regexSpecialCharacters);
</span><span class="cx"> 
</span><span class="cx">     for (unsigned i = 0; i &lt; text.length(); i++) {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorEventLoopcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2011 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;EventLoop.h&quot;
+
+#if OS(WINDOWS)
+#include &lt;windows.h&gt;
+#elif USE(CF)
+#include &lt;CoreFoundation/CFRunLoop.h&gt;
+#elif PLATFORM(EFL)
+#include &lt;Ecore.h&gt;
+#elif PLATFORM(GTK)
+#include &lt;glib.h&gt;
+#endif
+
+namespace Inspector {
+
+void EventLoop::cycle()
+{
+#if OS(WINDOWS)
+    MSG msg;
+    if (!GetMessage(&amp;msg, 0, 0, 0)) {
+        m_ended = true;
+        return;
+    }
+    TranslateMessage(&amp;msg);
+    DispatchMessage(&amp;msg);
+#elif USE(CF)
+    CFTimeInterval timeInterval = 0.05;
+    CFRunLoopRunInMode(kCFRunLoopDefaultMode, timeInterval, true);
+#elif PLATFORM(EFL)
+    ecore_main_loop_iterate();
+#elif PLATFORM(GTK)
+    g_main_context_iteration(NULL, FALSE);
+#endif
+}
+
+} // namespace Inspector
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorEventLooph"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/EventLoop.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,50 @@
</span><ins>+/*
+ * Copyright (C) 2008 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. ``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
+ * 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 EventLoop_h
+#define EventLoop_h
+
+#include &lt;wtf/Noncopyable.h&gt;
+
+namespace Inspector {
+
+class EventLoop {
+    WTF_MAKE_NONCOPYABLE(EventLoop);
+public:
+    EventLoop()
+        : m_ended(false)
+    {
+    }
+
+    void cycle();
+    bool ended() const { return m_ended; }
+
+private:
+    bool m_ended;
+};
+
+} // namespace Inspector
+
+#endif // EventLoop_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorInspectorValuescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/inspector/InspectorValues.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/InspectorValues.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/InspectorValues.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -472,7 +472,7 @@
</span><span class="cx">                 //    is also optional.  It would also be a pain to implement here.
</span><span class="cx">                 unsigned int symbol = static_cast&lt;unsigned int&gt;(c);
</span><span class="cx">                 String symbolCode = String::format(&quot;\\u%04X&quot;, symbol);
</span><del>-                dst-&gt;append(symbolCode.characters(), symbolCode.length());
</del><ins>+                dst-&gt;append(symbolCode.deprecatedCharacters(), symbolCode.length());
</ins><span class="cx">             } else
</span><span class="cx">                 dst-&gt;append(c);
</span><span class="cx">         }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,6 +35,8 @@
</span><span class="cx"> #include &quot;InspectorBackendDispatcher.h&quot;
</span><span class="cx"> #include &quot;InspectorFrontendChannel.h&quot;
</span><span class="cx"> #include &quot;JSGlobalObject.h&quot;
</span><ins>+#include &quot;JSGlobalObjectDebuggerAgent.h&quot;
+#include &quot;JSGlobalObjectRuntimeAgent.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> using namespace JSC;
</span><span class="cx"> 
</span><span class="lines">@@ -47,9 +49,15 @@
</span><span class="cx"> {
</span><span class="cx">     m_agents.append(std::make_unique&lt;InspectorAgent&gt;());
</span><span class="cx"> 
</span><del>-    // FIXME: Create RuntimeAgent.
-    // FIXME: Create DebuggerAgent.
-    (void)m_globalObject; // Will be used by RuntimeAgent.
</del><ins>+    auto runtimeAgentPtr = std::make_unique&lt;JSGlobalObjectRuntimeAgent&gt;(m_injectedScriptManager.get(), m_globalObject);
+    InspectorRuntimeAgent* runtimeAgent = runtimeAgentPtr.get();
+    m_agents.append(std::move(runtimeAgentPtr));
+
+    auto debuggerAgentPtr = std::make_unique&lt;JSGlobalObjectDebuggerAgent&gt;(m_injectedScriptManager.get(), m_globalObject);
+    InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get();
+    m_agents.append(std::move(debuggerAgentPtr));
+
+    runtimeAgent-&gt;setScriptDebugServer(&amp;debuggerAgent-&gt;scriptDebugServer());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController()
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectScriptDebugServercpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,89 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSGlobalObjectScriptDebugServer.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;EventLoop.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+JSGlobalObjectScriptDebugServer::JSGlobalObjectScriptDebugServer(JSGlobalObject&amp; globalObject)
+    : ScriptDebugServer(false)
+    , m_globalObject(globalObject)
+{
+}
+
+void JSGlobalObjectScriptDebugServer::addListener(ScriptDebugListener* listener)
+{
+    if (!listener)
+        return;
+
+    bool wasEmpty = m_listeners.isEmpty();
+    m_listeners.add(listener);
+
+    // First listener. Attach the debugger to the JSGlobalObject.
+    if (wasEmpty) {
+        attach(&amp;m_globalObject);
+        recompileAllJSFunctions();
+    }
+}
+
+void JSGlobalObjectScriptDebugServer::removeListener(ScriptDebugListener* listener, bool isBeingDestroyed)
+{
+    if (!listener)
+        return;
+
+    m_listeners.remove(listener);
+
+    // Last listener. Detach the debugger from the JSGlobalObject.
+    if (m_listeners.isEmpty()) {
+        detach(&amp;m_globalObject, isBeingDestroyed ? Debugger::GlobalObjectIsDestructing : Debugger::TerminatingDebuggingSession);
+        if (!isBeingDestroyed)
+            recompileAllJSFunctions();
+    }
+}
+
+void JSGlobalObjectScriptDebugServer::recompileAllJSFunctions()
+{
+    JSC::Debugger::recompileAllJSFunctions(&amp;m_globalObject.vm());
+}
+
+void JSGlobalObjectScriptDebugServer::runEventLoopWhilePaused()
+{
+    EventLoop loop;
+    while (!m_doneProcessingDebuggerEvents &amp;&amp; !loop.ended())
+        loop.cycle();
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSGlobalObjectScriptDebugServerh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSGlobalObjectScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 JSGlobalObjectScriptDebugServer_h
+#define JSGlobalObjectScriptDebugServer_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;ScriptDebugServer.h&quot;
+#include &lt;wtf/Forward.h&gt;
+
+namespace Inspector {
+
+class JSGlobalObjectScriptDebugServer final : public ScriptDebugServer {
+    WTF_MAKE_NONCOPYABLE(JSGlobalObjectScriptDebugServer);
+public:
+    JSGlobalObjectScriptDebugServer(JSC::JSGlobalObject&amp;);
+    virtual ~JSGlobalObjectScriptDebugServer() { }
+
+    void addListener(ScriptDebugListener*);
+    void removeListener(ScriptDebugListener*, bool isBeingDestroyed);
+
+    JSC::JSGlobalObject&amp; globalObject() const { return m_globalObject; }
+
+    virtual void recompileAllJSFunctions() override;
+
+private:
+    virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) override { return &amp;m_listeners; }
+    virtual void didPause(JSC::JSGlobalObject*) override { }
+    virtual void didContinue(JSC::JSGlobalObject*) override { }
+    virtual void runEventLoopWhilePaused() override;
+    virtual bool isContentScript(JSC::ExecState*) const override { return false; }
+
+    // FIXME: JavaScript inspection has no Console yet.
+    virtual void reportException(JSC::ExecState*, JSC::JSValue) const override { }
+
+    ListenerSet m_listeners;
+    JSC::JSGlobalObject&amp; m_globalObject;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // JSGlobalObjectScriptDebugServer_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSInjectedScriptHosth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSInjectedScriptHost.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx">     JSC::JSValue getInternalProperties(JSC::ExecState*);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero | Base::StructureFlags;
</del><ins>+    static const unsigned StructureFlags = Base::StructureFlags;
</ins><span class="cx"> 
</span><span class="cx">     void finishCreation(JSC::VM&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramecpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,215 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;Error.h&quot;
+#include &quot;JSCJSValue.h&quot;
+#include &quot;JSCellInlines.h&quot;
+#include &quot;JSJavaScriptCallFramePrototype.h&quot;
+#include &quot;StructureInlines.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+const ClassInfo JSJavaScriptCallFrame::s_info = { &quot;JavaScriptCallFrame&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFrame) };
+
+JSJavaScriptCallFrame::JSJavaScriptCallFrame(VM&amp; vm, Structure* structure, PassRefPtr&lt;JavaScriptCallFrame&gt; impl)
+    : JSDestructibleObject(vm, structure)
+    , m_impl(impl.leakRef())
+{
+}
+
+void JSJavaScriptCallFrame::finishCreation(VM&amp; vm)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+}
+
+JSObject* JSJavaScriptCallFrame::createPrototype(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    return JSJavaScriptCallFramePrototype::create(vm, globalObject, JSJavaScriptCallFramePrototype::createStructure(vm, globalObject, globalObject-&gt;objectPrototype()));
+}
+
+void JSJavaScriptCallFrame::destroy(JSC::JSCell* cell)
+{
+    JSJavaScriptCallFrame* thisObject = static_cast&lt;JSJavaScriptCallFrame*&gt;(cell);
+    thisObject-&gt;JSJavaScriptCallFrame::~JSJavaScriptCallFrame();
+}
+
+void JSJavaScriptCallFrame::releaseImpl()
+{
+    if (m_impl) {
+        m_impl-&gt;deref();
+        m_impl = nullptr;
+    }
+}
+
+JSJavaScriptCallFrame::~JSJavaScriptCallFrame()
+{
+    releaseImpl();
+}
+
+JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
+{
+    JSValue exception;
+    JSValue result = impl().evaluate(exec-&gt;argument(0).toString(exec)-&gt;value(exec), exception);
+    if (exception)
+        exec-&gt;vm().throwException(exec, exception);
+
+    return result;
+}
+
+JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
+{
+    if (!impl().scopeChain())
+        return jsUndefined();
+
+    if (!exec-&gt;argument(0).isInt32())
+        return jsUndefined();
+    int index = exec-&gt;argument(0).asInt32();
+
+    JSScope* scopeChain = impl().scopeChain();
+    ScopeChainIterator end = scopeChain-&gt;end();
+
+    // FIXME: We should be identifying and returning CATCH_SCOPE appropriately.
+
+    bool foundLocalScope = false;
+    for (ScopeChainIterator iter = scopeChain-&gt;begin(); iter != end; ++iter) {
+        JSObject* scope = iter.get();
+        if (scope-&gt;isActivationObject()) {
+            if (!foundLocalScope) {
+                // First activation object is local scope, each successive activation object is closure.
+                if (!index)
+                    return jsNumber(JSJavaScriptCallFrame::LOCAL_SCOPE);
+                foundLocalScope = true;
+            } else if (!index)
+                return jsNumber(JSJavaScriptCallFrame::CLOSURE_SCOPE);
+        }
+
+        if (!index) {
+            // Last in the chain is global scope.
+            if (++iter == end)
+                return jsNumber(JSJavaScriptCallFrame::GLOBAL_SCOPE);
+            return jsNumber(JSJavaScriptCallFrame::WITH_SCOPE);
+        }
+
+        --index;
+    }
+
+    ASSERT_NOT_REACHED();
+    return jsUndefined();
+}
+
+JSValue JSJavaScriptCallFrame::caller(ExecState* exec) const
+{
+    return toJS(exec, globalObject(), impl().caller());
+}
+
+JSValue JSJavaScriptCallFrame::sourceID(ExecState*) const
+{
+    return jsNumber(impl().sourceID());
+}
+
+JSValue JSJavaScriptCallFrame::line(ExecState*) const
+{
+    return jsNumber(impl().line());
+}
+
+JSValue JSJavaScriptCallFrame::column(ExecState*) const
+{
+    return jsNumber(impl().column());
+}
+
+JSValue JSJavaScriptCallFrame::functionName(ExecState* exec) const
+{
+    return jsString(exec, impl().functionName());
+}
+
+JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
+{
+    if (!impl().scopeChain())
+        return jsNull();
+
+    JSScope* scopeChain = impl().scopeChain();
+    ScopeChainIterator iter = scopeChain-&gt;begin();
+    ScopeChainIterator end = scopeChain-&gt;end();
+
+    // We must always have something in the scope chain.
+    ASSERT(iter != end);
+
+    MarkedArgumentBuffer list;
+    do {
+        list.append(iter.get());
+        ++iter;
+    } while (iter != end);
+
+    return constructArray(exec, nullptr, globalObject(), list);
+}
+
+JSValue JSJavaScriptCallFrame::thisObject(ExecState*) const
+{
+    return impl().thisValue();
+}
+
+JSValue JSJavaScriptCallFrame::type(ExecState* exec) const
+{
+    switch (impl().type()) {
+    case DebuggerCallFrame::FunctionType:
+        return jsNontrivialString(exec, ASCIILiteral(&quot;function&quot;));
+    case DebuggerCallFrame::ProgramType:
+        return jsNontrivialString(exec, ASCIILiteral(&quot;program&quot;));
+    }
+
+    ASSERT_NOT_REACHED();
+    return jsNull();
+}
+
+JSValue toJS(ExecState* exec, JSGlobalObject* globalObject, JavaScriptCallFrame* impl)
+{
+    if (!impl)
+        return jsNull();
+
+    JSObject* prototype = JSJavaScriptCallFrame::createPrototype(exec-&gt;vm(), globalObject);
+    Structure* structure = JSJavaScriptCallFrame::createStructure(exec-&gt;vm(), globalObject, prototype);
+    JSJavaScriptCallFrame* javaScriptCallFrame = JSJavaScriptCallFrame::create(exec-&gt;vm(), structure, impl);
+
+    return javaScriptCallFrame;
+}
+
+JSJavaScriptCallFrame* toJSJavaScriptCallFrame(JSValue value)
+{
+    return value.inherits(JSJavaScriptCallFrame::info()) ? jsCast&lt;JSJavaScriptCallFrame*&gt;(value) : nullptr;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFrameh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFrame.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,102 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 JSJavaScriptCallFrame_h
+#define JSJavaScriptCallFrame_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;JSDestructibleObject.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+
+namespace Inspector {
+
+class JSJavaScriptCallFrame : public JSC::JSDestructibleObject {
+public:
+    typedef JSC::JSDestructibleObject Base;
+
+    DECLARE_INFO;
+
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+    static JSJavaScriptCallFrame* create(JSC::VM&amp; vm, JSC::Structure* structure, PassRefPtr&lt;JavaScriptCallFrame&gt; impl)
+    {
+        JSJavaScriptCallFrame* instance = new (NotNull, JSC::allocateCell&lt;JSJavaScriptCallFrame&gt;(vm.heap)) JSJavaScriptCallFrame(vm, structure, impl);
+        instance-&gt;finishCreation(vm);
+        return instance;
+    }
+
+    static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
+    static void destroy(JSC::JSCell*);
+
+    JavaScriptCallFrame&amp; impl() const { return *m_impl; }
+    void releaseImpl();
+
+    // Functions.
+    JSC::JSValue evaluate(JSC::ExecState*);
+    JSC::JSValue scopeType(JSC::ExecState*);
+
+    // Attributes.
+    JSC::JSValue caller(JSC::ExecState*) const;
+    JSC::JSValue sourceID(JSC::ExecState*) const;
+    JSC::JSValue line(JSC::ExecState*) const;
+    JSC::JSValue column(JSC::ExecState*) const;
+    JSC::JSValue functionName(JSC::ExecState*) const;
+    JSC::JSValue scopeChain(JSC::ExecState*) const;
+    JSC::JSValue thisObject(JSC::ExecState*) const;
+    JSC::JSValue type(JSC::ExecState*) const;
+
+    // Constants.
+    static const unsigned short GLOBAL_SCOPE = 0;
+    static const unsigned short LOCAL_SCOPE = 1;
+    static const unsigned short WITH_SCOPE = 2;
+    static const unsigned short CLOSURE_SCOPE = 3;
+    static const unsigned short CATCH_SCOPE = 4;
+
+protected:
+    static const unsigned StructureFlags = Base::StructureFlags;
+
+    void finishCreation(JSC::VM&amp;);
+
+private:
+    JSJavaScriptCallFrame(JSC::VM&amp;, JSC::Structure*, PassRefPtr&lt;JavaScriptCallFrame&gt;);
+    ~JSJavaScriptCallFrame();
+
+    JavaScriptCallFrame* m_impl;
+};
+
+JSC::JSValue toJS(JSC::ExecState*, JSC::JSGlobalObject*, JavaScriptCallFrame*);
+JSJavaScriptCallFrame* toJSJavaScriptCallFrame(JSC::JSValue);
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSJavaScriptCallFrame_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypecpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,238 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSJavaScriptCallFramePrototype.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;Error.h&quot;
+#include &quot;GetterSetter.h&quot;
+#include &quot;Identifier.h&quot;
+#include &quot;JSCJSValueInlines.h&quot;
+#include &quot;JSFunction.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+// Functions.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionScopeType(ExecState*);
+
+// Attributes.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeCaller(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeSourceID(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeLine(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeColumn(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeFunctionName(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeScopeChain(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState*);
+
+// Constants.
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantGLOBAL_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantLOCAL_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantWITH_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCLOSURE_SCOPE(ExecState*);
+static EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCATCH_SCOPE(ExecState*);
+
+const ClassInfo JSJavaScriptCallFramePrototype::s_info = { &quot;JavaScriptCallFrame&quot;, &amp;Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSJavaScriptCallFramePrototype) };
+
+#define JSC_NATIVE_NON_INDEX_ACCESSOR(jsName, cppName, attributes) \
+    { \
+        Identifier identifier(&amp;vm, jsName); \
+        GetterSetter* accessor = GetterSetter::create(vm); \
+        JSFunction* function = JSFunction::create(vm, globalObject, 0, identifier.string(), cppName); \
+        accessor-&gt;setGetter(vm, function); \
+        putDirectNonIndexAccessor(vm, identifier, accessor, (attributes)); \
+    }
+
+void JSJavaScriptCallFramePrototype::finishCreation(VM&amp; vm, JSGlobalObject* globalObject)
+{
+    Base::finishCreation(vm);
+    ASSERT(inherits(info()));
+    vm.prototypeMap.addPrototype(this);
+
+    JSC_NATIVE_FUNCTION(&quot;evaluate&quot;, jsJavaScriptCallFramePrototypeFunctionEvaluate, DontEnum, 1);
+    JSC_NATIVE_FUNCTION(&quot;scopeType&quot;, jsJavaScriptCallFramePrototypeFunctionScopeType, DontEnum, 1);
+
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;caller&quot;, jsJavaScriptCallFrameAttributeCaller, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;sourceID&quot;, jsJavaScriptCallFrameAttributeSourceID, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;line&quot;, jsJavaScriptCallFrameAttributeLine, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;column&quot;, jsJavaScriptCallFrameAttributeColumn, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;functionName&quot;, jsJavaScriptCallFrameAttributeFunctionName, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;scopeChain&quot;, jsJavaScriptCallFrameAttributeScopeChain, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;thisObject&quot;, jsJavaScriptCallFrameAttributeThisObject, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;type&quot;, jsJavaScriptCallFrameAttributeType, DontEnum | Accessor);
+
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;GLOBAL_SCOPE&quot;, jsJavaScriptCallFrameConstantGLOBAL_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;LOCAL_SCOPE&quot;, jsJavaScriptCallFrameConstantLOCAL_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;WITH_SCOPE&quot;, jsJavaScriptCallFrameConstantWITH_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;CLOSURE_SCOPE&quot;, jsJavaScriptCallFrameConstantCLOSURE_SCOPE, DontEnum | Accessor);
+    JSC_NATIVE_NON_INDEX_ACCESSOR(&quot;CATCH_SCOPE&quot;, jsJavaScriptCallFrameConstantCATCH_SCOPE, DontEnum | Accessor);
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionEvaluate(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;evaluate(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFramePrototypeFunctionScopeType(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;scopeType(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeCaller(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;caller(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeSourceID(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;sourceID(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeLine(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;line(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeColumn(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;column(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeFunctionName(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;functionName(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeScopeChain(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;scopeChain(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeThisObject(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;thisObject(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameAttributeType(ExecState* exec)
+{
+    JSValue thisValue = exec-&gt;hostThisValue();
+    JSJavaScriptCallFrame* castedThis = jsDynamicCast&lt;JSJavaScriptCallFrame*&gt;(thisValue);
+    if (!castedThis)
+        return throwVMTypeError(exec);
+
+    ASSERT_GC_OBJECT_INHERITS(castedThis, JSJavaScriptCallFrame::info());
+    return JSValue::encode(castedThis-&gt;type(exec));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantGLOBAL_SCOPE(ExecState*)
+{
+    return JSValue::encode(jsNumber(JSJavaScriptCallFrame::GLOBAL_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantLOCAL_SCOPE(ExecState*)
+{
+    return JSValue::encode(jsNumber(JSJavaScriptCallFrame::LOCAL_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantWITH_SCOPE(ExecState*)
+{
+    return JSValue::encode(jsNumber(JSJavaScriptCallFrame::WITH_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCLOSURE_SCOPE(ExecState*)
+{
+    return JSValue::encode(jsNumber(JSJavaScriptCallFrame::CLOSURE_SCOPE));
+}
+
+EncodedJSValue JSC_HOST_CALL jsJavaScriptCallFrameConstantCATCH_SCOPE(ExecState*)
+{
+    return JSValue::encode(jsNumber(JSJavaScriptCallFrame::CATCH_SCOPE));
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJSJavaScriptCallFramePrototypeh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JSJavaScriptCallFramePrototype.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,70 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 JSJavaScriptCallFramePrototype_h
+#define JSJavaScriptCallFramePrototype_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;JSObject.h&quot;
+
+namespace Inspector {
+
+class JSJavaScriptCallFramePrototype : public JSC::JSNonFinalObject {
+public:
+    typedef JSC::JSNonFinalObject Base;
+
+    DECLARE_INFO;
+
+    static JSJavaScriptCallFramePrototype* create(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
+    {
+        JSJavaScriptCallFramePrototype* ptr = new (NotNull, JSC::allocateCell&lt;JSJavaScriptCallFramePrototype&gt;(vm.heap)) JSJavaScriptCallFramePrototype(vm, globalObject, structure);
+        ptr-&gt;finishCreation(vm, globalObject);
+        return ptr;
+    }
+
+    static JSC::Structure* createStructure(JSC::VM&amp; vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
+    {
+        return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
+    }
+
+protected:
+    static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | Base::StructureFlags;
+
+private:
+    JSJavaScriptCallFramePrototype(JSC::VM&amp; vm, JSC::JSGlobalObject*, JSC::Structure* structure)
+        : JSC::JSNonFinalObject(vm, structure)
+    {
+    }
+    void finishCreation(JSC::VM&amp;, JSC::JSGlobalObject*);
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSJavaScriptCallFramePrototype_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJavaScriptCallFramecpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,57 @@
</span><ins>+/*
+ * Copyright (C) 2008, 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+using namespace JSC;
+
+namespace Inspector {
+
+JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr&lt;DebuggerCallFrame&gt; debuggerCallFrame)
+    : m_debuggerCallFrame(debuggerCallFrame)
+{
+}
+
+JavaScriptCallFrame* JavaScriptCallFrame::caller()
+{
+    if (m_caller)
+        return m_caller.get();
+
+    RefPtr&lt;DebuggerCallFrame&gt; debuggerCallerFrame = m_debuggerCallFrame-&gt;callerFrame();
+    if (!debuggerCallerFrame)
+        return nullptr;
+
+    m_caller = create(debuggerCallerFrame);
+    return m_caller.get();
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorJavaScriptCallFrameh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/JavaScriptCallFrame.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,75 @@
</span><ins>+/*
+ * Copyright (C) 2008, 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. ``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
+ * 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 JavaScriptCallFrame_h
+#define JavaScriptCallFrame_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;JSCJSValueInlines.h&quot;
+#include &quot;debugger/DebuggerCallFrame.h&quot;
+#include &quot;interpreter/CallFrame.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/RefCounted.h&gt;
+#include &lt;wtf/text/TextPosition.h&gt;
+
+namespace Inspector {
+
+class JavaScriptCallFrame : public RefCounted&lt;JavaScriptCallFrame&gt; {
+public:
+    static PassRefPtr&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
+    {
+        return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
+    }
+
+    JavaScriptCallFrame* caller();
+    intptr_t sourceID() const { return m_debuggerCallFrame-&gt;sourceID(); }
+    const TextPosition position() const { return m_debuggerCallFrame-&gt;position(); }
+    int line() const { return m_debuggerCallFrame-&gt;line(); }
+    int column() const { return m_debuggerCallFrame-&gt;column(); }
+
+    String functionName() const { return m_debuggerCallFrame-&gt;functionName(); }
+    JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame-&gt;type(); }
+    JSC::JSScope* scopeChain() const { return m_debuggerCallFrame-&gt;scope(); }
+    JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame-&gt;vmEntryGlobalObject(); }
+
+    JSC::JSValue thisValue() const { return m_debuggerCallFrame-&gt;thisValue(); }
+    JSC::JSValue evaluate(const String&amp; script, JSC::JSValue&amp; exception) const  { return m_debuggerCallFrame-&gt;evaluate(script, exception); }
+
+private:
+    JavaScriptCallFrame(PassRefPtr&lt;JSC::DebuggerCallFrame&gt;);
+
+    RefPtr&lt;JSC::DebuggerCallFrame&gt; m_debuggerCallFrame;
+    RefPtr&lt;JavaScriptCallFrame&gt; m_caller;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // JavaScriptCallFrame_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugListenerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugListener.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugListener.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -73,6 +73,9 @@
</span><span class="cx">     virtual void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception) = 0;
</span><span class="cx">     virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; result) = 0;
</span><span class="cx">     virtual void didContinue() = 0;
</span><ins>+
+    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) = 0;
+    virtual void breakpointActionSound() = 0;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace Inspector
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugServercpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,342 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2009, 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 Google Inc. All rights reserved.
+ * Copyright (C) 2013 University of Washington. 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.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;ScriptDebugServer.h&quot;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;DebuggerCallFrame.h&quot;
+#include &quot;JSJavaScriptCallFrame.h&quot;
+#include &quot;JSLock.h&quot;
+#include &quot;JavaScriptCallFrame.h&quot;
+#include &quot;ScriptValue.h&quot;
+#include &quot;SourceProvider.h&quot;
+#include &lt;wtf/MainThread.h&gt;
+#include &lt;wtf/NeverDestroyed.h&gt;
+#include &lt;wtf/TemporaryChange.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+using namespace JSC;
+using namespace Inspector;
+
+namespace Inspector {
+
+ScriptDebugServer::ScriptDebugServer(bool isInWorkerThread)
+    : Debugger(isInWorkerThread)
+    , m_doneProcessingDebuggerEvents(true)
+    , m_callingListeners(false)
+{
+}
+
+ScriptDebugServer::~ScriptDebugServer()
+{
+}
+
+JSC::BreakpointID ScriptDebugServer::setBreakpoint(JSC::SourceID sourceID, const ScriptBreakpoint&amp; scriptBreakpoint, unsigned* actualLineNumber, unsigned* actualColumnNumber)
+{
+    if (!sourceID)
+        return JSC::noBreakpointID;
+
+    JSC::Breakpoint breakpoint(sourceID, scriptBreakpoint.lineNumber, scriptBreakpoint.columnNumber, scriptBreakpoint.condition, scriptBreakpoint.autoContinue);
+    JSC::BreakpointID id = Debugger::setBreakpoint(breakpoint, *actualLineNumber, *actualColumnNumber);
+    if (id != JSC::noBreakpointID &amp;&amp; !scriptBreakpoint.actions.isEmpty()) {
+#ifndef NDEBUG
+        BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
+        ASSERT(it == m_breakpointIDToActions.end());
+#endif
+        const Vector&lt;ScriptBreakpointAction&gt; &amp;actions = scriptBreakpoint.actions;
+        m_breakpointIDToActions.set(id, actions);
+    }
+    return id;
+}
+
+void ScriptDebugServer::removeBreakpoint(JSC::BreakpointID id)
+{
+    ASSERT(id != JSC::noBreakpointID);
+    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
+    if (it != m_breakpointIDToActions.end())
+        m_breakpointIDToActions.remove(it);
+
+    Debugger::removeBreakpoint(id);
+}
+
+bool ScriptDebugServer::evaluateBreakpointAction(const ScriptBreakpointAction&amp; breakpointAction)
+{
+    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
+
+    switch (breakpointAction.type) {
+    case ScriptBreakpointActionTypeLog: {
+        dispatchBreakpointActionLog(debuggerCallFrame-&gt;exec(), breakpointAction.data);
+        break;
+    }
+    case ScriptBreakpointActionTypeEvaluate: {
+        JSValue exception;
+        debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
+        if (exception)
+            reportException(debuggerCallFrame-&gt;exec(), exception);
+        break;
+    }
+    case ScriptBreakpointActionTypeSound:
+        dispatchBreakpointActionSound(debuggerCallFrame-&gt;exec());
+        break;
+    case ScriptBreakpointActionTypeProbe: {
+        JSValue exception;
+        JSValue result = debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
+        if (exception)
+            reportException(debuggerCallFrame-&gt;exec(), exception);
+        
+        JSC::ExecState* state = debuggerCallFrame-&gt;scope()-&gt;globalObject()-&gt;globalExec();
+        Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state-&gt;vm(), exception ? exception : result);
+        dispatchDidSampleProbe(state, breakpointAction.identifier, wrappedResult);
+        break;
+    }
+    default:
+        ASSERT_NOT_REACHED();
+    }
+
+    return true;
+}
+
+void ScriptDebugServer::clearBreakpoints()
+{
+    Debugger::clearBreakpoints();
+    m_breakpointIDToActions.clear();
+}
+
+void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
+{
+    ASSERT(isPaused());
+    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
+    JSGlobalObject* globalObject = debuggerCallFrame-&gt;scope()-&gt;globalObject();
+    JSC::ExecState* state = globalObject-&gt;globalExec();
+    RefPtr&lt;JavaScriptCallFrame&gt; javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
+    JSValue jsCallFrame = toJS(state, globalObject, javaScriptCallFrame.get());
+    listener-&gt;didPause(state, Deprecated::ScriptValue(state-&gt;vm(), jsCallFrame), Deprecated::ScriptValue());
+}
+
+void ScriptDebugServer::dispatchBreakpointActionLog(ExecState* exec, const String&amp; message)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;breakpointActionLog(exec, message);
+}
+
+void ScriptDebugServer::dispatchBreakpointActionSound(ExecState* exec)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;breakpointActionSound();
+}
+
+void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue&amp; sample)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
+    copyToVector(*listeners, listenersCopy);
+    for (auto listener : listenersCopy)
+        listener-&gt;didSampleProbe(exec, identifier, m_hitCount, sample);
+}
+
+void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
+{
+    listener-&gt;didContinue();
+}
+
+void ScriptDebugServer::dispatchDidParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, bool isContentScript)
+{
+    JSC::SourceID sourceID = sourceProvider-&gt;asID();
+
+    ScriptDebugListener::Script script;
+    script.url = sourceProvider-&gt;url();
+    script.source = sourceProvider-&gt;source();
+    script.startLine = sourceProvider-&gt;startPosition().m_line.zeroBasedInt();
+    script.startColumn = sourceProvider-&gt;startPosition().m_column.zeroBasedInt();
+    script.isContentScript = isContentScript;
+
+    int sourceLength = script.source.length();
+    int lineCount = 1;
+    int lastLineStart = 0;
+    for (int i = 0; i &lt; sourceLength; ++i) {
+        if (script.source[i] == '\n') {
+            lineCount += 1;
+            lastLineStart = i + 1;
+        }
+    }
+
+    script.endLine = script.startLine + lineCount - 1;
+    if (lineCount == 1)
+        script.endColumn = script.startColumn + sourceLength;
+    else
+        script.endColumn = sourceLength - lastLineStart;
+
+    Vector&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        copy[i]-&gt;didParseSource(sourceID, script);
+}
+
+void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
+{
+    String url = sourceProvider-&gt;url();
+    const String&amp; data = sourceProvider-&gt;source();
+    int firstLine = sourceProvider-&gt;startPosition().m_line.oneBasedInt();
+
+    Vector&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        copy[i]-&gt;failedToParseSource(url, data, firstLine, errorLine, errorMessage);
+}
+
+void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
+{
+    if (m_callingListeners)
+        return;
+
+    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
+    if (!listeners)
+        return;
+    ASSERT(!listeners-&gt;isEmpty());
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    bool isError = errorLine != -1;
+    if (isError)
+        dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, errorMessage);
+    else
+        dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec));
+}
+
+void ScriptDebugServer::dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback callback)
+{
+    Vector&lt;ScriptDebugListener*&gt; copy;
+    copyToVector(listeners, copy);
+    for (size_t i = 0; i &lt; copy.size(); ++i)
+        (this-&gt;*callback)(copy[i]);
+}
+
+void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
+{
+    if (m_callingListeners)
+        return;
+
+    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
+
+    if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
+        ASSERT(!listeners-&gt;isEmpty());
+        dispatchFunctionToListeners(*listeners, callback);
+    }
+}
+
+void ScriptDebugServer::notifyDoneProcessingDebuggerEvents()
+{
+    m_doneProcessingDebuggerEvents = true;
+}
+
+bool ScriptDebugServer::needPauseHandling(JSGlobalObject* globalObject)
+{
+    return !!getListenersForGlobalObject(globalObject);
+}
+
+void ScriptDebugServer::handleBreakpointHit(const JSC::Breakpoint&amp; breakpoint)
+{
+    m_hitCount++;
+    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
+    if (it != m_breakpointIDToActions.end()) {
+        BreakpointActions&amp; actions = it-&gt;value;
+        for (size_t i = 0; i &lt; actions.size(); ++i) {
+            if (!evaluateBreakpointAction(actions[i]))
+                return;
+        }
+    }
+}
+
+void ScriptDebugServer::handleExceptionInBreakpointCondition(JSC::ExecState* exec, JSC::JSValue exception) const
+{
+    reportException(exec, exception);
+}
+
+void ScriptDebugServer::handlePause(Debugger::ReasonForPause, JSGlobalObject* vmEntryGlobalObject)
+{
+    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
+    didPause(vmEntryGlobalObject);
+
+    m_doneProcessingDebuggerEvents = false;
+    runEventLoopWhilePaused();
+
+    didContinue(vmEntryGlobalObject);
+    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
+}
+
+const Vector&lt;ScriptBreakpointAction&gt;&amp; ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
+{
+    ASSERT(breakpointID != JSC::noBreakpointID);
+
+    if (m_breakpointIDToActions.contains(breakpointID))
+        return m_breakpointIDToActions.find(breakpointID)-&gt;value;
+    
+    static NeverDestroyed&lt;Vector&lt;ScriptBreakpointAction&gt;&gt; emptyActionVector = Vector&lt;ScriptBreakpointAction&gt;();
+    return emptyActionVector;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectorScriptDebugServerh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/ScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,120 @@
</span><ins>+/*
+ * Copyright (C) 2008, 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 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:
+ *
+ * 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.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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 ScriptDebugServer_h
+#define ScriptDebugServer_h
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;ScriptBreakpoint.h&quot;
+#include &quot;ScriptDebugListener.h&quot;
+#include &quot;bindings/ScriptObject.h&quot;
+#include &quot;debugger/Debugger.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/HashSet.h&gt;
+#include &lt;wtf/RefPtr.h&gt;
+#include &lt;wtf/Vector.h&gt;
+#include &lt;wtf/text/TextPosition.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace JSC {
+class ExecState;
+class JSGlobalObject;
+}
+
+namespace Inspector {
+
+class JS_EXPORT_PRIVATE ScriptDebugServer : public JSC::Debugger {
+    WTF_MAKE_NONCOPYABLE(ScriptDebugServer);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    JSC::BreakpointID setBreakpoint(JSC::SourceID, const ScriptBreakpoint&amp;, unsigned* actualLineNumber, unsigned* actualColumnNumber);
+    void removeBreakpoint(JSC::BreakpointID);
+    void clearBreakpoints();
+
+    virtual void recompileAllJSFunctions() = 0;
+
+    const Vector&lt;ScriptBreakpointAction&gt;&amp; getActionsForBreakpoint(JSC::BreakpointID);
+
+    class Task {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
+        virtual ~Task() { }
+        virtual void run() = 0;
+    };
+
+protected:
+    typedef HashSet&lt;ScriptDebugListener*&gt; ListenerSet;
+    typedef void (ScriptDebugServer::*JavaScriptExecutionCallback)(ScriptDebugListener*);
+
+    ScriptDebugServer(bool isInWorkerThread = false);
+    ~ScriptDebugServer();
+
+    virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) = 0;
+    virtual void didPause(JSC::JSGlobalObject*) = 0;
+    virtual void didContinue(JSC::JSGlobalObject*) = 0;
+    virtual void runEventLoopWhilePaused() = 0;
+    virtual bool isContentScript(JSC::ExecState*) const = 0;
+    virtual void reportException(JSC::ExecState*, JSC::JSValue) const = 0;
+
+    bool evaluateBreakpointAction(const ScriptBreakpointAction&amp;);
+
+    void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
+    void dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback);
+    void dispatchDidPause(ScriptDebugListener*);
+    void dispatchDidContinue(ScriptDebugListener*);
+    void dispatchDidParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, bool isContentScript);
+    void dispatchFailedToParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, int errorLine, const String&amp; errorMessage);
+    void dispatchBreakpointActionLog(JSC::ExecState*, const String&amp;);
+    void dispatchBreakpointActionSound(JSC::ExecState*);
+    void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue&amp; sample);
+
+    bool m_doneProcessingDebuggerEvents;
+
+private:
+    typedef Vector&lt;ScriptBreakpointAction&gt; BreakpointActions;
+    typedef HashMap&lt;JSC::BreakpointID, BreakpointActions&gt; BreakpointIDToActionsMap;
+
+    virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String&amp; errorMsg) override final;
+    virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
+    virtual void handleBreakpointHit(const JSC::Breakpoint&amp;) override final;
+    virtual void handleExceptionInBreakpointCondition(JSC::ExecState*, JSC::JSValue exception) const override final;
+    virtual void handlePause(JSC::Debugger::ReasonForPause, JSC::JSGlobalObject*) override final;
+    virtual void notifyDoneProcessingDebuggerEvents() override final;
+
+    unsigned m_hitCount;
+    bool m_callingListeners;
+    BreakpointIDToActionsMap m_breakpointIDToActions;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+
+#endif // ScriptDebugServer_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgentcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,738 @@
</span><ins>+/*
+ * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 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:
+ *
+ * 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.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;InspectorDebuggerAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;ContentSearchUtilities.h&quot;
+#include &quot;InjectedScript.h&quot;
+#include &quot;InjectedScriptManager.h&quot;
+#include &quot;InspectorValues.h&quot;
+#include &quot;RegularExpression.h&quot;
+#include &quot;ScriptDebugServer.h&quot;
+#include &quot;ScriptObject.h&quot;
+#include &quot;ScriptValue.h&quot;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace Inspector {
+
+const char* InspectorDebuggerAgent::backtraceObjectGroup = &quot;backtrace&quot;;
+
+static String objectGroupForBreakpointAction(int identifier)
+{
+    DEFINE_STATIC_LOCAL(const AtomicString, objectGroup, (&quot;breakpoint-action-&quot;, AtomicString::ConstructFromLiteral));
+    return makeString(objectGroup, String::number(identifier));
+}
+
+InspectorDebuggerAgent::InspectorDebuggerAgent(InjectedScriptManager* injectedScriptManager)
+    : InspectorAgentBase(ASCIILiteral(&quot;Debugger&quot;))
+    , m_injectedScriptManager(injectedScriptManager)
+    , m_listener(nullptr)
+    , m_pausedScriptState(nullptr)
+    , m_continueToLocationBreakpointID(JSC::noBreakpointID)
+    , m_enabled(false)
+    , m_javaScriptPauseScheduled(false)
+    , m_nextProbeSampleId(1)
+    , m_nextBreakpointActionIdentifier(1)
+{
+    // FIXME: make breakReason optional so that there was no need to init it with &quot;other&quot;.
+    clearBreakDetails();
+}
+
+InspectorDebuggerAgent::~InspectorDebuggerAgent()
+{
+}
+
+void InspectorDebuggerAgent::didCreateFrontendAndBackend(InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
+{
+    m_frontendDispatcher = std::make_unique&lt;InspectorDebuggerFrontendDispatcher&gt;(frontendChannel);
+    m_backendDispatcher = InspectorDebuggerBackendDispatcher::create(backendDispatcher, this);
+}
+
+void InspectorDebuggerAgent::willDestroyFrontendAndBackend(InspectorDisconnectReason reason)
+{
+    m_frontendDispatcher = nullptr;
+    m_backendDispatcher.clear();
+
+    bool skipRecompile = reason == InspectorDisconnectReason::InspectedTargetDestroyed;
+    disable(skipRecompile);
+}
+
+void InspectorDebuggerAgent::enable()
+{
+    if (m_enabled)
+        return;
+
+    scriptDebugServer().setBreakpointsActivated(true);
+    startListeningScriptDebugServer();
+
+    if (m_listener)
+        m_listener-&gt;debuggerWasEnabled();
+
+    m_enabled = true;
+}
+
+void InspectorDebuggerAgent::disable(bool isBeingDestroyed)
+{
+    if (!m_enabled)
+        return;
+
+    m_javaScriptBreakpoints.clear();
+
+    stopListeningScriptDebugServer(isBeingDestroyed);
+    clearResolvedBreakpointState();
+
+    if (m_listener)
+        m_listener-&gt;debuggerWasDisabled();
+
+    m_enabled = false;
+}
+
+void InspectorDebuggerAgent::enable(ErrorString*)
+{
+    enable();
+}
+
+void InspectorDebuggerAgent::disable(ErrorString*)
+{
+    disable(false);
+}
+
+void InspectorDebuggerAgent::setBreakpointsActive(ErrorString*, bool active)
+{
+    if (active)
+        scriptDebugServer().activateBreakpoints();
+    else
+        scriptDebugServer().deactivateBreakpoints();
+}
+
+bool InspectorDebuggerAgent::isPaused()
+{
+    return scriptDebugServer().isPaused();
+}
+
+void InspectorDebuggerAgent::handleConsoleAssert()
+{
+    if (scriptDebugServer().pauseOnExceptionsState() != JSC::Debugger::DontPauseOnExceptions)
+        breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Assert, nullptr);
+}
+
+static PassRefPtr&lt;InspectorObject&gt; buildObjectForBreakpointCookie(const String&amp; url, int lineNumber, int columnNumber, const String&amp; condition, RefPtr&lt;InspectorArray&gt;&amp; actions, bool isRegex, bool autoContinue)
+{
+    RefPtr&lt;InspectorObject&gt; breakpointObject = InspectorObject::create();
+    breakpointObject-&gt;setString(ASCIILiteral(&quot;url&quot;), url);
+    breakpointObject-&gt;setNumber(ASCIILiteral(&quot;lineNumber&quot;), lineNumber);
+    breakpointObject-&gt;setNumber(ASCIILiteral(&quot;columnNumber&quot;), columnNumber);
+    breakpointObject-&gt;setString(ASCIILiteral(&quot;condition&quot;), condition);
+    breakpointObject-&gt;setBoolean(ASCIILiteral(&quot;isRegex&quot;), isRegex);
+    breakpointObject-&gt;setBoolean(ASCIILiteral(&quot;autoContinue&quot;), autoContinue);
+
+    if (actions)
+        breakpointObject-&gt;setArray(ASCIILiteral(&quot;actions&quot;), actions);
+
+    return breakpointObject;
+}
+
+static bool matches(const String&amp; url, const String&amp; pattern, bool isRegex)
+{
+    if (isRegex) {
+        JSC::Yarr::RegularExpression regex(pattern, TextCaseSensitive);
+        return regex.match(url) != -1;
+    }
+    return url == pattern;
+}
+
+static bool breakpointActionTypeForString(const String&amp; typeString, ScriptBreakpointActionType* output)
+{
+    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Log)) {
+        *output = ScriptBreakpointActionTypeLog;
+        return true;
+    }
+    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Evaluate)) {
+        *output = ScriptBreakpointActionTypeEvaluate;
+        return true;
+    }
+    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Sound)) {
+        *output = ScriptBreakpointActionTypeSound;
+        return true;
+    }
+    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Probe)) {
+        *output = ScriptBreakpointActionTypeProbe;
+        return true;
+    }
+
+    return false;
+}
+
+bool InspectorDebuggerAgent::breakpointActionsFromProtocol(ErrorString* errorString, RefPtr&lt;InspectorArray&gt;&amp; actions, Vector&lt;ScriptBreakpointAction&gt;* result)
+{
+    if (!actions)
+        return true;
+
+    unsigned actionsLength = actions-&gt;length();
+    if (!actionsLength)
+        return true;
+
+    result-&gt;reserveCapacity(actionsLength);
+    for (unsigned i = 0; i &lt; actionsLength; ++i) {
+        RefPtr&lt;InspectorValue&gt; value = actions-&gt;get(i);
+        RefPtr&lt;InspectorObject&gt; object;
+        if (!value-&gt;asObject(&amp;object)) {
+            *errorString = ASCIILiteral(&quot;BreakpointAction of incorrect type, expected object&quot;);
+            return false;
+        }
+
+        String typeString;
+        if (!object-&gt;getString(ASCIILiteral(&quot;type&quot;), &amp;typeString)) {
+            *errorString = ASCIILiteral(&quot;BreakpointAction had type missing&quot;);
+            return false;
+        }
+
+        ScriptBreakpointActionType type;
+        if (!breakpointActionTypeForString(typeString, &amp;type)) {
+            *errorString = ASCIILiteral(&quot;BreakpointAction had unknown type&quot;);
+            return false;
+        }
+
+        String data;
+        object-&gt;getString(ASCIILiteral(&quot;data&quot;), &amp;data);
+
+        result-&gt;append(ScriptBreakpointAction(type, m_nextBreakpointActionIdentifier++, data));
+    }
+
+    return true;
+}
+
+void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString* errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const RefPtr&lt;InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;&gt;&amp; locations, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers)
+{
+    locations = Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;::create();
+    if (!optionalURL == !optionalURLRegex) {
+        *errorString = ASCIILiteral(&quot;Either url or urlRegex must be specified.&quot;);
+        return;
+    }
+
+    String url = optionalURL ? *optionalURL : *optionalURLRegex;
+    int columnNumber = optionalColumnNumber ? *optionalColumnNumber : 0;
+    bool isRegex = optionalURLRegex;
+
+    String breakpointIdentifier = (isRegex ? &quot;/&quot; + url + &quot;/&quot; : url) + ':' + String::number(lineNumber) + ':' + String::number(columnNumber);
+    if (m_javaScriptBreakpoints.contains(breakpointIdentifier)) {
+        *errorString = ASCIILiteral(&quot;Breakpoint at specified location already exists.&quot;);
+        return;
+    }
+
+    String condition = emptyString();
+    bool autoContinue = false;
+    RefPtr&lt;InspectorArray&gt; actions;
+    if (options) {
+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), &amp;condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;autoContinue);
+        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
+    }
+
+    Vector&lt;ScriptBreakpointAction&gt; breakpointActions;
+    if (!breakpointActionsFromProtocol(errorString, actions, &amp;breakpointActions))
+        return;
+
+    breakpointActionIdentifiers = Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;::create();
+    for (ScriptBreakpointAction&amp; action : breakpointActions)
+        breakpointActionIdentifiers-&gt;addItem(action.identifier);
+
+    m_javaScriptBreakpoints.set(breakpointIdentifier, buildObjectForBreakpointCookie(url, lineNumber, columnNumber, condition, actions, isRegex, autoContinue));
+
+    ScriptBreakpoint breakpoint(lineNumber, columnNumber, condition, breakpointActions, autoContinue);
+    for (ScriptsMap::iterator it = m_scripts.begin(); it != m_scripts.end(); ++it) {
+        String scriptURL = !it-&gt;value.sourceURL.isEmpty() ? it-&gt;value.sourceURL : it-&gt;value.url;
+        if (!matches(scriptURL, url, isRegex))
+            continue;
+
+        RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = resolveBreakpoint(breakpointIdentifier, it-&gt;key, breakpoint);
+        if (location)
+            locations-&gt;addItem(location);
+    }
+    *outBreakpointIdentifier = breakpointIdentifier;
+}
+
+static bool parseLocation(ErrorString* errorString, InspectorObject* location, JSC::SourceID* sourceID, unsigned* lineNumber, unsigned* columnNumber)
+{
+    String scriptIDStr;
+    if (!location-&gt;getString(ASCIILiteral(&quot;scriptId&quot;), &amp;scriptIDStr) || !location-&gt;getNumber(ASCIILiteral(&quot;lineNumber&quot;), lineNumber)) {
+        *sourceID = JSC::noSourceID;
+        *errorString = ASCIILiteral(&quot;scriptId and lineNumber are required.&quot;);
+        return false;
+    }
+
+    *sourceID = scriptIDStr.toIntPtr();
+    *columnNumber = 0;
+    location-&gt;getNumber(ASCIILiteral(&quot;columnNumber&quot;), columnNumber);
+    return true;
+}
+
+void InspectorDebuggerAgent::setBreakpoint(ErrorString* errorString, const RefPtr&lt;InspectorObject&gt;&amp; location, const RefPtr&lt;InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt;&amp; actualLocation, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers)
+{
+    JSC::SourceID sourceID;
+    unsigned lineNumber;
+    unsigned columnNumber;
+    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
+        return;
+
+    String condition = emptyString();
+    bool autoContinue = false;
+    RefPtr&lt;InspectorArray&gt; actions;
+    if (options) {
+        (*options)-&gt;getString(ASCIILiteral(&quot;condition&quot;), &amp;condition);
+        (*options)-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;autoContinue);
+        actions = (*options)-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
+    }
+
+    Vector&lt;ScriptBreakpointAction&gt; breakpointActions;
+    if (!breakpointActionsFromProtocol(errorString, actions, &amp;breakpointActions))
+        return;
+
+    breakpointActionIdentifiers = Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;::create();
+    for (ScriptBreakpointAction&amp; action : breakpointActions)
+        breakpointActionIdentifiers-&gt;addItem(action.identifier);
+
+    String breakpointIdentifier = String::number(sourceID) + ':' + String::number(lineNumber) + ':' + String::number(columnNumber);
+    if (m_breakpointIdentifierToDebugServerBreakpointIDs.find(breakpointIdentifier) != m_breakpointIdentifierToDebugServerBreakpointIDs.end()) {
+        *errorString = ASCIILiteral(&quot;Breakpoint at specified location already exists.&quot;);
+        return;
+    }
+
+    ScriptBreakpoint breakpoint(lineNumber, columnNumber, condition, breakpointActions, autoContinue);
+    actualLocation = resolveBreakpoint(breakpointIdentifier, sourceID, breakpoint);
+    if (!actualLocation) {
+        *errorString = ASCIILiteral(&quot;Could not resolve breakpoint&quot;);
+        return;
+    }
+
+    *outBreakpointIdentifier = breakpointIdentifier;
+}
+
+void InspectorDebuggerAgent::removeBreakpoint(ErrorString*, const String&amp; breakpointIdentifier)
+{
+    m_javaScriptBreakpoints.remove(breakpointIdentifier);
+
+    Vector&lt;JSC::BreakpointID&gt; breakpointIDs = m_breakpointIdentifierToDebugServerBreakpointIDs.take(breakpointIdentifier);
+    for (auto breakpointID : breakpointIDs) {
+        const Vector&lt;ScriptBreakpointAction&gt;&amp; breakpointActions = scriptDebugServer().getActionsForBreakpoint(breakpointID);
+        for (auto&amp; action : breakpointActions)
+            m_injectedScriptManager-&gt;releaseObjectGroup(objectGroupForBreakpointAction(action.identifier));
+
+        scriptDebugServer().removeBreakpoint(breakpointID);
+    }
+}
+
+void InspectorDebuggerAgent::continueToLocation(ErrorString* errorString, const RefPtr&lt;InspectorObject&gt;&amp; location)
+{
+    if (m_continueToLocationBreakpointID != JSC::noBreakpointID) {
+        scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointID);
+        m_continueToLocationBreakpointID = JSC::noBreakpointID;
+    }
+
+    JSC::SourceID sourceID;
+    unsigned lineNumber;
+    unsigned columnNumber;
+    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
+        return;
+
+    ScriptBreakpoint breakpoint(lineNumber, columnNumber, &quot;&quot;, false);
+    m_continueToLocationBreakpointID = scriptDebugServer().setBreakpoint(sourceID, breakpoint, &amp;lineNumber, &amp;columnNumber);
+    resume(errorString);
+}
+
+PassRefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; InspectorDebuggerAgent::resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID sourceID, const ScriptBreakpoint&amp; breakpoint)
+{
+    ScriptsMap::iterator scriptIterator = m_scripts.find(sourceID);
+    if (scriptIterator == m_scripts.end())
+        return nullptr;
+    Script&amp; script = scriptIterator-&gt;value;
+    if (breakpoint.lineNumber &lt; script.startLine || script.endLine &lt; breakpoint.lineNumber)
+        return nullptr;
+
+    unsigned actualLineNumber;
+    unsigned actualColumnNumber;
+    JSC::BreakpointID debugServerBreakpointID = scriptDebugServer().setBreakpoint(sourceID, breakpoint, &amp;actualLineNumber, &amp;actualColumnNumber);
+    if (debugServerBreakpointID == JSC::noBreakpointID)
+        return nullptr;
+
+    BreakpointIdentifierToDebugServerBreakpointIDsMap::iterator debugServerBreakpointIDsIterator = m_breakpointIdentifierToDebugServerBreakpointIDs.find(breakpointIdentifier);
+    if (debugServerBreakpointIDsIterator == m_breakpointIdentifierToDebugServerBreakpointIDs.end())
+        debugServerBreakpointIDsIterator = m_breakpointIdentifierToDebugServerBreakpointIDs.set(breakpointIdentifier, Vector&lt;JSC::BreakpointID&gt;()).iterator;
+    debugServerBreakpointIDsIterator-&gt;value.append(debugServerBreakpointID);
+
+    RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = Inspector::TypeBuilder::Debugger::Location::create()
+        .setScriptId(String::number(sourceID))
+        .setLineNumber(actualLineNumber);
+    location-&gt;setColumnNumber(actualColumnNumber);
+    return location;
+}
+
+void InspectorDebuggerAgent::searchInContent(ErrorString* error, const String&amp; scriptIDStr, const String&amp; query, const bool* const optionalCaseSensitive, const bool* const optionalIsRegex, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::GenericTypes::SearchMatch&gt;&gt;&amp; results)
+{
+    bool isRegex = optionalIsRegex ? *optionalIsRegex : false;
+    bool caseSensitive = optionalCaseSensitive ? *optionalCaseSensitive : false;
+
+    JSC::SourceID sourceID = scriptIDStr.toIntPtr();
+    ScriptsMap::iterator it = m_scripts.find(sourceID);
+    if (it != m_scripts.end())
+        results = ContentSearchUtilities::searchInTextByLines(it-&gt;value.source, query, caseSensitive, isRegex);
+    else
+        *error = &quot;No script for id: &quot; + scriptIDStr;
+}
+
+void InspectorDebuggerAgent::getScriptSource(ErrorString* error, const String&amp; scriptIDStr, String* scriptSource)
+{
+    JSC::SourceID sourceID = scriptIDStr.toIntPtr();
+    ScriptsMap::iterator it = m_scripts.find(sourceID);
+    if (it != m_scripts.end())
+        *scriptSource = it-&gt;value.source;
+    else
+        *error = &quot;No script for id: &quot; + scriptIDStr;
+}
+
+void InspectorDebuggerAgent::getFunctionDetails(ErrorString* errorString, const String&amp; functionId, RefPtr&lt;Inspector::TypeBuilder::Debugger::FunctionDetails&gt;&amp; details)
+{
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(functionId);
+    if (injectedScript.hasNoValue()) {
+        *errorString = ASCIILiteral(&quot;Function object id is obsolete&quot;);
+        return;
+    }
+
+    injectedScript.getFunctionDetails(errorString, functionId, &amp;details);
+}
+
+void InspectorDebuggerAgent::schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data)
+{
+    if (m_javaScriptPauseScheduled)
+        return;
+
+    m_breakReason = breakReason;
+    m_breakAuxData = data;
+    scriptDebugServer().setPauseOnNextStatement(true);
+}
+
+void InspectorDebuggerAgent::cancelPauseOnNextStatement()
+{
+    if (m_javaScriptPauseScheduled)
+        return;
+
+    clearBreakDetails();
+    scriptDebugServer().setPauseOnNextStatement(false);
+}
+
+void InspectorDebuggerAgent::pause(ErrorString*)
+{
+    if (m_javaScriptPauseScheduled)
+        return;
+
+    clearBreakDetails();
+    scriptDebugServer().setPauseOnNextStatement(true);
+    m_javaScriptPauseScheduled = true;
+}
+
+void InspectorDebuggerAgent::resume(ErrorString* errorString)
+{
+    if (!assertPaused(errorString))
+        return;
+
+    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
+    scriptDebugServer().continueProgram();
+}
+
+void InspectorDebuggerAgent::stepOver(ErrorString* errorString)
+{
+    if (!assertPaused(errorString))
+        return;
+
+    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
+    scriptDebugServer().stepOverStatement();
+}
+
+void InspectorDebuggerAgent::stepInto(ErrorString* errorString)
+{
+    if (!assertPaused(errorString))
+        return;
+
+    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
+    scriptDebugServer().stepIntoStatement();
+    m_listener-&gt;stepInto();
+}
+
+void InspectorDebuggerAgent::stepOut(ErrorString* errorString)
+{
+    if (!assertPaused(errorString))
+        return;
+
+    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
+    scriptDebugServer().stepOutOfFunction();
+}
+
+void InspectorDebuggerAgent::setPauseOnExceptions(ErrorString* errorString, const String&amp; stringPauseState)
+{
+    JSC::Debugger::PauseOnExceptionsState pauseState;
+    if (stringPauseState == &quot;none&quot;)
+        pauseState = JSC::Debugger::DontPauseOnExceptions;
+    else if (stringPauseState == &quot;all&quot;)
+        pauseState = JSC::Debugger::PauseOnAllExceptions;
+    else if (stringPauseState == &quot;uncaught&quot;)
+        pauseState = JSC::Debugger::PauseOnUncaughtExceptions;
+    else {
+        *errorString = &quot;Unknown pause on exceptions mode: &quot; + stringPauseState;
+        return;
+    }
+
+    scriptDebugServer().setPauseOnExceptionsState(static_cast&lt;JSC::Debugger::PauseOnExceptionsState&gt;(pauseState));
+    if (scriptDebugServer().pauseOnExceptionsState() != pauseState)
+        *errorString = ASCIILiteral(&quot;Internal error. Could not change pause on exceptions state&quot;);
+}
+
+void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString* errorString, const String&amp; callFrameId, const String&amp; expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
+{
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(callFrameId);
+    if (injectedScript.hasNoValue()) {
+        *errorString = ASCIILiteral(&quot;Inspected frame has gone&quot;);
+        return;
+    }
+
+    JSC::Debugger::PauseOnExceptionsState previousPauseOnExceptionsState = scriptDebugServer().pauseOnExceptionsState();
+    if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteConsole : false) {
+        if (previousPauseOnExceptionsState != JSC::Debugger::DontPauseOnExceptions)
+            scriptDebugServer().setPauseOnExceptionsState(JSC::Debugger::DontPauseOnExceptions);
+        muteConsole();
+    }
+
+    injectedScript.evaluateOnCallFrame(errorString, m_currentCallStack, callFrameId, expression, objectGroup ? *objectGroup : &quot;&quot;, includeCommandLineAPI ? *includeCommandLineAPI : false, returnByValue ? *returnByValue : false, generatePreview ? *generatePreview : false, &amp;result, wasThrown);
+
+    if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteConsole : false) {
+        unmuteConsole();
+        if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExceptionsState)
+            scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExceptionsState);
+    }
+}
+
+void InspectorDebuggerAgent::setOverlayMessage(ErrorString*, const String*)
+{
+}
+
+void InspectorDebuggerAgent::scriptExecutionBlockedByCSP(const String&amp; directiveText)
+{
+    if (scriptDebugServer().pauseOnExceptionsState() != JSC::Debugger::DontPauseOnExceptions) {
+        RefPtr&lt;InspectorObject&gt; directive = InspectorObject::create();
+        directive-&gt;setString(ASCIILiteral(&quot;directiveText&quot;), directiveText);
+        breakProgram(InspectorDebuggerFrontendDispatcher::Reason::CSPViolation, directive.release());
+    }
+}
+
+PassRefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;&gt; InspectorDebuggerAgent::currentCallFrames()
+{
+    if (!m_pausedScriptState)
+        return Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;::create();
+
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(m_pausedScriptState);
+    if (injectedScript.hasNoValue()) {
+        ASSERT_NOT_REACHED();
+        return Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;::create();
+    }
+
+    return injectedScript.wrapCallFrames(m_currentCallStack);
+}
+
+String InspectorDebuggerAgent::sourceMapURLForScript(const Script&amp; script)
+{
+    return ContentSearchUtilities::findScriptSourceMapURL(script.source);
+}
+
+void InspectorDebuggerAgent::didParseSource(JSC::SourceID sourceID, const Script&amp; inScript)
+{
+    Script script = inScript;
+    // FIXME: Why does -[JSContext evaluateScript] have a -1 startLine?
+    if (script.startLine &lt;= 0 &amp;&amp; !script.startColumn)
+        script.sourceURL = ContentSearchUtilities::findScriptSourceURL(script.source);
+    script.sourceMappingURL = sourceMapURLForScript(script);
+
+    bool hasSourceURL = !script.sourceURL.isEmpty();
+    String scriptURL = hasSourceURL ? script.sourceURL : script.url;
+    bool* hasSourceURLParam = hasSourceURL ? &amp;hasSourceURL : nullptr;
+    String* sourceMapURLParam = script.sourceMappingURL.isNull() ? nullptr : &amp;script.sourceMappingURL;
+    const bool* isContentScript = script.isContentScript ? &amp;script.isContentScript : nullptr;
+    String scriptIDStr = String::number(sourceID);
+    m_frontendDispatcher-&gt;scriptParsed(scriptIDStr, scriptURL, script.startLine, script.startColumn, script.endLine, script.endColumn, isContentScript, sourceMapURLParam, hasSourceURLParam);
+
+    m_scripts.set(sourceID, script);
+
+    if (scriptURL.isEmpty())
+        return;
+
+    for (auto it = m_javaScriptBreakpoints.begin(), end = m_javaScriptBreakpoints.end(); it != end; ++it) {
+        RefPtr&lt;InspectorObject&gt; breakpointObject = it-&gt;value-&gt;asObject();
+        bool isRegex;
+        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;isRegex&quot;), &amp;isRegex);
+        String url;
+        breakpointObject-&gt;getString(ASCIILiteral(&quot;url&quot;), &amp;url);
+        if (!matches(scriptURL, url, isRegex))
+            continue;
+        ScriptBreakpoint breakpoint;
+        breakpointObject-&gt;getNumber(ASCIILiteral(&quot;lineNumber&quot;), &amp;breakpoint.lineNumber);
+        breakpointObject-&gt;getNumber(ASCIILiteral(&quot;columnNumber&quot;), &amp;breakpoint.columnNumber);
+        breakpointObject-&gt;getString(ASCIILiteral(&quot;condition&quot;), &amp;breakpoint.condition);
+        breakpointObject-&gt;getBoolean(ASCIILiteral(&quot;autoContinue&quot;), &amp;breakpoint.autoContinue);
+        ErrorString errorString;
+        RefPtr&lt;InspectorArray&gt; actions = breakpointObject-&gt;getArray(ASCIILiteral(&quot;actions&quot;));
+        if (!breakpointActionsFromProtocol(&amp;errorString, actions, &amp;breakpoint.actions)) {
+            ASSERT_NOT_REACHED();
+            continue;
+        }
+
+        RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = resolveBreakpoint(it-&gt;key, sourceID, breakpoint);
+        if (location)
+            m_frontendDispatcher-&gt;breakpointResolved(it-&gt;key, location);
+    }
+}
+
+void InspectorDebuggerAgent::failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage)
+{
+    m_frontendDispatcher-&gt;scriptFailedToParse(url, data, firstLine, errorLine, errorMessage);
+}
+
+void InspectorDebuggerAgent::didPause(JSC::ExecState* scriptState, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception)
+{
+    ASSERT(scriptState &amp;&amp; !m_pausedScriptState);
+    m_pausedScriptState = scriptState;
+    m_currentCallStack = callFrames;
+
+    if (!exception.hasNoValue()) {
+        InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(scriptState);
+        if (!injectedScript.hasNoValue()) {
+            m_breakReason = InspectorDebuggerFrontendDispatcher::Reason::Exception;
+            m_breakAuxData = injectedScript.wrapObject(exception, InspectorDebuggerAgent::backtraceObjectGroup)-&gt;openAccessors();
+            // m_breakAuxData might be null after this.
+        }
+    }
+
+    m_frontendDispatcher-&gt;paused(currentCallFrames(), m_breakReason, m_breakAuxData);
+    m_javaScriptPauseScheduled = false;
+
+    if (m_continueToLocationBreakpointID != JSC::noBreakpointID) {
+        scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointID);
+        m_continueToLocationBreakpointID = JSC::noBreakpointID;
+    }
+
+    if (m_listener)
+        m_listener-&gt;didPause();
+}
+
+void InspectorDebuggerAgent::didSampleProbe(JSC::ExecState* scriptState, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; sample)
+{
+    int sampleId = m_nextProbeSampleId++;
+
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(scriptState);
+    RefPtr&lt;TypeBuilder::Runtime::RemoteObject&gt; payload = injectedScript.wrapObject(sample, objectGroupForBreakpointAction(probeIdentifier));
+    RefPtr&lt;TypeBuilder::Debugger::ProbeSample&gt; result = TypeBuilder::Debugger::ProbeSample::create()
+        .setProbeId(probeIdentifier)
+        .setSampleId(sampleId)
+        .setBatchId(hitCount)
+        .setTimestamp(monotonicallyIncreasingTime())
+        .setPayload(payload.release());
+
+    m_frontendDispatcher-&gt;didSampleProbe(result.release());
+}
+
+void InspectorDebuggerAgent::breakpointActionSound()
+{
+    // FIXME: We should send a message to the frontend to make the frontend beep.
+}
+
+void InspectorDebuggerAgent::didContinue()
+{
+    m_pausedScriptState = nullptr;
+    m_currentCallStack = Deprecated::ScriptValue();
+    clearBreakDetails();
+
+    m_frontendDispatcher-&gt;resumed();
+}
+
+void InspectorDebuggerAgent::breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data)
+{
+    m_breakReason = breakReason;
+    m_breakAuxData = data;
+    scriptDebugServer().breakProgram();
+}
+
+void InspectorDebuggerAgent::clearResolvedBreakpointState()
+{
+    ErrorString dummyError;
+    Vector&lt;String&gt; breakpointIdentifiers;
+    copyKeysToVector(m_breakpointIdentifierToDebugServerBreakpointIDs, breakpointIdentifiers);
+    for (const String&amp; identifier : breakpointIdentifiers)
+        removeBreakpoint(&amp;dummyError, identifier);
+
+    scriptDebugServer().continueProgram();
+
+    m_pausedScriptState = nullptr;
+    m_currentCallStack = Deprecated::ScriptValue();
+    m_scripts.clear();
+    m_breakpointIdentifierToDebugServerBreakpointIDs.clear();
+    m_continueToLocationBreakpointID = JSC::noBreakpointID;
+    clearBreakDetails();
+    m_javaScriptPauseScheduled = false;
+    setOverlayMessage(&amp;dummyError, nullptr);
+}
+
+bool InspectorDebuggerAgent::assertPaused(ErrorString* errorString)
+{
+    if (!m_pausedScriptState) {
+        *errorString = ASCIILiteral(&quot;Can only perform operation while paused.&quot;);
+        return false;
+    }
+
+    return true;
+}
+
+void InspectorDebuggerAgent::clearBreakDetails()
+{
+    m_breakReason = InspectorDebuggerFrontendDispatcher::Reason::Other;
+    m_breakAuxData = nullptr;
+}
+
+void InspectorDebuggerAgent::didClearGlobalObject()
+{
+    if (m_frontendDispatcher)
+        m_frontendDispatcher-&gt;globalObjectCleared();
+
+    clearResolvedBreakpointState();
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorDebuggerAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,175 @@
</span><ins>+/*
+ * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2011 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:
+ *
+ * 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.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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 InspectorDebuggerAgent_h
+#define InspectorDebuggerAgent_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;InspectorJSBackendDispatchers.h&quot;
+#include &quot;InspectorJSFrontendDispatchers.h&quot;
+#include &quot;bindings/ScriptValue.h&quot;
+#include &quot;debugger/Debugger.h&quot;
+#include &quot;inspector/InspectorAgentBase.h&quot;
+#include &quot;inspector/ScriptBreakpoint.h&quot;
+#include &quot;inspector/ScriptDebugListener.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/Noncopyable.h&gt;
+#include &lt;wtf/PassOwnPtr.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/Vector.h&gt;
+#include &lt;wtf/text/StringHash.h&gt;
+
+namespace Inspector {
+
+class InjectedScript;
+class InjectedScriptManager;
+class InspectorArray;
+class InspectorObject;
+class InspectorValue;
+class ScriptDebugServer;
+typedef String ErrorString;
+
+class JS_EXPORT_PRIVATE InspectorDebuggerAgent : public InspectorAgentBase, public ScriptDebugListener, public InspectorDebuggerBackendDispatcherHandler {
+    WTF_MAKE_NONCOPYABLE(InspectorDebuggerAgent);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    static const char* backtraceObjectGroup;
+
+    virtual ~InspectorDebuggerAgent();
+
+    virtual void didCreateFrontendAndBackend(InspectorFrontendChannel*, InspectorBackendDispatcher*) override;
+    virtual void willDestroyFrontendAndBackend(InspectorDisconnectReason) override;
+
+    virtual void enable(ErrorString*) override;
+    virtual void disable(ErrorString*) override;
+    virtual void setBreakpointsActive(ErrorString*, bool active) override;
+    virtual void setBreakpointByUrl(ErrorString*, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId*, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;&gt;&amp; locations, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers) override;
+    virtual void setBreakpoint(ErrorString*, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; location, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId*, RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt;&amp; actualLocation, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers) override;
+    virtual void removeBreakpoint(ErrorString*, const String&amp; breakpointIdentifier) override;
+    virtual void continueToLocation(ErrorString*, const RefPtr&lt;InspectorObject&gt;&amp; location) override;
+    virtual void searchInContent(ErrorString*, const String&amp; scriptID, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::GenericTypes::SearchMatch&gt;&gt;&amp;) override;
+    virtual void getScriptSource(ErrorString*, const String&amp; scriptID, String* scriptSource) override;
+    virtual void getFunctionDetails(ErrorString*, const String&amp; functionId, RefPtr&lt;Inspector::TypeBuilder::Debugger::FunctionDetails&gt;&amp;) override;
+    virtual void pause(ErrorString*) override;
+    virtual void resume(ErrorString*) override;
+    virtual void stepOver(ErrorString*) override;
+    virtual void stepInto(ErrorString*) override;
+    virtual void stepOut(ErrorString*) override;
+    virtual void setPauseOnExceptions(ErrorString*, const String&amp; pauseState) override;
+    virtual void evaluateOnCallFrame(ErrorString*, const String&amp; callFrameId, const String&amp; expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override;
+    virtual void setOverlayMessage(ErrorString*, const String*) override;
+
+    bool isPaused();
+    
+    void handleConsoleAssert();
+
+    void schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data);
+    void cancelPauseOnNextStatement();
+    void breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data);
+    void scriptExecutionBlockedByCSP(const String&amp; directiveText);
+
+    class Listener {
+    public:
+        virtual ~Listener() { }
+        virtual void debuggerWasEnabled() = 0;
+        virtual void debuggerWasDisabled() = 0;
+        virtual void stepInto() = 0;
+        virtual void didPause() = 0;
+    };
+    void setListener(Listener* listener) { m_listener = listener; }
+
+    virtual ScriptDebugServer&amp; scriptDebugServer() = 0;
+
+protected:
+    InspectorDebuggerAgent(InjectedScriptManager*);
+
+    InjectedScriptManager* injectedScriptManager() const { return m_injectedScriptManager; }
+    virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0;
+
+    virtual void startListeningScriptDebugServer() = 0;
+    virtual void stopListeningScriptDebugServer(bool skipRecompile) = 0;
+    virtual void muteConsole() = 0;
+    virtual void unmuteConsole() = 0;
+
+    virtual void enable();
+    virtual void disable(bool skipRecompile);
+    virtual void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception) override;
+    virtual void didContinue() override;
+
+    virtual String sourceMapURLForScript(const Script&amp;);
+
+    void didClearGlobalObject();
+
+private:
+    PassRefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;&gt; currentCallFrames();
+
+    virtual void didParseSource(JSC::SourceID, const Script&amp;) override final;
+    virtual void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) override final;
+    virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; sample) override final;
+
+    virtual void breakpointActionSound() override;
+
+    PassRefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const ScriptBreakpoint&amp;);
+    bool assertPaused(ErrorString*);
+    void clearResolvedBreakpointState();
+    void clearBreakDetails();
+
+    bool breakpointActionsFromProtocol(ErrorString*, RefPtr&lt;InspectorArray&gt;&amp; actions, Vector&lt;ScriptBreakpointAction&gt;* result);
+
+    typedef HashMap&lt;JSC::SourceID, Script&gt; ScriptsMap;
+    typedef HashMap&lt;String, Vector&lt;JSC::BreakpointID&gt;&gt; BreakpointIdentifierToDebugServerBreakpointIDsMap;
+    typedef HashMap&lt;String, RefPtr&lt;InspectorObject&gt;&gt; BreakpointIdentifierToBreakpointMap;
+
+    InjectedScriptManager* m_injectedScriptManager;
+    std::unique_ptr&lt;InspectorDebuggerFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;InspectorDebuggerBackendDispatcher&gt; m_backendDispatcher;
+    Listener* m_listener;
+    JSC::ExecState* m_pausedScriptState;
+    Deprecated::ScriptValue m_currentCallStack;
+    ScriptsMap m_scripts;
+    BreakpointIdentifierToDebugServerBreakpointIDsMap m_breakpointIdentifierToDebugServerBreakpointIDs;
+    BreakpointIdentifierToBreakpointMap m_javaScriptBreakpoints;
+    JSC::BreakpointID m_continueToLocationBreakpointID;
+    InspectorDebuggerFrontendDispatcher::Reason::Enum m_breakReason;
+    RefPtr&lt;InspectorObject&gt; m_breakAuxData;
+    bool m_enabled;
+    bool m_javaScriptPauseScheduled;
+    int m_nextProbeSampleId;
+    int m_nextBreakpointActionIdentifier;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(InspectorDebuggerAgent_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgentcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,215 @@
</span><ins>+/*
+ * Copyright (C) 2013, 2014 Apple Inc. All rights reserved.
+ * Copyright (C) 2011 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
+ * &quot;AS IS&quot; 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 &quot;config.h&quot;
+#include &quot;InspectorRuntimeAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;Completion.h&quot;
+#include &quot;InjectedScript.h&quot;
+#include &quot;InjectedScriptManager.h&quot;
+#include &quot;InspectorValues.h&quot;
+#include &quot;JSLock.h&quot;
+#include &quot;ParserError.h&quot;
+#include &quot;SourceCode.h&quot;
+#include &lt;wtf/PassRefPtr.h&gt;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+#include &quot;ScriptDebugServer.h&quot;
+#endif
+
+using namespace JSC;
+
+namespace Inspector {
+
+static bool asBool(const bool* const b)
+{
+    return b ? *b : false;
+}
+
+InspectorRuntimeAgent::InspectorRuntimeAgent(InjectedScriptManager* injectedScriptManager)
+    : InspectorAgentBase(ASCIILiteral(&quot;Runtime&quot;))
+    , m_injectedScriptManager(injectedScriptManager)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    , m_scriptDebugServer(nullptr)
+#endif
+    , m_enabled(false)
+{
+}
+
+InspectorRuntimeAgent::~InspectorRuntimeAgent()
+{
+}
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+static ScriptDebugServer::PauseOnExceptionsState setPauseOnExceptionsState(ScriptDebugServer* scriptDebugServer, ScriptDebugServer::PauseOnExceptionsState newState)
+{
+    ASSERT(scriptDebugServer);
+    ScriptDebugServer::PauseOnExceptionsState presentState = scriptDebugServer-&gt;pauseOnExceptionsState();
+    if (presentState != newState)
+        scriptDebugServer-&gt;setPauseOnExceptionsState(newState);
+    return presentState;
+}
+#endif
+
+static PassRefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
+{
+    RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt; result = Inspector::TypeBuilder::Runtime::ErrorRange::create()
+        .setStartOffset(tokenLocation.startOffset)
+        .setEndOffset(tokenLocation.endOffset);
+    return result.release();
+}
+
+void InspectorRuntimeAgent::parse(ErrorString*, const String&amp; expression, Inspector::TypeBuilder::Runtime::SyntaxErrorType::Enum* result, Inspector::TypeBuilder::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt;&amp; range)
+{
+    VM* vm = globalVM();
+    JSLockHolder lock(vm);
+
+    ParserError error;
+    checkSyntax(*vm, JSC::makeSource(expression), error);
+
+    switch (error.m_syntaxErrorType) {
+    case ParserError::SyntaxErrorNone:
+        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::None;
+        break;
+    case ParserError::SyntaxErrorIrrecoverable:
+        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::Irrecoverable;
+        break;
+    case ParserError::SyntaxErrorUnterminatedLiteral:
+        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::UnterminatedLiteral;
+        break;
+    case ParserError::SyntaxErrorRecoverable:
+        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::Recoverable;
+        break;
+    }
+
+    if (error.m_syntaxErrorType != ParserError::SyntaxErrorNone) {
+        *message = error.m_message;
+        range = buildErrorRangeObject(error.m_token.m_location);
+    }
+}
+
+void InspectorRuntimeAgent::evaluate(ErrorString* errorString, const String&amp; expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
+{
+    InjectedScript injectedScript = injectedScriptForEval(errorString, executionContextId);
+    if (injectedScript.hasNoValue())
+        return;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = ScriptDebugServer::DontPauseOnExceptions;
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
+        previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
+#endif
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
+        muteConsole();
+
+    injectedScript.evaluate(errorString, expression, objectGroup ? *objectGroup : &quot;&quot;, asBool(includeCommandLineAPI), asBool(returnByValue), asBool(generatePreview), &amp;result, wasThrown);
+
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole)) {
+        unmuteConsole();
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+        setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
+#endif
+    }
+}
+
+void InspectorRuntimeAgent::callFunctionOn(ErrorString* errorString, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;InspectorArray&gt;* const optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
+{
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
+    if (injectedScript.hasNoValue()) {
+        *errorString = ASCIILiteral(&quot;Inspected frame has gone&quot;);
+        return;
+    }
+
+    String arguments;
+    if (optionalArguments)
+        arguments = (*optionalArguments)-&gt;toJSONString();
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = ScriptDebugServer::DontPauseOnExceptions;
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
+        previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
+#endif
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
+        muteConsole();
+
+    injectedScript.callFunctionOn(errorString, objectId, expression, arguments, asBool(returnByValue), asBool(generatePreview), &amp;result, wasThrown);
+
+    if (asBool(doNotPauseOnExceptionsAndMuteConsole)) {
+        unmuteConsole();
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+        setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
+#endif
+    }
+}
+
+void InspectorRuntimeAgent::getProperties(ErrorString* errorString, const String&amp; objectId, const bool* const ownProperties, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::PropertyDescriptor&gt;&gt;&amp; result, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::InternalPropertyDescriptor&gt;&gt;&amp; internalProperties)
+{
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
+    if (injectedScript.hasNoValue()) {
+        *errorString = ASCIILiteral(&quot;Inspected frame has gone&quot;);
+        return;
+    }
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
+#endif
+    muteConsole();
+
+    injectedScript.getProperties(errorString, objectId, ownProperties ? *ownProperties : false, &amp;result);
+    injectedScript.getInternalProperties(errorString, objectId, &amp;internalProperties);
+
+    unmuteConsole();
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
+#endif
+}
+
+void InspectorRuntimeAgent::releaseObject(ErrorString*, const String&amp; objectId)
+{
+    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
+    if (!injectedScript.hasNoValue())
+        injectedScript.releaseObject(objectId);
+}
+
+void InspectorRuntimeAgent::releaseObjectGroup(ErrorString*, const String&amp; objectGroup)
+{
+    m_injectedScriptManager-&gt;releaseObjectGroup(objectGroup);
+}
+
+void InspectorRuntimeAgent::run(ErrorString*)
+{
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsInspectorRuntimeAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,98 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ * Copyright (C) 2011 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
+ * &quot;AS IS&quot; 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 InspectorRuntimeAgent_h
+#define InspectorRuntimeAgent_h
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InspectorJSBackendDispatchers.h&quot;
+#include &quot;InspectorJSFrontendDispatchers.h&quot;
+#include &quot;inspector/InspectorAgentBase.h&quot;
+#include &lt;wtf/Forward.h&gt;
+#include &lt;wtf/Noncopyable.h&gt;
+
+namespace JSC {
+class VM;
+}
+
+namespace Inspector {
+
+class InjectedScript;
+class InjectedScriptManager;
+class InspectorArray;
+class ScriptDebugServer;
+typedef String ErrorString;
+
+class JS_EXPORT_PRIVATE InspectorRuntimeAgent : public InspectorAgentBase, public InspectorRuntimeBackendDispatcherHandler {
+    WTF_MAKE_NONCOPYABLE(InspectorRuntimeAgent);
+public:
+    virtual ~InspectorRuntimeAgent();
+
+    virtual void enable(ErrorString*) override { m_enabled = true; }
+    virtual void disable(ErrorString*) override { m_enabled = false; }
+    virtual void parse(ErrorString*, const String&amp; expression, Inspector::TypeBuilder::Runtime::SyntaxErrorType::Enum* result, Inspector::TypeBuilder::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt;&amp;) override final;
+    virtual void evaluate(ErrorString*, const String&amp; expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override final;
+    virtual void callFunctionOn(ErrorString*, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;Inspector::InspectorArray&gt;* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override final;
+    virtual void releaseObject(ErrorString*, const ErrorString&amp; objectId) override final;
+    virtual void getProperties(ErrorString*, const String&amp; objectId, const bool* ownProperties, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::PropertyDescriptor&gt;&gt;&amp; result, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::InternalPropertyDescriptor&gt;&gt;&amp; internalProperties) override final;
+    virtual void releaseObjectGroup(ErrorString*, const String&amp; objectGroup) override final;
+    virtual void run(ErrorString*) override;
+
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    void setScriptDebugServer(ScriptDebugServer* scriptDebugServer) { m_scriptDebugServer = scriptDebugServer; }
+#endif
+
+    bool enabled() const { return m_enabled; }
+
+protected:
+    InspectorRuntimeAgent(InjectedScriptManager*);
+
+    InjectedScriptManager* injectedScriptManager() { return m_injectedScriptManager; }
+
+    virtual JSC::VM* globalVM() = 0;
+    virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0;
+
+    virtual void muteConsole() = 0;
+    virtual void unmuteConsole() = 0;
+
+private:
+    InjectedScriptManager* m_injectedScriptManager;
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+    ScriptDebugServer* m_scriptDebugServer;
+#endif
+    bool m_enabled;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+#endif // InspectorRuntimeAgent_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgentcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,67 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSGlobalObjectDebuggerAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InjectedScriptManager.h&quot;
+#include &quot;JSGlobalObject.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+JSGlobalObjectDebuggerAgent::JSGlobalObjectDebuggerAgent(InjectedScriptManager* injectedScriptManager, JSC::JSGlobalObject&amp; globalObject)
+    : InspectorDebuggerAgent(injectedScriptManager)
+    , m_scriptDebugServer(globalObject)
+{
+}
+
+void JSGlobalObjectDebuggerAgent::startListeningScriptDebugServer()
+{
+    scriptDebugServer().addListener(this);
+}
+
+void JSGlobalObjectDebuggerAgent::stopListeningScriptDebugServer(bool isBeingDestroyed)
+{
+    scriptDebugServer().removeListener(this, isBeingDestroyed);
+}
+
+InjectedScript JSGlobalObjectDebuggerAgent::injectedScriptForEval(ErrorString* error, const int* executionContextId)
+{
+    if (executionContextId) {
+        *error = ASCIILiteral(&quot;Execution context id is not supported for JSContext inspection as there is only one execution context.&quot;);
+        return InjectedScript();
+    }
+
+    ExecState* exec = m_scriptDebugServer.globalObject().globalExec();
+    return injectedScriptManager()-&gt;injectedScriptFor(exec);
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectDebuggerAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,64 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 JSGlobalObjectDebuggerAgent_h
+#define JSGlobalObjectDebuggerAgent_h
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InspectorDebuggerAgent.h&quot;
+#include &quot;JSGlobalObjectScriptDebugServer.h&quot;
+
+namespace Inspector {
+
+class JSGlobalObjectDebuggerAgent final : public InspectorDebuggerAgent {
+    WTF_MAKE_NONCOPYABLE(JSGlobalObjectDebuggerAgent);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    JSGlobalObjectDebuggerAgent(InjectedScriptManager*, JSC::JSGlobalObject&amp;);
+    virtual ~JSGlobalObjectDebuggerAgent() { }
+
+    virtual JSGlobalObjectScriptDebugServer&amp; scriptDebugServer() override { return m_scriptDebugServer; }
+
+    virtual void startListeningScriptDebugServer() override;
+    virtual void stopListeningScriptDebugServer(bool isBeingDestroyed) override;
+    virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
+
+    // FIXME: This needs a ConsoleAgent to send a log to.
+    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) override final { }
+
+    // FIXME: JavaScript inspector does not yet have a console object to mute.
+    virtual void muteConsole() override { }
+    virtual void unmuteConsole() override { }
+
+private:
+    JSGlobalObjectScriptDebugServer m_scriptDebugServer;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSGlobalObjectDebuggerAgent_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectRuntimeAgentcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.cpp                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;JSGlobalObjectRuntimeAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InjectedScript.h&quot;
+#include &quot;InjectedScriptManager.h&quot;
+#include &quot;JSGlobalObject.h&quot;
+
+using namespace JSC;
+
+namespace Inspector {
+
+JSGlobalObjectRuntimeAgent::JSGlobalObjectRuntimeAgent(InjectedScriptManager* injectedScriptManager, JSGlobalObject&amp; globalObject)
+    : InspectorRuntimeAgent(injectedScriptManager)
+    , m_globalObject(globalObject)
+{
+}
+
+void JSGlobalObjectRuntimeAgent::didCreateFrontendAndBackend(InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
+{
+    m_frontendDispatcher = std::make_unique&lt;InspectorRuntimeFrontendDispatcher&gt;(frontendChannel);
+    m_backendDispatcher = InspectorRuntimeBackendDispatcher::create(backendDispatcher, this);
+}
+
+void JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend(InspectorDisconnectReason)
+{
+    m_frontendDispatcher = nullptr;
+    m_backendDispatcher.clear();
+}
+
+VM* JSGlobalObjectRuntimeAgent::globalVM()
+{
+    return &amp;m_globalObject.vm();
+}
+
+InjectedScript JSGlobalObjectRuntimeAgent::injectedScriptForEval(ErrorString* errorString, const int* executionContextId)
+{
+    ASSERT_UNUSED(executionContextId, !executionContextId);
+
+    JSC::ExecState* scriptState = m_globalObject.globalExec();
+    InjectedScript injectedScript = injectedScriptManager()-&gt;injectedScriptFor(scriptState);
+    if (injectedScript.hasNoValue())
+        *errorString = ASCIILiteral(&quot;Internal error: main world execution context not found.&quot;);
+
+    return injectedScript;
+}
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinspectoragentsJSGlobalObjectRuntimeAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.h                                (rev 0)
+++ branches/jsCStack/Source/JavaScriptCore/inspector/agents/JSGlobalObjectRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,64 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 JSGlobalObjectRuntimeAgent_h
+#define JSGlobalObjectRuntimeAgent_h
+
+#if ENABLE(INSPECTOR)
+
+#include &quot;InspectorRuntimeAgent.h&quot;
+#include &lt;wtf/PassOwnPtr.h&gt;
+
+namespace JSC {
+class JSGlobalObject;
+}
+
+namespace Inspector {
+
+class JSGlobalObjectRuntimeAgent final : public InspectorRuntimeAgent {
+public:
+    JSGlobalObjectRuntimeAgent(InjectedScriptManager*, JSC::JSGlobalObject&amp;);
+
+    virtual void didCreateFrontendAndBackend(InspectorFrontendChannel*, InspectorBackendDispatcher*) override;
+    virtual void willDestroyFrontendAndBackend(InspectorDisconnectReason) override;
+
+    virtual JSC::VM* globalVM() override;
+    virtual InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
+
+    // FIXME: JavaScript inspector does not yet have a console object to mute.
+    virtual void muteConsole() override { }
+    virtual void unmuteConsole() override { }
+
+private:
+    std::unique_ptr&lt;InspectorRuntimeFrontendDispatcher&gt; m_frontendDispatcher;
+    RefPtr&lt;InspectorRuntimeBackendDispatcher&gt; m_backendDispatcher;
+    JSC::JSGlobalObject&amp; m_globalObject;
+};
+
+} // namespace Inspector
+
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(JSGlobalObjectRuntimeAgent_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreinterpreterCallFrameh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/interpreter/CallFrame.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/interpreter/CallFrame.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/interpreter/CallFrame.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -84,26 +84,26 @@
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">         void dumpCaller();
</span><span class="cx"> #endif
</span><del>-        static const HashTable&amp; arrayConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().arrayConstructorTable; }
-        static const HashTable&amp; arrayPrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().arrayPrototypeTable; }
-        static const HashTable&amp; booleanPrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().booleanPrototypeTable; }
-        static const HashTable&amp; dataViewTable(CallFrame* callFrame) { return *callFrame-&gt;vm().dataViewTable; }
-        static const HashTable&amp; dateTable(CallFrame* callFrame) { return *callFrame-&gt;vm().dateTable; }
-        static const HashTable&amp; dateConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().dateConstructorTable; }
-        static const HashTable&amp; errorPrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().errorPrototypeTable; }
-        static const HashTable&amp; globalObjectTable(CallFrame* callFrame) { return *callFrame-&gt;vm().globalObjectTable; }
-        static const HashTable&amp; jsonTable(CallFrame* callFrame) { return *callFrame-&gt;vm().jsonTable; }
-        static const HashTable&amp; numberConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().numberConstructorTable; }
-        static const HashTable&amp; numberPrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().numberPrototypeTable; }
-        static const HashTable&amp; objectConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().objectConstructorTable; }
-        static const HashTable&amp; privateNamePrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().privateNamePrototypeTable; }
-        static const HashTable&amp; regExpTable(CallFrame* callFrame) { return *callFrame-&gt;vm().regExpTable; }
-        static const HashTable&amp; regExpConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().regExpConstructorTable; }
-        static const HashTable&amp; regExpPrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().regExpPrototypeTable; }
-        static const HashTable&amp; stringConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().stringConstructorTable; }
</del><ins>+        static const HashTable&amp; arrayConstructorTable(VM&amp; vm) { return *vm.arrayConstructorTable; }
+        static const HashTable&amp; arrayPrototypeTable(VM&amp; vm) { return *vm.arrayPrototypeTable; }
+        static const HashTable&amp; booleanPrototypeTable(VM&amp; vm) { return *vm.booleanPrototypeTable; }
+        static const HashTable&amp; dataViewTable(VM&amp; vm) { return *vm.dataViewTable; }
+        static const HashTable&amp; dateTable(VM&amp; vm) { return *vm.dateTable; }
+        static const HashTable&amp; dateConstructorTable(VM&amp; vm) { return *vm.dateConstructorTable; }
+        static const HashTable&amp; errorPrototypeTable(VM&amp; vm) { return *vm.errorPrototypeTable; }
+        static const HashTable&amp; globalObjectTable(VM&amp; vm) { return *vm.globalObjectTable; }
+        static const HashTable&amp; jsonTable(VM&amp; vm) { return *vm.jsonTable; }
+        static const HashTable&amp; numberConstructorTable(VM&amp; vm) { return *vm.numberConstructorTable; }
+        static const HashTable&amp; numberPrototypeTable(VM&amp; vm) { return *vm.numberPrototypeTable; }
+        static const HashTable&amp; objectConstructorTable(VM&amp; vm) { return *vm.objectConstructorTable; }
+        static const HashTable&amp; privateNamePrototypeTable(VM&amp; vm) { return *vm.privateNamePrototypeTable; }
+        static const HashTable&amp; regExpTable(VM&amp; vm) { return *vm.regExpTable; }
+        static const HashTable&amp; regExpConstructorTable(VM&amp; vm) { return *vm.regExpConstructorTable; }
+        static const HashTable&amp; regExpPrototypeTable(VM&amp; vm) { return *vm.regExpPrototypeTable; }
+        static const HashTable&amp; stringConstructorTable(VM&amp; vm) { return *vm.stringConstructorTable; }
</ins><span class="cx"> #if ENABLE(PROMISES)
</span><del>-        static const HashTable&amp; promisePrototypeTable(CallFrame* callFrame) { return *callFrame-&gt;vm().promisePrototypeTable; }
-        static const HashTable&amp; promiseConstructorTable(CallFrame* callFrame) { return *callFrame-&gt;vm().promiseConstructorTable; }
</del><ins>+        static const HashTable&amp; promisePrototypeTable(VM&amp; vm) { return *vm.promisePrototypeTable; }
+        static const HashTable&amp; promiseConstructorTable(VM&amp; vm) { return *vm.promiseConstructorTable; }
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         static CallFrame* create(Register* callFrameBase) { return static_cast&lt;CallFrame*&gt;(callFrameBase); }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorejitJITOpcodescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -872,14 +872,18 @@
</span><span class="cx"> 
</span><span class="cx"> void JIT::emit_op_profile_will_call(Instruction* currentInstruction)
</span><span class="cx"> {
</span><ins>+    Jump profilerDone = branchTestPtr(Zero, AbsoluteAddress(m_vm-&gt;enabledProfilerAddress()));
</ins><span class="cx">     emitGetVirtualRegister(currentInstruction[1].u.operand, regT0);
</span><span class="cx">     callOperation(operationProfileWillCall, regT0);
</span><ins>+    profilerDone.link(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JIT::emit_op_profile_did_call(Instruction* currentInstruction)
</span><span class="cx"> {
</span><ins>+    Jump profilerDone = branchTestPtr(Zero, AbsoluteAddress(m_vm-&gt;enabledProfilerAddress()));
</ins><span class="cx">     emitGetVirtualRegister(currentInstruction[1].u.operand, regT0);
</span><span class="cx">     callOperation(operationProfileDidCall, regT0);
</span><ins>+    profilerDone.link(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorejitJITOpcodes32_64cpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1108,14 +1108,20 @@
</span><span class="cx"> 
</span><span class="cx"> void JIT::emit_op_profile_will_call(Instruction* currentInstruction)
</span><span class="cx"> {
</span><ins>+    load32(m_vm-&gt;enabledProfilerAddress(), regT0);
+    Jump profilerDone = branchTestPtr(Zero, regT0);
</ins><span class="cx">     emitLoad(currentInstruction[1].u.operand, regT1, regT0);
</span><span class="cx">     callOperation(operationProfileWillCall, regT1, regT0);
</span><ins>+    profilerDone.link(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JIT::emit_op_profile_did_call(Instruction* currentInstruction)
</span><span class="cx"> {
</span><ins>+    load32(m_vm-&gt;enabledProfilerAddress(), regT0);
+    Jump profilerDone = branchTestPtr(Zero, regT0);
</ins><span class="cx">     emitLoad(currentInstruction[1].u.operand, regT1, regT0);
</span><span class="cx">     callOperation(operationProfileDidCall, regT1, regT0);
</span><ins>+    profilerDone.link(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JIT::emit_op_get_arguments_length(Instruction* currentInstruction)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCorellintLowLevelInterpreterasm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/llint/LowLevelInterpreter.asm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/llint/LowLevelInterpreter.asm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1048,13 +1048,23 @@
</span><span class="cx"> 
</span><span class="cx"> _llint_op_profile_will_call:
</span><span class="cx">     traceExecution()
</span><ins>+    loadp CodeBlock[cfr], t0
+    loadp CodeBlock::m_vm[t0], t0
+    loadi VM::m_enabledProfiler[t0], t0
+    btpz t0, .opProfilerWillCallDone
</ins><span class="cx">     callSlowPath(_llint_slow_path_profile_will_call)
</span><ins>+.opProfilerWillCallDone:
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> _llint_op_profile_did_call:
</span><span class="cx">     traceExecution()
</span><ins>+    loadp CodeBlock[cfr], t0
+    loadp CodeBlock::m_vm[t0], t0
+    loadi VM::m_enabledProfiler[t0], t0
+    btpz t0, .opProfilerDidCallDone
</ins><span class="cx">     callSlowPath(_llint_slow_path_profile_did_call)
</span><ins>+.opProfilerDidCallDone:
</ins><span class="cx">     dispatch(2)
</span><span class="cx"> 
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfilecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/Profile.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/Profile.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/Profile.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -65,40 +65,6 @@
</span><span class="cx">     } 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Profile::focus(const ProfileNode* profileNode)
-{
-    if (!profileNode || !m_head)
-        return;
-
-    bool processChildren;
-    const CallIdentifier&amp; callIdentifier = profileNode-&gt;callIdentifier();
-    for (ProfileNode* currentNode = m_head.get(); currentNode; currentNode = currentNode-&gt;traverseNextNodePreOrder(processChildren))
-        processChildren = currentNode-&gt;focus(callIdentifier);
-
-    // Set the visible time of all nodes so that the %s display correctly.
-    forEach(&amp;ProfileNode::calculateVisibleTotalTime);
-}
-
-void Profile::exclude(const ProfileNode* profileNode)
-{
-    if (!profileNode || !m_head)
-        return;
-
-    const CallIdentifier&amp; callIdentifier = profileNode-&gt;callIdentifier();
-
-    for (ProfileNode* currentNode = m_head.get(); currentNode; currentNode = currentNode-&gt;traverseNextNodePreOrder())
-        currentNode-&gt;exclude(callIdentifier);
-
-    // Set the visible time of the head so the %s display correctly.
-    m_head-&gt;setVisibleTotalTime(m_head-&gt;totalTime() - m_head-&gt;selfTime());
-    m_head-&gt;setVisibleSelfTime(0.0);
-}
-
-void Profile::restoreAll()
-{
-    forEach(&amp;ProfileNode::restore);
-}
-
</del><span class="cx"> #ifndef NDEBUG
</span><span class="cx"> void Profile::debugPrintData() const
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfileh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/Profile.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/Profile.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/Profile.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -44,12 +44,8 @@
</span><span class="cx">         double totalTime() const { return m_head-&gt;totalTime(); }
</span><span class="cx">         unsigned int uid() const { return m_uid; }
</span><span class="cx"> 
</span><del>-        JS_EXPORT_PRIVATE void forEach(void (ProfileNode::*)());
</del><ins>+        void forEach(void (ProfileNode::*)());
</ins><span class="cx"> 
</span><del>-        JS_EXPORT_PRIVATE void focus(const ProfileNode*);
-        JS_EXPORT_PRIVATE void exclude(const ProfileNode*);
-        JS_EXPORT_PRIVATE void restoreAll();
-
</del><span class="cx"> #ifndef NDEBUG
</span><span class="cx">         void debugPrintData() const;
</span><span class="cx">         void debugPrintDataSampleStyle() const;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfileGeneratorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/ProfileGenerator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/ProfileGenerator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/ProfileGenerator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -178,14 +178,13 @@
</span><span class="cx"> 
</span><span class="cx">         idleNode-&gt;setTotalTime(headSelfTime);
</span><span class="cx">         idleNode-&gt;setSelfTime(headSelfTime);
</span><del>-        idleNode-&gt;setVisible(true);
</del><span class="cx"> 
</span><span class="cx">         m_head-&gt;setSelfTime(0.0);
</span><span class="cx">         m_head-&gt;addChild(idleNode.release());
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// The console.ProfileGenerator that started this ProfileGenerator will be the first child.
</del><ins>+// The console.profile that started this ProfileGenerator will be the first child.
</ins><span class="cx"> void ProfileGenerator::removeProfileStart()
</span><span class="cx"> {
</span><span class="cx">     ProfileNode* currentNode = 0;
</span><span class="lines">@@ -200,7 +199,7 @@
</span><span class="cx">     currentNode-&gt;parent()-&gt;removeChild(currentNode);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// The console.ProfileGeneratorEnd that stopped this ProfileGenerator will be the last child.
</del><ins>+// The console.profileEnd that stopped this ProfileGenerator will be the last child.
</ins><span class="cx"> void ProfileGenerator::removeProfileEnd()
</span><span class="cx"> {
</span><span class="cx">     ProfileNode* currentNode = 0;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfileNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -63,12 +63,9 @@
</span><span class="cx">     , m_parent(parentNode)
</span><span class="cx">     , m_nextSibling(0)
</span><span class="cx">     , m_startTime(0.0)
</span><del>-    , m_actualTotalTime(0.0)
-    , m_visibleTotalTime(0.0)
-    , m_actualSelfTime(0.0)
-    , m_visibleSelfTime(0.0)
</del><ins>+    , m_totalTime(0.0)
+    , m_selfTime(0.0)
</ins><span class="cx">     , m_numberOfCalls(0)
</span><del>-    , m_visible(true)
</del><span class="cx"> {
</span><span class="cx">     startTimer();
</span><span class="cx"> }
</span><span class="lines">@@ -80,12 +77,9 @@
</span><span class="cx">     , m_parent(nodeToCopy-&gt;parent())
</span><span class="cx">     , m_nextSibling(0)
</span><span class="cx">     , m_startTime(0.0)
</span><del>-    , m_actualTotalTime(nodeToCopy-&gt;actualTotalTime())
-    , m_visibleTotalTime(nodeToCopy-&gt;totalTime())
-    , m_actualSelfTime(nodeToCopy-&gt;actualSelfTime())
-    , m_visibleSelfTime(nodeToCopy-&gt;selfTime())
</del><ins>+    , m_totalTime(nodeToCopy-&gt;totalTime())
+    , m_selfTime(nodeToCopy-&gt;selfTime())
</ins><span class="cx">     , m_numberOfCalls(nodeToCopy-&gt;numberOfCalls())
</span><del>-    , m_visible(nodeToCopy-&gt;visible())
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -120,19 +114,6 @@
</span><span class="cx">     m_children.append(child.release());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ProfileNode* ProfileNode::findChild(ProfileNode* node) const
-{
-    if (!node)
-        return 0;
-
-    for (size_t i = 0; i &lt; m_children.size(); ++i) {
-        if (*node == m_children[i].get())
-            return m_children[i].get();
-    }
-
-    return 0;
-}
-
</del><span class="cx"> void ProfileNode::removeChild(ProfileNode* node)
</span><span class="cx"> {
</span><span class="cx">     if (!node)
</span><span class="lines">@@ -164,17 +145,14 @@
</span><span class="cx">     if (m_startTime)
</span><span class="cx">         endAndRecordCall();
</span><span class="cx"> 
</span><del>-    m_visibleTotalTime = m_actualTotalTime;
</del><ins>+    ASSERT(m_selfTime == 0.0 &amp;&amp; m_startTime == 0.0);
</ins><span class="cx"> 
</span><del>-    ASSERT(m_actualSelfTime == 0.0 &amp;&amp; m_startTime == 0.0);
-
</del><span class="cx">     // Because we iterate in post order all of our children have been stopped before us.
</span><span class="cx">     for (unsigned i = 0; i &lt; m_children.size(); ++i)
</span><del>-        m_actualSelfTime += m_children[i]-&gt;totalTime();
</del><ins>+        m_selfTime += m_children[i]-&gt;totalTime();
</ins><span class="cx"> 
</span><del>-    ASSERT(m_actualSelfTime &lt;= m_actualTotalTime);
-    m_actualSelfTime = m_actualTotalTime - m_actualSelfTime;
-    m_visibleSelfTime = m_actualSelfTime;
</del><ins>+    ASSERT(m_selfTime &lt;= m_totalTime);
+    m_selfTime = m_totalTime - m_selfTime;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ProfileNode* ProfileNode::traverseNextNodePostOrder() const
</span><span class="lines">@@ -187,89 +165,9 @@
</span><span class="cx">     return next;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ProfileNode* ProfileNode::traverseNextNodePreOrder(bool processChildren) const
-{
-    if (processChildren &amp;&amp; m_children.size())
-        return m_children[0].get();
-
-    if (m_nextSibling)
-        return m_nextSibling;
-
-    ProfileNode* nextParent = m_parent;
-    if (!nextParent)
-        return 0;
-
-    ProfileNode* next;
-    for (next = m_parent-&gt;nextSibling(); !next; next = nextParent-&gt;nextSibling()) {
-        nextParent = nextParent-&gt;parent();
-        if (!nextParent)
-            return 0;
-    }
-
-    return next;
-}
-
-void ProfileNode::setTreeVisible(ProfileNode* node, bool visible)
-{
-    ProfileNode* nodeParent = node-&gt;parent();
-    ProfileNode* nodeSibling = node-&gt;nextSibling();
-    node-&gt;setParent(0);
-    node-&gt;setNextSibling(0);
-
-    for (ProfileNode* currentNode = node; currentNode; currentNode = currentNode-&gt;traverseNextNodePreOrder())
-        currentNode-&gt;setVisible(visible);
-
-    node-&gt;setParent(nodeParent);
-    node-&gt;setNextSibling(nodeSibling);
-}
-
-void ProfileNode::calculateVisibleTotalTime()
-{
-    double sumOfVisibleChildrensTime = 0.0;
-
-    for (unsigned i = 0; i &lt; m_children.size(); ++i) {
-        if (m_children[i]-&gt;visible())
-            sumOfVisibleChildrensTime += m_children[i]-&gt;totalTime();
-    }
-
-    m_visibleTotalTime = m_visibleSelfTime + sumOfVisibleChildrensTime;
-}
-
-bool ProfileNode::focus(const CallIdentifier&amp; callIdentifier)
-{
-    if (!m_visible)
-        return false;
-
-    if (m_callIdentifier != callIdentifier) {
-        m_visible = false;
-        return true;
-    }
-
-    for (ProfileNode* currentParent = m_parent; currentParent; currentParent = currentParent-&gt;parent())
-        currentParent-&gt;setVisible(true);
-
-    return false;
-}
-
-void ProfileNode::exclude(const CallIdentifier&amp; callIdentifier)
-{
-    if (m_visible &amp;&amp; m_callIdentifier == callIdentifier) {
-        setTreeVisible(this, false);
-
-        m_parent-&gt;setVisibleSelfTime(m_parent-&gt;selfTime() + m_visibleTotalTime);
-    }
-}
-
-void ProfileNode::restore()
-{
-    m_visibleTotalTime = m_actualTotalTime;
-    m_visibleSelfTime = m_actualSelfTime;
-    m_visible = true;
-}
-
</del><span class="cx"> void ProfileNode::endAndRecordCall()
</span><span class="cx"> {
</span><del>-    m_actualTotalTime += m_startTime ? getCount() - m_startTime : 0.0;
</del><ins>+    m_totalTime += m_startTime ? getCount() - m_startTime : 0.0;
</ins><span class="cx">     m_startTime = 0.0;
</span><span class="cx"> 
</span><span class="cx">     ++m_numberOfCalls;
</span><span class="lines">@@ -295,11 +193,9 @@
</span><span class="cx">     for (int i = 0; i &lt; indentLevel; ++i)
</span><span class="cx">         dataLogF(&quot;  &quot;);
</span><span class="cx"> 
</span><del>-    dataLogF(&quot;Function Name %s %d SelfTime %.3fms/%.3f%% TotalTime %.3fms/%.3f%% VSelf %.3fms VTotal %.3fms Visible %s Next Sibling %s\n&quot;,
</del><ins>+    dataLogF(&quot;Function Name %s %d SelfTime %.3fms/%.3f%% TotalTime %.3fms/%.3f%% Next Sibling %s\n&quot;,
</ins><span class="cx">         functionName().utf8().data(), 
</span><del>-        m_numberOfCalls, m_actualSelfTime, selfPercent(), m_actualTotalTime, totalPercent(),
-        m_visibleSelfTime, m_visibleTotalTime, 
-        (m_visible ? &quot;True&quot; : &quot;False&quot;),
</del><ins>+        m_numberOfCalls, m_selfTime, selfPercent(), m_totalTime, totalPercent(),
</ins><span class="cx">         m_nextSibling ? m_nextSibling-&gt;functionName().utf8().data() : &quot;&quot;);
</span><span class="cx"> 
</span><span class="cx">     ++indentLevel;
</span><span class="lines">@@ -316,7 +212,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Print function names
</span><span class="cx">     const char* name = functionName().utf8().data();
</span><del>-    double sampleCount = m_actualTotalTime * 1000;
</del><ins>+    double sampleCount = m_totalTime * 1000;
</ins><span class="cx">     if (indentLevel) {
</span><span class="cx">         for (int i = 0; i &lt; indentLevel; ++i)
</span><span class="cx">             dataLogF(&quot;  &quot;);
</span><span class="lines">@@ -344,7 +240,7 @@
</span><span class="cx">         dataLogF(&quot;%.0f %s\n&quot;, sampleCount - sumOfChildrensCount, functionName().utf8().data());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return m_actualTotalTime;
</del><ins>+    return m_totalTime;
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfileNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/ProfileNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx">         {
</span><span class="cx">             return adoptRef(new ProfileNode(callerCallFrame, callIdentifier, headNode, parentNode));
</span><span class="cx">         }
</span><ins>+
</ins><span class="cx">         static PassRefPtr&lt;ProfileNode&gt; create(ExecState* callerCallFrame, ProfileNode* headNode, ProfileNode* node)
</span><span class="cx">         {
</span><span class="cx">             return adoptRef(new ProfileNode(callerCallFrame, headNode, node));
</span><span class="lines">@@ -71,56 +72,38 @@
</span><span class="cx">         // Relationships
</span><span class="cx">         ProfileNode* head() const { return m_head; }
</span><span class="cx">         void setHead(ProfileNode* head) { m_head = head; }
</span><ins>+
</ins><span class="cx">         ProfileNode* parent() const { return m_parent; }
</span><span class="cx">         void setParent(ProfileNode* parent) { m_parent = parent; }
</span><ins>+
</ins><span class="cx">         ProfileNode* nextSibling() const { return m_nextSibling; }
</span><span class="cx">         void setNextSibling(ProfileNode* nextSibling) { m_nextSibling = nextSibling; }
</span><span class="cx"> 
</span><span class="cx">         // Time members
</span><span class="cx">         double startTime() const { return m_startTime; }
</span><span class="cx">         void setStartTime(double startTime) { m_startTime = startTime; }
</span><del>-        double totalTime() const { return m_visibleTotalTime; }
-        double actualTotalTime() const { return m_actualTotalTime; }
-        void setTotalTime(double time) { m_actualTotalTime = time; m_visibleTotalTime = time; }
-        void setActualTotalTime(double time) { m_actualTotalTime = time; }
-        void setVisibleTotalTime(double time) { m_visibleTotalTime = time; }
-        double selfTime() const { return m_visibleSelfTime; }
-        double actualSelfTime() const { return m_actualSelfTime; }
-        void setSelfTime(double time) {m_actualSelfTime = time; m_visibleSelfTime = time; }
-        void setActualSelfTime(double time) { m_actualSelfTime = time; }
-        void setVisibleSelfTime(double time) { m_visibleSelfTime = time; }
</del><span class="cx"> 
</span><del>-        double totalPercent() const { return (m_visibleTotalTime / (m_head ? m_head-&gt;totalTime() : totalTime())) * 100.0; }
-        double selfPercent() const { return (m_visibleSelfTime / (m_head ? m_head-&gt;totalTime() : totalTime())) * 100.0; }
</del><ins>+        double totalTime() const { return m_totalTime; }
+        void setTotalTime(double time) { m_totalTime = time; }
</ins><span class="cx"> 
</span><ins>+        double selfTime() const { return m_selfTime; }
+        void setSelfTime(double time) { m_selfTime = time; }
+
+        double totalPercent() const { return (m_totalTime / (m_head ? m_head-&gt;totalTime() : totalTime())) * 100.0; }
+        double selfPercent() const { return (m_selfTime / (m_head ? m_head-&gt;totalTime() : totalTime())) * 100.0; }
+
</ins><span class="cx">         unsigned numberOfCalls() const { return m_numberOfCalls; }
</span><del>-        void setNumberOfCalls(unsigned number) { m_numberOfCalls = number; }
</del><span class="cx"> 
</span><span class="cx">         // Children members
</span><span class="cx">         const Vector&lt;RefPtr&lt;ProfileNode&gt;&gt;&amp; children() const { return m_children; }
</span><span class="cx">         ProfileNode* firstChild() const { return m_children.size() ? m_children.first().get() : 0; }
</span><span class="cx">         ProfileNode* lastChild() const { return m_children.size() ? m_children.last().get() : 0; }
</span><del>-        ProfileNode* findChild(ProfileNode*) const;
</del><span class="cx">         void removeChild(ProfileNode*);
</span><span class="cx">         void addChild(PassRefPtr&lt;ProfileNode&gt; prpChild);
</span><span class="cx">         void insertNode(PassRefPtr&lt;ProfileNode&gt; prpNode);
</span><span class="cx"> 
</span><del>-        // Visiblity
-        bool visible() const { return m_visible; }
-        void setVisible(bool visible) { m_visible = visible; }
-
-        static void setTreeVisible(ProfileNode*, bool visible);
-
-        // Sorting
</del><span class="cx">         ProfileNode* traverseNextNodePostOrder() const;
</span><del>-        ProfileNode* traverseNextNodePreOrder(bool processChildren = true) const;
</del><span class="cx"> 
</span><del>-        // Views
-        void calculateVisibleTotalTime();
-        bool focus(const CallIdentifier&amp;);
-        void exclude(const CallIdentifier&amp;);
-        void restore();
-
</del><span class="cx">         void endAndRecordCall();
</span><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><span class="lines">@@ -138,19 +121,6 @@
</span><span class="cx">         void startTimer();
</span><span class="cx">         void resetChildrensSiblings();
</span><span class="cx"> 
</span><del>-        RefPtr&lt;ProfileNode&gt;* childrenBegin() { return m_children.begin(); }
-        RefPtr&lt;ProfileNode&gt;* childrenEnd() { return m_children.end(); }
-
-        // Sorting comparators
-        static inline bool totalTimeDescendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;totalTime() &gt; b-&gt;totalTime(); }
-        static inline bool totalTimeAscendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;totalTime() &lt; b-&gt;totalTime(); }
-        static inline bool selfTimeDescendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;selfTime() &gt; b-&gt;selfTime(); }
-        static inline bool selfTimeAscendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;selfTime() &lt; b-&gt;selfTime(); }
-        static inline bool callsDescendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;numberOfCalls() &gt; b-&gt;numberOfCalls(); }
-        static inline bool callsAscendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return a-&gt;numberOfCalls() &lt; b-&gt;numberOfCalls(); }
-        static inline bool functionNameDescendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return codePointCompareLessThan(b-&gt;functionName(), a-&gt;functionName()); }
-        static inline bool functionNameAscendingComparator(const RefPtr&lt;ProfileNode&gt;&amp; a, const RefPtr&lt;ProfileNode&gt;&amp; b) { return codePointCompareLessThan(a-&gt;functionName(), b-&gt;functionName()); }
-
</del><span class="cx">         ExecState* m_callerCallFrame;
</span><span class="cx">         CallIdentifier m_callIdentifier;
</span><span class="cx">         ProfileNode* m_head;
</span><span class="lines">@@ -158,14 +128,10 @@
</span><span class="cx">         ProfileNode* m_nextSibling;
</span><span class="cx"> 
</span><span class="cx">         double m_startTime;
</span><del>-        double m_actualTotalTime;
-        double m_visibleTotalTime;
-        double m_actualSelfTime;
-        double m_visibleSelfTime;
</del><ins>+        double m_totalTime;
+        double m_selfTime;
</ins><span class="cx">         unsigned m_numberOfCalls;
</span><span class="cx"> 
</span><del>-        bool m_visible;
-
</del><span class="cx">         Vector&lt;RefPtr&lt;ProfileNode&gt;&gt; m_children;
</span><span class="cx">     };
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreprofilerProfilerDatabasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/profiler/ProfilerDatabase.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/profiler/ProfilerDatabase.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/profiler/ProfilerDatabase.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,17 +33,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace Profiler {
</span><span class="cx"> 
</span><del>-#if COMPILER(MINGW) || COMPILER(MSVC7_OR_LOWER) || OS(WINCE)
-static int databaseCounter;
-#else
-static volatile int databaseCounter;
-#endif
</del><ins>+static std::atomic&lt;int&gt; databaseCounter;
+
</ins><span class="cx"> static SpinLock registrationLock = SPINLOCK_INITIALIZER;
</span><del>-static int didRegisterAtExit;
</del><ins>+static std::atomic&lt;int&gt; didRegisterAtExit;
</ins><span class="cx"> static Database* firstDatabase;
</span><span class="cx"> 
</span><span class="cx"> Database::Database(VM&amp; vm)
</span><del>-    : m_databaseID(atomicIncrement(&amp;databaseCounter))
</del><ins>+    : m_databaseID(++databaseCounter)
</ins><span class="cx">     , m_vm(vm)
</span><span class="cx">     , m_shouldSaveAtExit(false)
</span><span class="cx">     , m_nextRegisteredDatabase(0)
</span><span class="lines">@@ -138,7 +135,7 @@
</span><span class="cx"> 
</span><span class="cx"> void Database::addDatabaseToAtExit()
</span><span class="cx"> {
</span><del>-    if (atomicIncrement(&amp;didRegisterAtExit) == 1)
</del><ins>+    if (++didRegisterAtExit == 1)
</ins><span class="cx">         atexit(atExitCallback);
</span><span class="cx">     
</span><span class="cx">     TCMalloc_SpinLockHolder holder(&amp;registrationLock);
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeArrayConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/ArrayConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/ArrayConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/ArrayConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ArrayConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::arrayConstructorTable(exec), jsCast&lt;ArrayConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::arrayConstructorTable(exec-&gt;vm()), jsCast&lt;ArrayConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeArrayPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/ArrayPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/ArrayPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ArrayPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;JSArray&gt;(exec, ExecState::arrayPrototypeTable(exec), jsCast&lt;ArrayPrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSArray&gt;(exec, ExecState::arrayPrototypeTable(exec-&gt;vm()), jsCast&lt;ArrayPrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Array Functions ----------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeBooleanPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/BooleanPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/BooleanPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/BooleanPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool BooleanPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;BooleanObject&gt;(exec, ExecState::booleanPrototypeTable(exec), jsCast&lt;BooleanPrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;BooleanObject&gt;(exec, ExecState::booleanPrototypeTable(exec-&gt;vm()), jsCast&lt;BooleanPrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeClassInfoh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/ClassInfo.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/ClassInfo.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/ClassInfo.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -157,11 +157,19 @@
</span><span class="cx">     const HashTable* propHashTable(ExecState* exec) const
</span><span class="cx">     {
</span><span class="cx">         if (classPropHashTableGetterFunction)
</span><del>-            return &amp;classPropHashTableGetterFunction(exec);
</del><ins>+            return &amp;classPropHashTableGetterFunction(exec-&gt;vm());
</ins><span class="cx"> 
</span><span class="cx">         return staticPropHashTable;
</span><span class="cx">     }
</span><del>-        
</del><ins>+
+    const HashTable* propHashTable(VM&amp; vm) const
+    {
+        if (classPropHashTableGetterFunction)
+            return &amp;classPropHashTableGetterFunction(vm);
+
+        return staticPropHashTable;
+    }
+
</ins><span class="cx">     bool isSubClassOf(const ClassInfo* other) const
</span><span class="cx">     {
</span><span class="cx">         for (const ClassInfo* ci = this; ci; ci = ci-&gt;parentClass) {
</span><span class="lines">@@ -180,8 +188,10 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    bool hasStaticSetterOrReadonlyProperties(VM&amp;) const;
+
</ins><span class="cx">     const HashTable* staticPropHashTable;
</span><del>-    typedef const HashTable&amp; (*ClassPropHashTableGetterFunction)(ExecState*);
</del><ins>+    typedef const HashTable&amp; (*ClassPropHashTableGetterFunction)(VM&amp;);
</ins><span class="cx">     const ClassPropHashTableGetterFunction classPropHashTableGetterFunction;
</span><span class="cx"> 
</span><span class="cx">     MethodTable methodTable;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeDateConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/DateConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/DateConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/DateConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool DateConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::dateConstructorTable(exec), jsCast&lt;DateConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::dateConstructorTable(exec-&gt;vm()), jsCast&lt;DateConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ECMA 15.9.3
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeDatePrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/DatePrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/DatePrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/DatePrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,11 +34,6 @@
</span><span class="cx"> #include &quot;Lookup.h&quot;
</span><span class="cx"> #include &quot;ObjectPrototype.h&quot;
</span><span class="cx"> #include &quot;Operations.h&quot;
</span><del>-
-#if !PLATFORM(MAC) &amp;&amp; HAVE(LANGINFO_H)
-#include &lt;langinfo.h&gt;
-#endif
-
</del><span class="cx"> #include &lt;limits.h&gt;
</span><span class="cx"> #include &lt;locale.h&gt;
</span><span class="cx"> #include &lt;math.h&gt;
</span><span class="lines">@@ -48,6 +43,10 @@
</span><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="cx"> 
</span><ins>+#if HAVE(LANGINFO_H)
+#include &lt;langinfo.h&gt;
+#endif
+
</ins><span class="cx"> #if HAVE(SYS_PARAM_H)
</span><span class="cx"> #include &lt;sys/param.h&gt;
</span><span class="cx"> #endif
</span><span class="lines">@@ -60,12 +59,14 @@
</span><span class="cx"> #include &lt;sys/timeb.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if OS(DARWIN) &amp;&amp; USE(CF)
-#include &lt;CoreFoundation/CoreFoundation.h&gt;
-#elif USE(ICU_UNICODE)
</del><ins>+#if !(OS(DARWIN) &amp;&amp; USE(CF))
</ins><span class="cx"> #include &lt;unicode/udat.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if USE(CF)
+#include &lt;CoreFoundation/CoreFoundation.h&gt;
+#endif
+
</ins><span class="cx"> using namespace WTF;
</span><span class="cx"> 
</span><span class="cx"> namespace JSC {
</span><span class="lines">@@ -162,36 +163,15 @@
</span><span class="cx">     else if (format != LocaleDate &amp;&amp; !exec-&gt;argument(0).isUndefined())
</span><span class="cx">         timeStyle = styleFromArgString(arg0String, timeStyle);
</span><span class="cx"> 
</span><del>-    CFLocaleRef locale = CFLocaleCopyCurrent();
-    CFDateFormatterRef formatter = CFDateFormatterCreate(0, locale, dateStyle, timeStyle);
-    CFRelease(locale);
</del><ins>+    CFAbsoluteTime absoluteTime = floor(timeInMilliseconds / msPerSecond) - kCFAbsoluteTimeIntervalSince1970;
</ins><span class="cx"> 
</span><del>-    if (useCustomFormat) {
-        CFStringRef customFormatCFString = CFStringCreateWithCharacters(0, customFormatString.characters(), customFormatString.length());
-        CFDateFormatterSetFormat(formatter, customFormatCFString);
-        CFRelease(customFormatCFString);
-    }
-
-    CFStringRef string = CFDateFormatterCreateStringWithAbsoluteTime(0, formatter, floor(timeInMilliseconds / msPerSecond) - kCFAbsoluteTimeIntervalSince1970);
-
-    CFRelease(formatter);
-
-    // We truncate the string returned from CFDateFormatter if it's absurdly long (&gt; 200 characters).
-    // That's not great error handling, but it just won't happen so it doesn't matter.
-    UChar buffer[200];
-    const size_t bufferLength = WTF_ARRAY_LENGTH(buffer);
-    size_t length = CFStringGetLength(string);
-    ASSERT(length &lt;= bufferLength);
-    if (length &gt; bufferLength)
-        length = bufferLength;
-    CFStringGetCharacters(string, CFRangeMake(0, length), buffer);
-
-    CFRelease(string);
-
-    return jsNontrivialString(exec, String(buffer, length));
</del><ins>+    auto formatter = adoptCF(CFDateFormatterCreate(kCFAllocatorDefault, adoptCF(CFLocaleCopyCurrent()).get(), dateStyle, timeStyle));
+    if (useCustomFormat)
+        CFDateFormatterSetFormat(formatter.get(), customFormatString.createCFString().get());
+    return jsNontrivialString(exec, adoptCF(CFDateFormatterCreateStringWithAbsoluteTime(kCFAllocatorDefault, formatter.get(), absoluteTime)).get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-#elif USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_FORMATTING
</del><ins>+#elif !UCONFIG_NO_FORMATTING
</ins><span class="cx"> 
</span><span class="cx"> static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMilliseconds, LocaleDateTimeFormat format)
</span><span class="cx"> {
</span><span class="lines">@@ -516,7 +496,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool DatePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::dateTable(exec), jsCast&lt;DatePrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::dateTable(exec-&gt;vm()), jsCast&lt;DatePrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Functions
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeErrorPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/ErrorPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/ErrorPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/ErrorPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -63,7 +63,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ErrorPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;ErrorInstance&gt;(exec, ExecState::errorPrototypeTable(exec), jsCast&lt;ErrorPrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;ErrorInstance&gt;(exec, ExecState::errorPrototypeTable(exec-&gt;vm()), jsCast&lt;ErrorPrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeIdentifierh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/Identifier.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/Identifier.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/Identifier.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -55,7 +55,7 @@
</span><span class="cx">         const String&amp; string() const { return m_string; }
</span><span class="cx">         StringImpl* impl() const { return m_string.impl(); }
</span><span class="cx">         
</span><del>-        const UChar* characters() const { return m_string.characters(); }
</del><ins>+        const UChar* deprecatedCharacters() const { return m_string.deprecatedCharacters(); }
</ins><span class="cx">         int length() const { return m_string.length(); }
</span><span class="cx">         
</span><span class="cx">         CString ascii() const { return m_string.ascii(); }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSDataViewPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSDataViewPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">     JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     return getStaticFunctionSlot&lt;JSObject&gt;(
</span><del>-        exec, ExecState::dataViewTable(exec), jsCast&lt;JSDataViewPrototype*&gt;(object),
</del><ins>+        exec, ExecState::dataViewTable(exec-&gt;vm()), jsCast&lt;JSDataViewPrototype*&gt;(object),
</ins><span class="cx">         propertyName, slot);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSGlobalObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx"> JSGlobalObject::~JSGlobalObject()
</span><span class="cx"> {
</span><span class="cx">     if (m_debugger)
</span><del>-        m_debugger-&gt;detach(this);
</del><ins>+        m_debugger-&gt;detach(this, Debugger::GlobalObjectIsDestructing);
</ins><span class="cx"> 
</span><span class="cx">     if (LegacyProfiler* profiler = vm().enabledProfiler())
</span><span class="cx">         profiler-&gt;stopProfiling(this);
</span><span class="lines">@@ -698,7 +698,7 @@
</span><span class="cx"> bool JSGlobalObject::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     JSGlobalObject* thisObject = jsCast&lt;JSGlobalObject*&gt;(object);
</span><del>-    if (getStaticFunctionSlot&lt;Base&gt;(exec, ExecState::globalObjectTable(exec), thisObject, propertyName, slot))
</del><ins>+    if (getStaticFunctionSlot&lt;Base&gt;(exec, ExecState::globalObjectTable(exec-&gt;vm()), thisObject, propertyName, slot))
</ins><span class="cx">         return true;
</span><span class="cx">     return symbolTableGet(thisObject, propertyName, slot);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSONObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSONObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -601,7 +601,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool JSONObject::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::jsonTable(exec), jsCast&lt;JSONObject*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::jsonTable(exec-&gt;vm()), jsCast&lt;JSONObject*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class Walker {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -394,7 +394,13 @@
</span><span class="cx">             // prototypes it should be replaced, so break here.
</span><span class="cx">             break;
</span><span class="cx">         }
</span><del>-
</del><ins>+        const ClassInfo* info = obj-&gt;classInfo();
+        if (info-&gt;hasStaticSetterOrReadonlyProperties(vm)) {
+            if (const HashEntry* entry = obj-&gt;findPropertyHashEntry(exec, propertyName)) {
+                putEntry(exec, entry, obj, propertyName, value, slot);
+                return;
+            }
+        }
</ins><span class="cx">         prototype = obj-&gt;prototype();
</span><span class="cx">         if (prototype.isNull())
</span><span class="cx">             break;
</span><span class="lines">@@ -1269,7 +1275,7 @@
</span><span class="cx">             return false; // this builtin property can't be deleted
</span><span class="cx"> 
</span><span class="cx">         PutPropertySlot slot(thisObject);
</span><del>-        putEntry(exec, entry, propertyName, jsUndefined(), slot);
</del><ins>+        putEntry(exec, entry, thisObject, propertyName, jsUndefined(), slot);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSPromiseConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSPromiseConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -161,7 +161,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool JSPromiseConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::promiseConstructorTable(exec), jsCast&lt;JSPromiseConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::promiseConstructorTable(exec-&gt;vm()), jsCast&lt;JSPromiseConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL JSPromiseConstructorFuncCast(ExecState* exec)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSPromisePrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSPromisePrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool JSPromisePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::promisePrototypeTable(exec), jsCast&lt;JSPromisePrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::promisePrototypeTable(exec-&gt;vm()), jsCast&lt;JSPromisePrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> EncodedJSValue JSC_HOST_CALL JSPromisePrototypeFuncThen(ExecState* exec)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeJSStringBuilderh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/JSStringBuilder.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/JSStringBuilder.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/JSStringBuilder.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -105,7 +105,7 @@
</span><span class="cx">             }
</span><span class="cx">             upConvert();
</span><span class="cx">         }
</span><del>-        m_okay &amp;= buffer16.tryAppend(str.characters(), length);
</del><ins>+        m_okay &amp;= buffer16.tryAppend(str.deprecatedCharacters(), length);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     void upConvert()
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeLookuph"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/Lookup.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/Lookup.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/Lookup.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -110,6 +110,7 @@
</span><span class="cx"> 
</span><span class="cx">         int compactSize;
</span><span class="cx">         int compactHashSizeMask;
</span><ins>+        bool hasSetterOrReadonlyProperties;
</ins><span class="cx"> 
</span><span class="cx">         const HashTableValue* values; // Fixed values generated by script.
</span><span class="cx">         mutable const HashEntry* table; // Table allocated at runtime.
</span><span class="lines">@@ -117,7 +118,7 @@
</span><span class="cx">         ALWAYS_INLINE HashTable copy() const
</span><span class="cx">         {
</span><span class="cx">             // Don't copy dynamic table since it's thread specific.
</span><del>-            HashTable result = { compactSize, compactHashSizeMask, values, 0 };
</del><ins>+            HashTable result = { compactSize, compactHashSizeMask, hasSetterOrReadonlyProperties, values, 0 };
</ins><span class="cx">             return result;
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -291,14 +292,15 @@
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    inline void putEntry(ExecState* exec, const HashEntry* entry, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+    inline void putEntry(ExecState* exec, const HashEntry* entry, JSObject* base, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</ins><span class="cx">     {
</span><span class="cx">         // If this is a function put it as an override property.
</span><del>-        if (entry-&gt;attributes() &amp; Function)
-            slot.base()-&gt;putDirect(exec-&gt;vm(), propertyName, value);
-        else if (!(entry-&gt;attributes() &amp; ReadOnly)) {
-            entry-&gt;propertyPutter()(exec, JSValue::encode(slot.thisValue()), JSValue::encode(value));
-            slot.setCustomProperty(slot.base(), entry-&gt;propertyPutter());
</del><ins>+        if (entry-&gt;attributes() &amp; Function) {
+            if (JSObject* thisObject = jsDynamicCast&lt;JSObject*&gt;(slot.thisValue()))
+                thisObject-&gt;putDirect(exec-&gt;vm(), propertyName, value);
+        } else if (!(entry-&gt;attributes() &amp; ReadOnly)) {
+            entry-&gt;propertyPutter()(exec, base, JSValue::encode(slot.thisValue()), JSValue::encode(value));
+            slot.setCustomProperty(base, entry-&gt;propertyPutter());
</ins><span class="cx">         } else if (slot.isStrictMode())
</span><span class="cx">             throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
</span><span class="cx">     }
</span><span class="lines">@@ -308,30 +310,16 @@
</span><span class="cx">      * It looks up a hash entry for the property to be set.  If an entry
</span><span class="cx">      * is found it sets the value and returns true, else it returns false.
</span><span class="cx">      */
</span><del>-    inline bool lookupPut(ExecState* exec, PropertyName propertyName, JSValue value, const HashTable&amp; table, PutPropertySlot&amp; slot)
</del><ins>+    inline bool lookupPut(ExecState* exec, PropertyName propertyName, JSObject* base, JSValue value, const HashTable&amp; table, PutPropertySlot&amp; slot)
</ins><span class="cx">     {
</span><span class="cx">         const HashEntry* entry = table.entry(exec, propertyName);
</span><del>-        
</del><ins>+
</ins><span class="cx">         if (!entry)
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        putEntry(exec, entry, propertyName, value, slot);
</del><ins>+        putEntry(exec, entry, base, propertyName, value, slot);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><del>-
-    /**
-     * This one is for &quot;put&quot;.
-     * It calls lookupPut&lt;ThisImp&gt;() to set the value.  If that call
-     * returns false (meaning no entry in the hash table was found),
-     * then it calls put() on the ParentImp class.
-     */
-    template &lt;class ThisImp, class ParentImp&gt;
-    inline void lookupPut(ExecState* exec, PropertyName propertyName, JSValue value, const HashTable&amp; table, ThisImp* thisObj, PutPropertySlot&amp; slot)
-    {
-        if (!lookupPut(exec, propertyName, value, table, slot))
-            ParentImp::put(thisObj, exec, propertyName, value, slot); // not found: forward to parent
-    }
-
</del><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="cx"> #endif // Lookup_h
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeNamePrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/NamePrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/NamePrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/NamePrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool NamePrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;Base&gt;(exec, ExecState::privateNamePrototypeTable(exec), jsCast&lt;NamePrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;Base&gt;(exec, ExecState::privateNamePrototypeTable(exec-&gt;vm()), jsCast&lt;NamePrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeNumberConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -74,14 +74,9 @@
</span><span class="cx"> 
</span><span class="cx"> bool NumberConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticValueSlot&lt;NumberConstructor, InternalFunction&gt;(exec, ExecState::numberConstructorTable(exec), jsCast&lt;NumberConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;NumberConstructor, InternalFunction&gt;(exec, ExecState::numberConstructorTable(exec-&gt;vm()), jsCast&lt;NumberConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void NumberConstructor::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
-{
-    lookupPut&lt;NumberConstructor, InternalFunction&gt;(exec, propertyName, value, ExecState::numberConstructorTable(exec), jsCast&lt;NumberConstructor*&gt;(cell), slot);
-}
-
</del><span class="cx"> static EncodedJSValue numberConstructorNaNValue(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName)
</span><span class="cx"> {
</span><span class="cx">     return JSValue::encode(jsNaN());
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeNumberConstructorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/NumberConstructor.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -38,8 +38,6 @@
</span><span class="cx">             return constructor;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&amp;);
-
</del><span class="cx">         static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&amp;);
</span><span class="cx">         JSValue getValueProperty(ExecState*, int token) const;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeNumberPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/NumberPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/NumberPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/NumberPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool NumberPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;NumberObject&gt;(exec, ExecState::numberPrototypeTable(exec), jsCast&lt;NumberPrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;NumberObject&gt;(exec, ExecState::numberPrototypeTable(exec-&gt;vm()), jsCast&lt;NumberPrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeObjectConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/ObjectConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/ObjectConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/ObjectConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -96,7 +96,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ObjectConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::objectConstructorTable(exec), jsCast&lt;ObjectConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;JSObject&gt;(exec, ExecState::objectConstructorTable(exec-&gt;vm()), jsCast&lt;ObjectConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static ALWAYS_INLINE JSObject* constructObject(ExecState* exec)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimePutPropertySloth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/PutPropertySlot.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/PutPropertySlot.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/PutPropertySlot.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     public:
</span><span class="cx">         enum Type { Uncachable, ExistingProperty, NewProperty, CustomProperty };
</span><span class="cx">         enum Context { UnknownContext, PutById, PutByIdEval };
</span><del>-        typedef void (*PutValueFunc)(ExecState*, EncodedJSValue base, EncodedJSValue value);
</del><ins>+        typedef void (*PutValueFunc)(ExecState*, JSObject* base, EncodedJSValue thisObject, EncodedJSValue value);
</ins><span class="cx"> 
</span><span class="cx">         PutPropertySlot(JSValue thisValue, bool isStrictMode = false, Context context = UnknownContext)
</span><span class="cx">             : m_type(Uncachable)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeRegExpConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,8 +45,8 @@
</span><span class="cx"> static EncodedJSValue regExpConstructorDollar8(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</span><span class="cx"> static EncodedJSValue regExpConstructorDollar9(ExecState*, EncodedJSValue, EncodedJSValue, PropertyName);
</span><span class="cx"> 
</span><del>-static void setRegExpConstructorInput(ExecState*, EncodedJSValue, EncodedJSValue);
-static void setRegExpConstructorMultiline(ExecState*, EncodedJSValue, EncodedJSValue);
</del><ins>+static void setRegExpConstructorInput(ExecState*, JSObject*, EncodedJSValue, EncodedJSValue);
+static void setRegExpConstructorMultiline(ExecState*, JSObject*, EncodedJSValue, EncodedJSValue);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span><span class="cx"> 
</span><span class="lines">@@ -155,7 +155,7 @@
</span><span class="cx">     
</span><span class="cx"> bool RegExpConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><del>-    return getStaticValueSlot&lt;RegExpConstructor, InternalFunction&gt;(exec, ExecState::regExpConstructorTable(exec), jsCast&lt;RegExpConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;RegExpConstructor, InternalFunction&gt;(exec, ExecState::regExpConstructorTable(exec-&gt;vm()), jsCast&lt;RegExpConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline RegExpConstructor* asRegExpConstructor(EncodedJSValue value)
</span><span class="lines">@@ -238,21 +238,18 @@
</span><span class="cx">     return JSValue::encode(asRegExpConstructor(slotBase)-&gt;getRightContext(exec));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RegExpConstructor::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+void setRegExpConstructorInput(ExecState* exec, JSObject* baseObject, EncodedJSValue, EncodedJSValue value)
</ins><span class="cx"> {
</span><del>-    lookupPut&lt;RegExpConstructor, InternalFunction&gt;(exec, propertyName, value, ExecState::regExpConstructorTable(exec), jsCast&lt;RegExpConstructor*&gt;(cell), slot);
</del><ins>+    if (auto constructor = jsDynamicCast&lt;RegExpConstructor*&gt;(baseObject))
+        constructor-&gt;setInput(exec, JSValue::decode(value).toString(exec));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void setRegExpConstructorInput(ExecState* exec, EncodedJSValue baseObject, EncodedJSValue value)
</del><ins>+void setRegExpConstructorMultiline(ExecState* exec, JSObject* baseObject, EncodedJSValue, EncodedJSValue value)
</ins><span class="cx"> {
</span><del>-    asRegExpConstructor(asObject(JSValue::decode(baseObject)))-&gt;setInput(exec, JSValue::decode(value).toString(exec));
</del><ins>+    if (auto constructor = jsDynamicCast&lt;RegExpConstructor*&gt;(baseObject))
+        constructor-&gt;setMultiline(JSValue::decode(value).toBoolean(exec));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void setRegExpConstructorMultiline(ExecState* exec, EncodedJSValue baseObject, EncodedJSValue value)
-{
-    asRegExpConstructor(asObject(JSValue::decode(baseObject)))-&gt;setMultiline(JSValue::decode(value).toBoolean(exec));
-}
-
</del><span class="cx"> // ECMA 15.10.4
</span><span class="cx"> JSObject* constructRegExp(ExecState* exec, JSGlobalObject* globalObject, const ArgList&amp; args, bool callAsConstructor)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeRegExpConstructorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/RegExpConstructor.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -48,8 +48,6 @@
</span><span class="cx">             return Structure::create(vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&amp;);
-
</del><span class="cx">         static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&amp;);
</span><span class="cx"> 
</span><span class="cx">         DECLARE_INFO;
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeRegExpObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/RegExpObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/RegExpObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/RegExpObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">         slot.setValue(regExp, attributes, regExp-&gt;getLastIndex());
</span><span class="cx">         return true;
</span><span class="cx">     }
</span><del>-    return getStaticValueSlot&lt;RegExpObject, JSObject&gt;(exec, ExecState::regExpTable(exec), jsCast&lt;RegExpObject*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticValueSlot&lt;RegExpObject, JSObject&gt;(exec, ExecState::regExpTable(exec-&gt;vm()), jsCast&lt;RegExpObject*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RegExpObject::deleteProperty(JSCell* cell, ExecState* exec, PropertyName propertyName)
</span><span class="lines">@@ -297,7 +297,7 @@
</span><span class="cx">         asRegExpObject(cell)-&gt;setLastIndex(exec, value, slot.isStrictMode());
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    lookupPut&lt;RegExpObject, JSObject&gt;(exec, propertyName, value, ExecState::regExpTable(exec), jsCast&lt;RegExpObject*&gt;(cell), slot);
</del><ins>+    Base::put(cell, exec, propertyName, value, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> JSValue RegExpObject::exec(ExecState* exec, JSString* string)
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeRegExpPrototypecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/RegExpPrototype.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/RegExpPrototype.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/RegExpPrototype.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RegExpPrototype::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;RegExpObject&gt;(exec, ExecState::regExpPrototypeTable(exec), jsCast&lt;RegExpPrototype*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;RegExpObject&gt;(exec, ExecState::regExpPrototypeTable(exec-&gt;vm()), jsCast&lt;RegExpPrototype*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions ---------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeStringConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/StringConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/StringConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/StringConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool StringConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot &amp;slot)
</span><span class="cx"> {
</span><del>-    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::stringConstructorTable(exec), jsCast&lt;StringConstructor*&gt;(object), propertyName, slot);
</del><ins>+    return getStaticFunctionSlot&lt;InternalFunction&gt;(exec, ExecState::stringConstructorTable(exec-&gt;vm()), jsCast&lt;StringConstructor*&gt;(object), propertyName, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ------------------------------ Functions --------------------------------
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeStructurecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/Structure.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/Structure.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/Structure.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -165,8 +165,8 @@
</span><span class="cx">     , m_inlineCapacity(inlineCapacity)
</span><span class="cx">     , m_dictionaryKind(NoneDictionaryKind)
</span><span class="cx">     , m_isPinnedPropertyTable(false)
</span><del>-    , m_hasGetterSetterProperties(false)
-    , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(false)
</del><ins>+    , m_hasGetterSetterProperties(classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm))
+    , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm))
</ins><span class="cx">     , m_hasNonEnumerableProperties(false)
</span><span class="cx">     , m_attributesInPrevious(0)
</span><span class="cx">     , m_specificFunctionThrashCount(0)
</span><span class="lines">@@ -177,6 +177,8 @@
</span><span class="cx">     ASSERT(inlineCapacity &lt;= JSFinalObject::maxInlineCapacity());
</span><span class="cx">     ASSERT(static_cast&lt;PropertyOffset&gt;(inlineCapacity) &lt; firstOutOfLineOffset);
</span><span class="cx">     ASSERT(!typeInfo.structureHasRareData());
</span><ins>+    ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
+    ASSERT(hasGetterSetterProperties() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo Structure::s_info = { &quot;Structure&quot;, 0, 0, 0, CREATE_METHOD_TABLE(Structure) };
</span><span class="lines">@@ -192,8 +194,8 @@
</span><span class="cx">     , m_inlineCapacity(0)
</span><span class="cx">     , m_dictionaryKind(NoneDictionaryKind)
</span><span class="cx">     , m_isPinnedPropertyTable(false)
</span><del>-    , m_hasGetterSetterProperties(false)
-    , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(false)
</del><ins>+    , m_hasGetterSetterProperties(m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm))
+    , m_hasReadOnlyOrGetterSetterPropertiesExcludingProto(m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm))
</ins><span class="cx">     , m_hasNonEnumerableProperties(false)
</span><span class="cx">     , m_attributesInPrevious(0)
</span><span class="cx">     , m_specificFunctionThrashCount(0)
</span><span class="lines">@@ -201,6 +203,8 @@
</span><span class="cx">     , m_didTransition(false)
</span><span class="cx">     , m_staticFunctionReified(false)
</span><span class="cx"> {
</span><ins>+    ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
+    ASSERT(hasGetterSetterProperties() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Structure::Structure(VM&amp; vm, const Structure* previous)
</span><span class="lines">@@ -231,6 +235,8 @@
</span><span class="cx">     previous-&gt;notifyTransitionFromThisStructure();
</span><span class="cx">     if (previous-&gt;m_globalObject)
</span><span class="cx">         m_globalObject.set(vm, this, previous-&gt;m_globalObject.get());
</span><ins>+    ASSERT(hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
+    ASSERT(hasGetterSetterProperties() || !m_classInfo-&gt;hasStaticSetterOrReadonlyProperties(vm));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Structure::destroy(JSCell* cell)
</span><span class="lines">@@ -565,6 +571,8 @@
</span><span class="cx">             iter-&gt;attributes |= iter-&gt;attributes &amp; Accessor ? DontDelete : (DontDelete | ReadOnly);
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    ASSERT(transition-&gt;hasReadOnlyOrGetterSetterPropertiesExcludingProto() || !transition-&gt;classInfo()-&gt;hasStaticSetterOrReadonlyProperties(vm));
+    ASSERT(transition-&gt;hasGetterSetterProperties() || !transition-&gt;classInfo()-&gt;hasStaticSetterOrReadonlyProperties(vm));
</ins><span class="cx">     transition-&gt;checkOffsetConsistency();
</span><span class="cx">     return transition;
</span><span class="cx"> }
</span><span class="lines">@@ -1156,4 +1164,15 @@
</span><span class="cx"> 
</span><span class="cx"> #endif // DO_PROPERTYMAP_CONSTENCY_CHECK
</span><span class="cx"> 
</span><ins>+bool ClassInfo::hasStaticSetterOrReadonlyProperties(VM&amp; vm) const
+{
+    for (const ClassInfo* ci = this; ci; ci = ci-&gt;parentClass) {
+        if (const HashTable* table = ci-&gt;propHashTable(vm)) {
+            if (table-&gt;hasSetterOrReadonlyProperties)
+                return true;
+        }
+    }
+    return false;
+}
+
</ins><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeVMh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/VM.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/VM.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/VM.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -307,6 +307,7 @@
</span><span class="cx">         {
</span><span class="cx">             return m_enabledProfiler;
</span><span class="cx">         }
</span><ins>+        void* enabledProfilerAddress() { return &amp;m_enabledProfiler; }
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(JIT) &amp;&amp; ENABLE(LLINT)
</span><span class="cx">         bool canUseJIT() { return m_canUseJIT; }
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeVMEntryScopecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;VMEntryScope.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;Debugger.h&quot;
</ins><span class="cx"> #include &quot;Options.h&quot;
</span><span class="cx"> #include &quot;VM.h&quot;
</span><span class="cx"> #include &lt;wtf/StackBounds.h&gt;
</span><span class="lines">@@ -35,6 +36,7 @@
</span><span class="cx"> VMEntryScope::VMEntryScope(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="cx">     : m_vm(vm)
</span><span class="cx">     , m_globalObject(globalObject)
</span><ins>+    , m_recompilationNeeded(false)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(wtfThreadData().stack().isGrowingDownward());
</span><span class="cx">     if (!vm.entryScope) {
</span><span class="lines">@@ -66,6 +68,15 @@
</span><span class="cx">         m_vm.stackPointerAtVMEntry = nullptr;
</span><span class="cx">         m_vm.updateStackLimitWithReservedZoneSize(m_savedReservedZoneSize);
</span><span class="cx">     }
</span><ins>+
+    if (m_recompilationNeeded) {
+        if (m_vm.entryScope)
+            m_vm.entryScope-&gt;setRecompilationNeeded(true);
+        else {
+            if (Debugger* debugger = m_globalObject-&gt;debugger())
+                debugger-&gt;recompileAllJSFunctions(&amp;m_vm);
+        }
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="branchesjsCStackSourceJavaScriptCoreruntimeVMEntryScopeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/JavaScriptCore/runtime/VMEntryScope.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -42,11 +42,14 @@
</span><span class="cx"> 
</span><span class="cx">     JSGlobalObject* globalObject() const { return m_globalObject; }
</span><span class="cx"> 
</span><ins>+    void setRecompilationNeeded(bool recompileNeeded) { m_recompilationNeeded = recompileNeeded; }
+
</ins><span class="cx"> private:
</span><span class="cx">     VM&amp; m_vm;
</span><span class="cx">     StackStats::CheckPoint m_stackCheckPoint;
</span><span class="cx">     JSGlobalObject* m_globalObject;
</span><span class="cx">     size_t m_savedReservedZoneSize;
</span><ins>+    bool m_recompilationNeeded;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/Configurations/Base.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/Configurations/Base.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/Configurations/Base.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</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 = $(BUILT_PRODUCTS_DIR)/usr/local/include $(DSTROOT)/$(INSTALL_PATH_PREFIX)/usr/local/include icu $(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="branchesjsCStackSourceWTFGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/GNUmakefile.list.am (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/GNUmakefile.list.am        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/GNUmakefile.list.am        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -232,6 +232,7 @@
</span><span class="cx">     Source/WTF/wtf/text/CString.cpp \
</span><span class="cx">     Source/WTF/wtf/text/CString.h \
</span><span class="cx">     Source/WTF/wtf/text/IntegerToStringConversion.h \
</span><ins>+    Source/WTF/wtf/text/LChar.h \
</ins><span class="cx">     Source/WTF/wtf/text/StringBuffer.h \
</span><span class="cx">     Source/WTF/wtf/text/StringBuilder.cpp \
</span><span class="cx">     Source/WTF/wtf/text/StringBuilder.h \
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFWTFvcxprojWTFmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.make (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.make        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.make        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,31 +0,0 @@
</span><del>-!IF defined(BUILDSTYLE) &amp;&amp; &quot;$(BUILDSTYLE)&quot;==&quot;DEBUG&quot;
-BUILDSTYLE=DebugSuffix
-!ELSE
-BUILDSTYLE=Production
-!ENDIF
-
-install:
-    set OFFICIAL_BUILD=1
-        set WebKit_Libraries=$(SRCROOT)\AppleInternal
-        set WebKit_OutputDir=$(OBJROOT)
-    set OriginalPath = %PATH%
-    
-    set ArchitectureBuildStyle=$(BUILDSTYLE)|Win32
-    set ProgramFilesAAS=Program Files (x86)\Common Files\Apple\Apple Application Support
-    set Path=%OriginalPath%;$(SRCROOT)\%ProgramFilesAAS%
-        set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
-    devenv &quot;WTF.submit.sln&quot; /clean &quot;%ArchitectureBuildStyle%&quot;
-    devenv &quot;WTF.submit.sln&quot; /build &quot;%ArchitectureBuildStyle%&quot;
-    echo &quot;%ConfigurationBuildDir%\include\*&quot;
-    xcopy &quot;%ConfigurationBuildDir%\include\*&quot; &quot;$(DSTROOT)\AppleInternal\include\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\lib32\*&quot; &quot;$(DSTROOT)\AppleInternal\lib32\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\bin32\*&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%&quot; /e/v/i/h/y
-
-    set ArchitectureBuildStyle=$(BUILDSTYLE)|x64
-    set ProgramFilesAAS=Program Files\Common Files\Apple\Apple Application Support
-    set Path=%OriginalPath%;$(SRCROOT)\%ProgramFilesAAS%
-        set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
-    devenv &quot;WTF.submit.sln&quot; /clean &quot;%ArchitectureBuildStyle%&quot;
-    devenv &quot;WTF.submit.sln&quot; /build &quot;%ArchitectureBuildStyle%&quot;
-    xcopy &quot;%ConfigurationBuildDir%\lib64\*&quot; &quot;$(DSTROOT)\AppleInternal\lib64\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\bin64\*&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%&quot; /e/v/i/h/y
</del><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFWTFvcxprojWTFproj"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.proj (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.proj                                (rev 0)
+++ branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.proj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,96 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
+&lt;Project InitialTargets=&quot;PreBuild&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
+
+  &lt;!-- normalize configuration case --&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Release'&quot;&gt;
+        &lt;CONFIG&gt;Production&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Debug'&quot;&gt;
+        &lt;CONFIG&gt;DebugSuffix&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;!-- Wrapper to build WTF for both win32 and x64. --&gt;
+  &lt;PropertyGroup&gt;
+    &lt;OFFICIAL_BUILD&gt;1&lt;/OFFICIAL_BUILD&gt;
+    &lt;WebKit_Libraries&gt;$(SRCROOT)\AppleInternal\&lt;/WebKit_Libraries&gt;
+    &lt;WebKit_OutputDir&gt;$(OBJROOT)&lt;/WebKit_OutputDir&gt;
+    &lt;AppleInternal&gt;$(DSTROOT)\AppleInternal&lt;/AppleInternal&gt;
+    &lt;AppleInternalLib32&gt;$(AppleInternal)\lib32&lt;/AppleInternalLib32&gt;
+    &lt;AppleInternalLib64&gt;$(AppleInternal)\lib64&lt;/AppleInternalLib64&gt;
+    &lt;AppleInternalBin32&gt;$(AppleInternal)\bin32&lt;/AppleInternalBin32&gt;
+    &lt;AppleInternalBin64&gt;$(AppleInternal)\bin64&lt;/AppleInternalBin64&gt;
+    &lt;AppleInternal32Symbols&gt;$(AppleInternal)\public32\sym&lt;/AppleInternal32Symbols&gt;
+    &lt;AppleInternal64Symbols&gt;$(AppleInternal)\public64\sym&lt;/AppleInternal64Symbols&gt;
+    &lt;ProgramFilesAAS32&gt;Program Files (x86)\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS32&gt;
+    &lt;ProgramFilesAAS64&gt;Program Files\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS64&gt;
+    &lt;ConfigurationBuildDir&gt;$(OBJROOT)\$(CONFIG)&lt;/ConfigurationBuildDir&gt;  
+    &lt;OutputDirectory&gt;$(DSTROOT)&lt;/OutputDirectory&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;ItemGroup&gt;
+    &lt;WTF Include=&quot;WTF.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=Win32;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/WTF&gt;
+    &lt;WTF Include=&quot;WTF.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=x64;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/WTF&gt;
+  &lt;/ItemGroup&gt;
+
+  &lt;!-- Prepare for build --&gt;
+  &lt;Target Name=&quot;PreBuild&quot; BeforeTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Error Text=&quot;OBJROOT property or environment variable must be defined.&quot; Condition=&quot;'$(OBJROOT)' == ''&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT);$(OBJROOT)&quot; /&gt;
+    &lt;Message Text=&quot;Build output -&gt; $(OBJROOT)&quot; /&gt;
+    &lt;Message Text=&quot;Final output -&gt; $(DSTROOT)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;!-- Build WTF Software --&gt;
+  &lt;Target Name=&quot;Build&quot; AfterTargets=&quot;PreBuild&quot;&gt;
+    &lt;Message Text=&quot;Building $(CONFIGURATION) Solution&quot; /&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Output=$(WebKit_OutputDir)&quot; /&gt;
+    &lt;MSBuild Projects=&quot;@(WTF)&quot; Properties=&quot;Configuration=$(CONFIG)&quot; Targets=&quot;ReBuild&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;Target Name=&quot;PostBuild&quot; AfterTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Moving $(CONFIG) build results to $(DSTROOT)&quot; /&gt;

+    &lt;!-- Identify the files to copy over --&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\include\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;IncFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*.pdb&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*.pdb&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib32\*&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib64\*&quot;&gt;
+       &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib64Files&quot; /&gt;
+    &lt;/CreateItem&gt;

+    &lt;Copy SourceFiles=&quot;@(IncFiles)&quot; DestinationFiles=&quot;@(IncFiles-&gt;'$(DSTROOT)\AppleInternal\include\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib32Files)&quot; DestinationFolder=&quot;$(AppleInternalLib32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib64Files)&quot; DestinationFolder=&quot;$(AppleInternalLib64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(AppleInternalBin32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal32Symbols)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(AppleInternalBin64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal64Symbols)&quot; /&gt;
+  &lt;/Target&gt;
+
+&lt;/Project&gt;
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceWTFWTFvcxprojWTFvcxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -285,6 +285,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\Base64.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\CString.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\IntegerToStringConversion.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\wtf\text\LChar.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\StringBuffer.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\StringBuilder.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\StringConcatenate.h&quot; /&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFWTFvcxprojWTFvcxprojfilters"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj.filters (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj.filters        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/WTF.vcxproj/WTF.vcxproj.filters        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -300,6 +300,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\IntegerToStringConversion.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\wtf\text\LChar.h&quot;&gt;
+      &lt;Filter&gt;text&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\wtf\text\StringBuffer.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFWTFxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/WTF.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/WTF.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/WTF.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -71,6 +71,7 @@
</span><span class="cx">                 7E29C33E15FFD79B00516D61 /* ObjcRuntimeExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */; };
</span><span class="cx">                 8134013815B092FD001FF0B8 /* Base64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8134013615B092FD001FF0B8 /* Base64.cpp */; };
</span><span class="cx">                 8134013915B092FD001FF0B8 /* Base64.h in Headers */ = {isa = PBXBuildFile; fileRef = 8134013715B092FD001FF0B8 /* Base64.h */; };
</span><ins>+                93AC91A818942FC400244939 /* LChar.h in Headers */ = {isa = PBXBuildFile; fileRef = 93AC91A718942FC400244939 /* LChar.h */; };
</ins><span class="cx">                 93B1AA80180E5AF3004A2F05 /* PassRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 93B1AA7F180E5AF3004A2F05 /* PassRef.h */; };
</span><span class="cx">                 974CFC8E16A4F327006D5404 /* WeakPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 974CFC8D16A4F327006D5404 /* WeakPtr.h */; };
</span><span class="cx">                 9BC70F05176C379D00101DEC /* AtomicStringTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9BC70F04176C379D00101DEC /* AtomicStringTable.cpp */; };
</span><span class="lines">@@ -345,6 +346,7 @@
</span><span class="cx">                 7E29C33D15FFD79B00516D61 /* ObjcRuntimeExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ObjcRuntimeExtras.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8134013615B092FD001FF0B8 /* Base64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Base64.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8134013715B092FD001FF0B8 /* Base64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Base64.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                93AC91A718942FC400244939 /* LChar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LChar.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 93B1AA7F180E5AF3004A2F05 /* PassRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PassRef.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 974CFC8D16A4F327006D5404 /* WeakPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakPtr.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9BC70F04176C379D00101DEC /* AtomicStringTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AtomicStringTable.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -895,6 +897,7 @@
</span><span class="cx">                                 A8A47321151A825B004123FF /* CString.cpp */,
</span><span class="cx">                                 A8A47322151A825B004123FF /* CString.h */,
</span><span class="cx">                                 26147B0815DDCCDC00DDB907 /* IntegerToStringConversion.h */,
</span><ins>+                                93AC91A718942FC400244939 /* LChar.h */,
</ins><span class="cx">                                 A8A47323151A825B004123FF /* StringBuffer.h */,
</span><span class="cx">                                 A8A47324151A825B004123FF /* StringBuilder.cpp */,
</span><span class="cx">                                 A8A47325151A825B004123FF /* StringBuilder.h */,
</span><span class="lines">@@ -1013,6 +1016,7 @@
</span><span class="cx">                                 A8A473B6151A825B004123FF /* fixed-dtoa.h in Headers */,
</span><span class="cx">                                 0F2B66A717B6B4FD00A7AE3F /* FlipBytes.h in Headers */,
</span><span class="cx">                                 A8A473C8151A825B004123FF /* Forward.h in Headers */,
</span><ins>+                                93AC91A818942FC400244939 /* LChar.h in Headers */,
</ins><span class="cx">                                 A8A473C9151A825B004123FF /* Functional.h in Headers */,
</span><span class="cx">                                 1A1D8B9C173186CE00141DA4 /* FunctionDispatcher.h in Headers */,
</span><span class="cx">                                 A8A473CA151A825B004123FF /* GetPtr.h in Headers */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfAtomicsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/Atomics.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/Atomics.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/Atomics.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -73,35 +73,6 @@
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="cx"> #if OS(WINDOWS)
</span><del>-
-#if OS(WINCE)
-inline int atomicIncrement(int* addend) { return InterlockedIncrement(reinterpret_cast&lt;long*&gt;(addend)); }
-inline int atomicDecrement(int* addend) { return InterlockedDecrement(reinterpret_cast&lt;long*&gt;(addend)); }
-#elif COMPILER(MINGW)
-inline int atomicIncrement(int* addend) { return InterlockedIncrement(reinterpret_cast&lt;long*&gt;(addend)); }
-inline int atomicDecrement(int* addend) { return InterlockedDecrement(reinterpret_cast&lt;long*&gt;(addend)); }
-
-inline int64_t atomicIncrement(int64_t* addend) { return InterlockedIncrement64(reinterpret_cast&lt;long long*&gt;(addend)); }
-inline int64_t atomicDecrement(int64_t* addend) { return InterlockedDecrement64(reinterpret_cast&lt;long long*&gt;(addend)); }
-#else
-inline int atomicIncrement(int volatile* addend) { return InterlockedIncrement(reinterpret_cast&lt;long volatile*&gt;(addend)); }
-inline int atomicDecrement(int volatile* addend) { return InterlockedDecrement(reinterpret_cast&lt;long volatile*&gt;(addend)); }
-
-inline int64_t atomicIncrement(int64_t volatile* addend) { return InterlockedIncrement64(reinterpret_cast&lt;long long volatile*&gt;(addend)); }
-inline int64_t atomicDecrement(int64_t volatile* addend) { return InterlockedDecrement64(reinterpret_cast&lt;long long volatile*&gt;(addend)); }
-#endif
-
-#elif COMPILER(GCC)
-
-inline int atomicIncrement(int volatile* addend) { return __sync_add_and_fetch(addend, 1); }
-inline int atomicDecrement(int volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
-
-inline int64_t atomicIncrement(int64_t volatile* addend) { return __sync_add_and_fetch(addend, 1); }
-inline int64_t atomicDecrement(int64_t volatile* addend) { return __sync_sub_and_fetch(addend, 1); }
-
-#endif
-
-#if OS(WINDOWS)
</del><span class="cx"> inline bool weakCompareAndSwap(volatile unsigned* location, unsigned expected, unsigned newValue)
</span><span class="cx"> {
</span><span class="cx"> #if OS(WINCE)
</span><span class="lines">@@ -343,7 +314,4 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WTF
</span><span class="cx"> 
</span><del>-using WTF::atomicDecrement;
-using WTF::atomicIncrement;
-
</del><span class="cx"> #endif // Atomics_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfCMakeListstxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/CMakeLists.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/CMakeLists.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/CMakeLists.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -130,6 +130,7 @@
</span><span class="cx">     text/Base64.h
</span><span class="cx">     text/CString.h
</span><span class="cx">     text/IntegerToStringConversion.h
</span><ins>+    text/LChar.h
</ins><span class="cx">     text/StringBuffer.h
</span><span class="cx">     text/StringHash.h
</span><span class="cx">     text/StringImpl.h
</span><span class="lines">@@ -222,31 +223,20 @@
</span><span class="cx">     ${CMAKE_DL_LIBS}
</span><span class="cx"> )
</span><span class="cx"> 
</span><del>-if (WTF_USE_ICU_UNICODE)
-    list(APPEND WTF_HEADERS
-        unicode/icu/UnicodeIcu.h
-    )
-    list(APPEND WTF_SOURCES
-        unicode/icu/CollatorICU.cpp
-    )
-    list(APPEND WTF_INCLUDE_DIRECTORIES
-        ${ICU_INCLUDE_DIRS}
-    )
-    list(APPEND WTF_LIBRARIES
-        ${ICU_I18N_LIBRARIES}
-        ${ICU_LIBRARIES}
-    )
-elseif (WTF_USE_WCHAR_UNICODE)
-    list(APPEND WTF_HEADERS
-        unicode/wchar/UnicodeWchar.h
-    )
-    list(APPEND WTF_SOURCES
-        unicode/CollatorDefault.cpp
</del><ins>+list(APPEND WTF_HEADERS
+    unicode/icu/UnicodeIcu.h
+)
+list(APPEND WTF_SOURCES
+    unicode/icu/CollatorICU.cpp
+)
+list(APPEND WTF_INCLUDE_DIRECTORIES
+    ${ICU_INCLUDE_DIRS}
+)
+list(APPEND WTF_LIBRARIES
+    ${ICU_I18N_LIBRARIES}
+    ${ICU_LIBRARIES}
+)
</ins><span class="cx"> 
</span><del>-        unicode/wchar/UnicodeWchar.cpp
-    )
-endif ()
-
</del><span class="cx"> if (WIN32)
</span><span class="cx">     list(APPEND WTF_SOURCES
</span><span class="cx">         OSAllocatorWin.cpp
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfCompilerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/Compiler.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/Compiler.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/Compiler.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,8 +43,11 @@
</span><span class="cx"> #define WTF_COMPILER_CLANG 1
</span><span class="cx"> #define WTF_COMPILER_SUPPORTS_BLOCKS __has_feature(blocks)
</span><span class="cx"> #define WTF_COMPILER_SUPPORTS_C_STATIC_ASSERT __has_feature(c_static_assert)
</span><ins>+#define WTF_COMPILER_SUPPORTS_CXX_CONSTEXPR __has_feature(cxx_constexpr)
+#define WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS __has_feature(cxx_generalized_initializers)
</ins><span class="cx"> #define WTF_COMPILER_SUPPORTS_CXX_REFERENCE_QUALIFIED_FUNCTIONS __has_feature(cxx_reference_qualified_functions)
</span><del>-#define WTF_COMPILER_SUPPORTS_CXX_GENERALIZED_INITIALIZERS __has_feature(cxx_generalized_initializers)
</del><ins>+#define WTF_COMPILER_SUPPORTS_CXX_USER_LITERALS __has_feature(cxx_user_literals)
+#define WTF_COMPILER_SUPPORTS_FALLTHROUGH_WARNINGS __has_feature(cxx_attributes) &amp;&amp; __has_warning(&quot;-Wimplicit-fallthrough&quot;)
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> /* COMPILER(GCC) - GNU Compiler Collection */
</span><span class="lines">@@ -67,6 +70,11 @@
</span><span class="cx"> #error &quot;Please use a newer version of GCC. WebKit requires GCC 4.7.0 or newer to compile.&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if COMPILER(GCC) &amp;&amp; !COMPILER(CLANG)
+#define WTF_COMPILER_SUPPORTS_CXX_CONSTEXPR 1
+#define WTF_COMPILER_SUPPORTS_CXX_USER_LITERALS 1
+#endif
+
</ins><span class="cx"> #if COMPILER(GCC) &amp;&amp; !COMPILER(CLANG) &amp;&amp; defined(__STDC_VERSION__) &amp;&amp; __STDC_VERSION__ &gt;= 201112L
</span><span class="cx"> #define WTF_COMPILER_SUPPORTS_C_STATIC_ASSERT 1
</span><span class="cx"> #endif
</span><span class="lines">@@ -119,7 +127,7 @@
</span><span class="cx"> #define WTF_COMPILER_SUPPORTS_EABI 1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-/* ==== Compiler-independent macros for various compiler features ==== */
</del><ins>+/* ==== Compiler-independent macros for various compiler features, in alphabetical order ==== */
</ins><span class="cx"> 
</span><span class="cx"> /* ALWAYS_INLINE */
</span><span class="cx"> 
</span><span class="lines">@@ -135,6 +143,26 @@
</span><span class="cx"> #define ALWAYS_INLINE inline
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+/* CONSTEXPR */
+
+#if !defined(CONSTEXPR) &amp;&amp; COMPILER_SUPPORTS(CXX_CONSTEXPR)
+#define CONSTEXPR constexpr
+#endif
+
+#if !defined(CONSTEXPR)
+#define CONSTEXPR
+#endif
+
+/* FALLTHROUGH */
+
+#if !defined(FALLTHROUGH) &amp;&amp; COMPILER_SUPPORTS(FALLTHROUGH_WARNINGS) &amp;&amp; COMPILER(CLANG)
+#define FALLTHROUGH [[clang::fallthrough]]
+#endif
+
+#if !defined(FALLTHROUGH)
+#define FALLTHROUGH
+#endif
+
</ins><span class="cx"> /* LIKELY */
</span><span class="cx"> 
</span><span class="cx"> #if !defined(LIKELY) &amp;&amp; COMPILER(GCC)
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfCurrentTimeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/CurrentTime.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/CurrentTime.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/CurrentTime.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -55,11 +55,6 @@
</span><span class="cx"> // NTP or manual adjustments, so it is better suited for elapsed time measurement.
</span><span class="cx"> WTF_EXPORT_PRIVATE double monotonicallyIncreasingTime();
</span><span class="cx"> 
</span><del>-inline double monotonicallyIncreasingTimeMS()
-{
-    return monotonicallyIncreasingTime() * 1000.0;
-}
-
</del><span class="cx"> // Returns the current CPU time of the current thread in seconds.
</span><span class="cx"> // Precision varies depending on platform but is usually as good or better
</span><span class="cx"> // than a millisecond.
</span><span class="lines">@@ -73,7 +68,6 @@
</span><span class="cx"> using WTF::currentTime;
</span><span class="cx"> using WTF::currentTimeMS;
</span><span class="cx"> using WTF::monotonicallyIncreasingTime;
</span><del>-using WTF::monotonicallyIncreasingTimeMS;
</del><span class="cx"> using WTF::currentCPUTime;
</span><span class="cx"> 
</span><span class="cx"> #endif // CurrentTime_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfDynamicAnnotationsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/DynamicAnnotations.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/DynamicAnnotations.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/DynamicAnnotations.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,6 +27,8 @@
</span><span class="cx"> #ifndef WTF_DynamicAnnotations_h
</span><span class="cx"> #define WTF_DynamicAnnotations_h
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/Platform.h&gt;
+
</ins><span class="cx"> /* This file defines dynamic annotations for use with dynamic analysis
</span><span class="cx">  * tool such as ThreadSanitizer, Valgrind, etc.
</span><span class="cx">  *
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfFeatureDefinesh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/FeatureDefines.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/FeatureDefines.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/FeatureDefines.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -464,10 +464,6 @@
</span><span class="cx"> #define ENABLE_DOWNLOAD_ATTRIBUTE 0
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if !defined(ENABLE_DRAGGABLE_REGION)
-#define ENABLE_DRAGGABLE_REGION 0
-#endif
-
</del><span class="cx"> #if !defined(ENABLE_DRAG_SUPPORT)
</span><span class="cx"> #define ENABLE_DRAG_SUPPORT 1
</span><span class="cx"> #endif
</span><span class="lines">@@ -858,6 +854,10 @@
</span><span class="cx"> #define ENABLE_WEB_TIMING 0
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if !defined(ENABLE_WILL_REVEAL_EDGE_EVENTS)
+#define ENABLE_WILL_REVEAL_EDGE_EVENTS 1
+#endif
+
</ins><span class="cx"> #if !defined(ENABLE_XHR_TIMEOUT)
</span><span class="cx"> #define ENABLE_XHR_TIMEOUT 0
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfHashTablecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/HashTable.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/HashTable.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/HashTable.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,14 +27,15 @@
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><span class="cx"> 
</span><del>-int HashTableStats::numAccesses;
-int HashTableStats::numCollisions;
-int HashTableStats::collisionGraph[4096];
-int HashTableStats::maxCollisions;
-int HashTableStats::numRehashes;
-int HashTableStats::numRemoves;
-int HashTableStats::numReinserts;
</del><ins>+std::atomic&lt;unsigned&gt; HashTableStats::numAccesses;
+std::atomic&lt;unsigned&gt; HashTableStats::numRehashes;
+std::atomic&lt;unsigned&gt; HashTableStats::numRemoves;
+std::atomic&lt;unsigned&gt; HashTableStats::numReinserts;
</ins><span class="cx"> 
</span><ins>+unsigned HashTableStats::numCollisions;
+unsigned HashTableStats::collisionGraph[4096];
+unsigned HashTableStats::maxCollisions;
+
</ins><span class="cx"> static std::mutex&amp; hashTableStatsMutex()
</span><span class="cx"> {
</span><span class="cx">     static std::once_flag onceFlag;
</span><span class="lines">@@ -46,7 +47,7 @@
</span><span class="cx">     return *mutex;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HashTableStats::recordCollisionAtCount(int count)
</del><ins>+void HashTableStats::recordCollisionAtCount(unsigned count)
</ins><span class="cx"> {
</span><span class="cx">     std::lock_guard&lt;std::mutex&gt; lock(hashTableStatsMutex());
</span><span class="cx"> 
</span><span class="lines">@@ -61,14 +62,14 @@
</span><span class="cx">     std::lock_guard&lt;std::mutex&gt; lock(hashTableStatsMutex());
</span><span class="cx"> 
</span><span class="cx">     dataLogF(&quot;\nWTF::HashTable statistics\n\n&quot;);
</span><del>-    dataLogF(&quot;%d accesses\n&quot;, numAccesses);
</del><ins>+    dataLogF(&quot;%u accesses\n&quot;, numAccesses.load());
</ins><span class="cx">     dataLogF(&quot;%d total collisions, average %.2f probes per access\n&quot;, numCollisions, 1.0 * (numAccesses + numCollisions) / numAccesses);
</span><span class="cx">     dataLogF(&quot;longest collision chain: %d\n&quot;, maxCollisions);
</span><del>-    for (int i = 1; i &lt;= maxCollisions; i++) {
-        dataLogF(&quot;  %d lookups with exactly %d collisions (%.2f%% , %.2f%% with this many or more)\n&quot;, collisionGraph[i], i, 100.0 * (collisionGraph[i] - collisionGraph[i+1]) / numAccesses, 100.0 * collisionGraph[i] / numAccesses);
</del><ins>+    for (unsigned i = 1; i &lt;= maxCollisions; i++) {
+        dataLogF(&quot;  %u lookups with exactly %u collisions (%.2f%% , %.2f%% with this many or more)\n&quot;, collisionGraph[i], i, 100.0 * (collisionGraph[i] - collisionGraph[i+1]) / numAccesses, 100.0 * collisionGraph[i] / numAccesses);
</ins><span class="cx">     }
</span><del>-    dataLogF(&quot;%d rehashes\n&quot;, numRehashes);
-    dataLogF(&quot;%d reinserts\n&quot;, numReinserts);
</del><ins>+    dataLogF(&quot;%d rehashes\n&quot;, numRehashes.load());
+    dataLogF(&quot;%d reinserts\n&quot;, numReinserts.load());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfHashTableh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/HashTable.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/HashTable.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/HashTable.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -22,6 +22,8 @@
</span><span class="cx"> #ifndef WTF_HashTable_h
</span><span class="cx"> #define WTF_HashTable_h
</span><span class="cx"> 
</span><ins>+#include &lt;atomic&gt;
+#include &lt;mutex&gt;
</ins><span class="cx"> #include &lt;string.h&gt;
</span><span class="cx"> #include &lt;type_traits&gt;
</span><span class="cx"> #include &lt;utility&gt;
</span><span class="lines">@@ -29,15 +31,8 @@
</span><span class="cx"> #include &lt;wtf/FastMalloc.h&gt;
</span><span class="cx"> #include &lt;wtf/HashTraits.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><del>-#include &lt;wtf/Threading.h&gt;
</del><span class="cx"> #include &lt;wtf/ValueCheck.h&gt;
</span><span class="cx"> 
</span><del>-#ifndef NDEBUG
-// Required for CHECK_HASHTABLE_ITERATORS.
-#include &lt;wtf/OwnPtr.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
-#endif
-
</del><span class="cx"> #define DUMP_HASHTABLE_STATS 0
</span><span class="cx"> #define DUMP_HASHTABLE_STATS_PER_TABLE 0
</span><span class="cx"> 
</span><span class="lines">@@ -62,17 +57,17 @@
</span><span class="cx"> 
</span><span class="cx">     struct HashTableStats {
</span><span class="cx">         // The following variables are all atomically incremented when modified.
</span><del>-        WTF_EXPORTDATA static int numAccesses;
-        WTF_EXPORTDATA static int numRehashes;
-        WTF_EXPORTDATA static int numRemoves;
-        WTF_EXPORTDATA static int numReinserts;
</del><ins>+        WTF_EXPORTDATA static std::atomic&lt;unsigned&gt; numAccesses;
+        WTF_EXPORTDATA static std::atomic&lt;unsigned&gt; numRehashes;
+        WTF_EXPORTDATA static std::atomic&lt;unsigned&gt; numRemoves;
+        WTF_EXPORTDATA static std::atomic&lt;unsigned&gt; numReinserts;
</ins><span class="cx"> 
</span><span class="cx">         // The following variables are only modified in the recordCollisionAtCount method within a mutex.
</span><del>-        WTF_EXPORTDATA static int maxCollisions;
-        WTF_EXPORTDATA static int numCollisions;
-        WTF_EXPORTDATA static int collisionGraph[4096];
</del><ins>+        WTF_EXPORTDATA static unsigned maxCollisions;
+        WTF_EXPORTDATA static unsigned numCollisions;
+        WTF_EXPORTDATA static unsigned collisionGraph[4096];
</ins><span class="cx"> 
</span><del>-        WTF_EXPORT_PRIVATE static void recordCollisionAtCount(int count);
</del><ins>+        WTF_EXPORT_PRIVATE static void recordCollisionAtCount(unsigned count);
</ins><span class="cx">         WTF_EXPORT_PRIVATE static void dumpStats();
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -483,12 +478,12 @@
</span><span class="cx">         // All access to m_iterators should be guarded with m_mutex.
</span><span class="cx">         mutable const_iterator* m_iterators;
</span><span class="cx">         // Use OwnPtr so HashTable can still be memmove'd or memcpy'ed.
</span><del>-        mutable std::unique_ptr&lt;Mutex&gt; m_mutex;
</del><ins>+        mutable std::unique_ptr&lt;std::mutex&gt; m_mutex;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">     public:
</span><del>-        mutable OwnPtr&lt;Stats&gt; m_stats;
</del><ins>+        mutable std::unique_ptr&lt;Stats&gt; m_stats;
</ins><span class="cx"> #endif
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="lines">@@ -539,7 +534,7 @@
</span><span class="cx">         , m_deletedCount(0)
</span><span class="cx"> #if CHECK_HASHTABLE_ITERATORS
</span><span class="cx">         , m_iterators(0)
</span><del>-        , m_mutex(std::make_unique&lt;Mutex&gt;())
</del><ins>+        , m_mutex(std::make_unique&lt;std::mutex&gt;())
</ins><span class="cx"> #endif
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         , m_stats(std::make_unique&lt;Stats&gt;())
</span><span class="lines">@@ -599,13 +594,12 @@
</span><span class="cx">             return 0;
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numAccesses);
-        int probeCount = 0;
</del><ins>+        ++HashTableStats::numAccesses;
+        unsigned probeCount = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numAccesses;
</span><del>-        int perTableProbeCount = 0;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         while (1) {
</span><span class="lines">@@ -631,8 +625,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><del>-            ++perTableProbeCount;
-            m_stats-&gt;recordCollisionAtCount(perTableProbeCount);
</del><ins>+            m_stats-&gt;recordCollisionAtCount(probeCount);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">             if (k == 0)
</span><span class="lines">@@ -655,13 +648,12 @@
</span><span class="cx">         int i = h &amp; sizeMask;
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numAccesses);
</del><ins>+        ++HashTableStats::numAccesses;
</ins><span class="cx">         int probeCount = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numAccesses;
</span><del>-        int perTableProbeCount = 0;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         ValueType* deletedEntry = 0;
</span><span class="lines">@@ -694,8 +686,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><del>-            ++perTableProbeCount;
-            m_stats-&gt;recordCollisionAtCount(perTableProbeCount);
</del><ins>+            m_stats-&gt;recordCollisionAtCount(probeCount);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">             if (k == 0)
</span><span class="lines">@@ -718,13 +709,12 @@
</span><span class="cx">         int i = h &amp; sizeMask;
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numAccesses);
-        int probeCount = 0;
</del><ins>+        ++HashTableStats::numAccesses;
+        unsigned probeCount = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numAccesses;
</span><del>-        int perTableProbeCount = 0;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         ValueType* deletedEntry = 0;
</span><span class="lines">@@ -757,8 +747,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><del>-            ++perTableProbeCount;
-            m_stats-&gt;recordCollisionAtCount(perTableProbeCount);
</del><ins>+            m_stats-&gt;recordCollisionAtCount(probeCount);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">             if (k == 0)
</span><span class="lines">@@ -814,13 +803,12 @@
</span><span class="cx">         int i = h &amp; sizeMask;
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numAccesses);
-        int probeCount = 0;
</del><ins>+        ++HashTableStats::numAccesses;
+        unsigned probeCount = 0;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numAccesses;
</span><del>-        int perTableProbeCount = 0;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">         ValueType* deletedEntry = 0;
</span><span class="lines">@@ -853,8 +841,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><del>-            ++perTableProbeCount;
-            m_stats-&gt;recordCollisionAtCount(perTableProbeCount);
</del><ins>+            m_stats-&gt;recordCollisionAtCount(probeCount);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">             if (k == 0)
</span><span class="lines">@@ -924,7 +911,7 @@
</span><span class="cx">         ASSERT(!lookupForWriting(Extractor::extract(entry)).second);
</span><span class="cx">         ASSERT(!isDeletedBucket(*(lookupForWriting(Extractor::extract(entry)).first)));
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numReinserts);
</del><ins>+        ++HashTableStats::numReinserts;
</ins><span class="cx"> #endif
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numReinserts;
</span><span class="lines">@@ -994,7 +981,7 @@
</span><span class="cx">     void HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(ValueType* pos)
</span><span class="cx">     {
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><del>-        atomicIncrement(&amp;HashTableStats::numRemoves);
</del><ins>+        ++HashTableStats::numRemoves;
</ins><span class="cx"> #endif
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         ++m_stats-&gt;numRemoves;
</span><span class="lines">@@ -1090,7 +1077,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS
</span><span class="cx">         if (oldTableSize != 0)
</span><del>-            atomicIncrement(&amp;HashTableStats::numRehashes);
</del><ins>+            ++HashTableStats::numRehashes;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="lines">@@ -1147,7 +1134,7 @@
</span><span class="cx">         , m_deletedCount(0)
</span><span class="cx"> #if CHECK_HASHTABLE_ITERATORS
</span><span class="cx">         , m_iterators(0)
</span><del>-        , m_mutex(std::make_unique&lt;Mutex&gt;())
</del><ins>+        , m_mutex(std::make_unique&lt;std::mutex&gt;())
</ins><span class="cx"> #endif
</span><span class="cx"> #if DUMP_HASHTABLE_STATS_PER_TABLE
</span><span class="cx">         , m_stats(std::make_unique&lt;Stats&gt;(*other.m_stats))
</span><span class="lines">@@ -1252,7 +1239,7 @@
</span><span class="cx">     template&lt;typename Key, typename Value, typename Extractor, typename HashFunctions, typename Traits, typename KeyTraits&gt;
</span><span class="cx">     void HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::invalidateIterators()
</span><span class="cx">     {
</span><del>-        MutexLocker lock(*m_mutex);
</del><ins>+        std::lock_guard&lt;std::mutex&gt; lock(*m_mutex);
</ins><span class="cx">         const_iterator* next;
</span><span class="cx">         for (const_iterator* p = m_iterators; p; p = next) {
</span><span class="cx">             next = p-&gt;m_next;
</span><span class="lines">@@ -1274,7 +1261,7 @@
</span><span class="cx">         if (!table) {
</span><span class="cx">             it-&gt;m_next = 0;
</span><span class="cx">         } else {
</span><del>-            MutexLocker lock(*table-&gt;m_mutex);
</del><ins>+            std::lock_guard&lt;std::mutex&gt; lock(*table-&gt;m_mutex);
</ins><span class="cx">             ASSERT(table-&gt;m_iterators != it);
</span><span class="cx">             it-&gt;m_next = table-&gt;m_iterators;
</span><span class="cx">             table-&gt;m_iterators = it;
</span><span class="lines">@@ -1296,7 +1283,7 @@
</span><span class="cx">             ASSERT(!it-&gt;m_next);
</span><span class="cx">             ASSERT(!it-&gt;m_previous);
</span><span class="cx">         } else {
</span><del>-            MutexLocker lock(*it-&gt;m_table-&gt;m_mutex);
</del><ins>+            std::lock_guard&lt;std::mutex&gt; lock(*it-&gt;m_table-&gt;m_mutex);
</ins><span class="cx">             if (it-&gt;m_next) {
</span><span class="cx">                 ASSERT(it-&gt;m_next-&gt;m_previous == it);
</span><span class="cx">                 it-&gt;m_next-&gt;m_previous = it-&gt;m_previous;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfPlatformh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/Platform.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/Platform.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/Platform.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -470,10 +470,6 @@
</span><span class="cx"> #define WTF_USE_QUERY_PERFORMANCE_COUNTER  1
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if !USE(WCHAR_UNICODE)
-#define WTF_USE_ICU_UNICODE 1
-#endif
-
</del><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> 
</span><span class="cx"> #define WTF_USE_CF 1
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfRefCountedLeakCountercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,7 @@
</span><span class="cx">     static bool loggedSuppressionReason;
</span><span class="cx">     if (m_count) {
</span><span class="cx">         if (!leakMessageSuppressionReasons || leakMessageSuppressionReasons-&gt;isEmpty())
</span><del>-            LOG(RefCountedLeaks, &quot;LEAK: %u %s&quot;, m_count, m_description);
</del><ins>+            LOG(RefCountedLeaks, &quot;LEAK: %u %s&quot;, m_count.load(), m_description);
</ins><span class="cx">         else if (!loggedSuppressionReason) {
</span><span class="cx">             // This logs only one reason. Later we could change it so we log all the reasons.
</span><span class="cx">             LOG(RefCountedLeaks, &quot;No leak checking done: %s&quot;, leakMessageSuppressionReasons-&gt;begin()-&gt;key);
</span><span class="lines">@@ -79,12 +79,12 @@
</span><span class="cx"> 
</span><span class="cx"> void RefCountedLeakCounter::increment()
</span><span class="cx"> {
</span><del>-    atomicIncrement(&amp;m_count);
</del><ins>+    ++m_count;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RefCountedLeakCounter::decrement()
</span><span class="cx"> {
</span><del>-    atomicDecrement(&amp;m_count);
</del><ins>+    --m_count;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfRefCountedLeakCounterh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/RefCountedLeakCounter.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -20,32 +20,28 @@
</span><span class="cx">  
</span><span class="cx"> #ifndef RefCountedLeakCounter_h
</span><span class="cx"> #define RefCountedLeakCounter_h
</span><del>- 
</del><ins>+
+#include &lt;atomic&gt;
</ins><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><del>-#include &lt;wtf/Threading.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx">     
</span><del>-    struct RefCountedLeakCounter {
-        WTF_EXPORT_PRIVATE static void suppressMessages(const char*);
-        WTF_EXPORT_PRIVATE static void cancelMessageSuppression(const char*);
-        
-        WTF_EXPORT_PRIVATE explicit RefCountedLeakCounter(const char* description);
-        WTF_EXPORT_PRIVATE ~RefCountedLeakCounter();
</del><ins>+struct RefCountedLeakCounter {
+    WTF_EXPORT_PRIVATE static void suppressMessages(const char*);
+    WTF_EXPORT_PRIVATE static void cancelMessageSuppression(const char*);
+    
+    WTF_EXPORT_PRIVATE explicit RefCountedLeakCounter(const char* description);
+    WTF_EXPORT_PRIVATE ~RefCountedLeakCounter();
</ins><span class="cx"> 
</span><del>-        WTF_EXPORT_PRIVATE void increment();
-        WTF_EXPORT_PRIVATE void decrement();
</del><ins>+    WTF_EXPORT_PRIVATE void increment();
+    WTF_EXPORT_PRIVATE void decrement();
</ins><span class="cx"> 
</span><span class="cx"> #ifndef NDEBUG
</span><del>-    private:
-#if COMPILER(MINGW) || OS(WINCE)
-        int m_count;
-#else
-        volatile int m_count;
</del><ins>+private:
+    std::atomic&lt;int&gt; m_count;
+    const char* m_description;
</ins><span class="cx"> #endif
</span><del>-        const char* m_description;
-#endif
-    };
</del><ins>+};
</ins><span class="cx"> 
</span><span class="cx"> }  // namespace WTF
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfStdLibExtrash"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/StdLibExtras.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/StdLibExtras.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/StdLibExtras.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #ifndef WTF_StdLibExtras_h
</span><span class="cx"> #define WTF_StdLibExtras_h
</span><span class="cx"> 
</span><ins>+#include &lt;chrono&gt;
</ins><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> #include &lt;wtf/CheckedArithmetic.h&gt;
</span><span class="lines">@@ -324,54 +325,72 @@
</span><span class="cx"> namespace std {
</span><span class="cx"> // MSVC 2013 supports std::make_unique already.
</span><span class="cx"> #if !defined(_MSC_VER) || _MSC_VER &lt; 1800
</span><del>-    template&lt;class T&gt; struct _Unique_if {
-        typedef unique_ptr&lt;T&gt; _Single_object;
-    };
</del><ins>+template&lt;class T&gt; struct _Unique_if {
+    typedef unique_ptr&lt;T&gt; _Single_object;
+};
</ins><span class="cx"> 
</span><del>-    template&lt;class T&gt; struct _Unique_if&lt;T[]&gt; {
-        typedef unique_ptr&lt;T[]&gt; _Unknown_bound;
-    };
</del><ins>+template&lt;class T&gt; struct _Unique_if&lt;T[]&gt; {
+    typedef unique_ptr&lt;T[]&gt; _Unknown_bound;
+};
</ins><span class="cx"> 
</span><del>-    template&lt;class T, size_t N&gt; struct _Unique_if&lt;T[N]&gt; {
-        typedef void _Known_bound;
-    };
</del><ins>+template&lt;class T, size_t N&gt; struct _Unique_if&lt;T[N]&gt; {
+    typedef void _Known_bound;
+};
</ins><span class="cx"> 
</span><del>-    template&lt;class T, class... Args&gt; inline typename _Unique_if&lt;T&gt;::_Single_object
-    make_unique(Args&amp;&amp;... args)
-    {
-        return unique_ptr&lt;T&gt;(new T(std::forward&lt;Args&gt;(args)...));
-    }
</del><ins>+template&lt;class T, class... Args&gt; inline typename _Unique_if&lt;T&gt;::_Single_object
+make_unique(Args&amp;&amp;... args)
+{
+    return unique_ptr&lt;T&gt;(new T(std::forward&lt;Args&gt;(args)...));
+}
</ins><span class="cx"> 
</span><del>-    template&lt;class T&gt; inline typename _Unique_if&lt;T&gt;::_Unknown_bound
-    make_unique(size_t n)
-    {
-        typedef typename remove_extent&lt;T&gt;::type U;
-        return unique_ptr&lt;T&gt;(new U[n]());
-    }
-    
-    template&lt;class T, class... Args&gt; typename _Unique_if&lt;T&gt;::_Known_bound
-    make_unique(Args&amp;&amp;...) = delete;
</del><ins>+template&lt;class T&gt; inline typename _Unique_if&lt;T&gt;::_Unknown_bound
+make_unique(size_t n)
+{
+    typedef typename remove_extent&lt;T&gt;::type U;
+    return unique_ptr&lt;T&gt;(new U[n]());
+}
+
+template&lt;class T, class... Args&gt; typename _Unique_if&lt;T&gt;::_Known_bound
+make_unique(Args&amp;&amp;...) = delete;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    // Compile-time integer sequences
-    // http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html
-    // (Note that we only implement index_sequence, and not the more generic integer_sequence).
-    template&lt;size_t... indexes&gt; struct index_sequence {
-        static size_t size() { return sizeof...(indexes); }
-    };
</del><ins>+// Compile-time integer sequences
+// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3658.html
+// (Note that we only implement index_sequence, and not the more generic integer_sequence).
+template&lt;size_t... indexes&gt; struct index_sequence {
+    static size_t size() { return sizeof...(indexes); }
+};
</ins><span class="cx"> 
</span><del>-    template&lt;size_t currentIndex, size_t...indexes&gt; struct make_index_sequence_helper;
</del><ins>+template&lt;size_t currentIndex, size_t...indexes&gt; struct make_index_sequence_helper;
</ins><span class="cx"> 
</span><del>-    template&lt;size_t...indexes&gt; struct make_index_sequence_helper&lt;0, indexes...&gt; {
-        typedef std::index_sequence&lt;indexes...&gt; type;
-    };
</del><ins>+template&lt;size_t...indexes&gt; struct make_index_sequence_helper&lt;0, indexes...&gt; {
+    typedef std::index_sequence&lt;indexes...&gt; type;
+};
</ins><span class="cx"> 
</span><del>-    template&lt;size_t currentIndex, size_t...indexes&gt; struct make_index_sequence_helper {
-        typedef typename make_index_sequence_helper&lt;currentIndex - 1, currentIndex - 1, indexes...&gt;::type type;
-    };
</del><ins>+template&lt;size_t currentIndex, size_t...indexes&gt; struct make_index_sequence_helper {
+    typedef typename make_index_sequence_helper&lt;currentIndex - 1, currentIndex - 1, indexes...&gt;::type type;
+};
</ins><span class="cx"> 
</span><del>-    template&lt;size_t length&gt; struct make_index_sequence : public make_index_sequence_helper&lt;length&gt;::type { };
</del><ins>+template&lt;size_t length&gt; struct make_index_sequence : public make_index_sequence_helper&lt;length&gt;::type { };
+
+#if COMPILER_SUPPORTS(CXX_USER_LITERALS)
+// These literals are available in C++14, so once we require C++14 compilers we can get rid of them here.
+// (User-literals need to have a leading underscore so we add it here - the &quot;real&quot; literals don't have underscores).
+namespace literals {
+namespace chrono_literals {
+    CONSTEXPR inline chrono::seconds operator&quot;&quot; _s(unsigned long long s)
+    {
+        return chrono::seconds(static_cast&lt;chrono::seconds::rep&gt;(s));
+    }
+
+    CONSTEXPR chrono::milliseconds operator&quot;&quot; _ms(unsigned long long ms)
+    {
+        return chrono::milliseconds(static_cast&lt;chrono::milliseconds::rep&gt;(ms));
+    }
</ins><span class="cx"> }
</span><ins>+}
+#endif
+}
</ins><span class="cx"> 
</span><span class="cx"> using WTF::KB;
</span><span class="cx"> using WTF::MB;
</span><span class="lines">@@ -384,4 +403,9 @@
</span><span class="cx"> using WTF::bitwise_cast;
</span><span class="cx"> using WTF::safeCast;
</span><span class="cx"> 
</span><ins>+#if COMPILER_SUPPORTS(CXX_USER_LITERALS)
+// We normally don't want to bring in entire std namespaces, but literals are an exception.
+using namespace std::literals::chrono_literals;
+#endif
+
</ins><span class="cx"> #endif // WTF_StdLibExtras_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfThreadSafeRefCountedh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/ThreadSafeRefCounted.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -59,11 +59,9 @@
</span><span class="cx"> #ifndef ThreadSafeRefCounted_h
</span><span class="cx"> #define ThreadSafeRefCounted_h
</span><span class="cx"> 
</span><del>-#include &lt;wtf/Platform.h&gt;
-
-#include &lt;wtf/Atomics.h&gt;
</del><ins>+#include &lt;atomic&gt;
</ins><span class="cx"> #include &lt;wtf/DynamicAnnotations.h&gt;
</span><del>-#include &lt;wtf/ThreadingPrimitives.h&gt;
</del><ins>+#include &lt;wtf/Noncopyable.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="lines">@@ -78,7 +76,7 @@
</span><span class="cx"> 
</span><span class="cx">     void ref()
</span><span class="cx">     {
</span><del>-        atomicIncrement(&amp;m_refCount);
</del><ins>+        ++m_refCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     bool hasOneRef()
</span><span class="lines">@@ -88,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx">     int refCount() const
</span><span class="cx">     {
</span><del>-        return static_cast&lt;int const volatile&amp;&gt;(m_refCount);
</del><ins>+        return m_refCount;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="lines">@@ -96,7 +94,7 @@
</span><span class="cx">     bool derefBase()
</span><span class="cx">     {
</span><span class="cx">         WTF_ANNOTATE_HAPPENS_BEFORE(&amp;m_refCount);
</span><del>-        if (atomicDecrement(&amp;m_refCount) &lt;= 0) {
</del><ins>+        if (--m_refCount &lt;= 0) {
</ins><span class="cx">             WTF_ANNOTATE_HAPPENS_AFTER(&amp;m_refCount);
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="lines">@@ -105,7 +103,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    int m_refCount;
</del><ins>+    std::atomic&lt;int&gt; m_refCount;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template&lt;class T&gt; class ThreadSafeRefCounted : public ThreadSafeRefCountedBase {
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfdtoafastdtoacc"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/dtoa/fast-dtoa.cc (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/dtoa/fast-dtoa.cc        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/dtoa/fast-dtoa.cc        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -253,7 +253,8 @@
</span><span class="cx">                     *power = kTen9;
</span><span class="cx">                     *exponent = 9;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 29:
</span><span class="cx">             case 28:
</span><span class="cx">             case 27:
</span><span class="lines">@@ -261,7 +262,8 @@
</span><span class="cx">                     *power = kTen8;
</span><span class="cx">                     *exponent = 8;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 26:
</span><span class="cx">             case 25:
</span><span class="cx">             case 24:
</span><span class="lines">@@ -269,7 +271,8 @@
</span><span class="cx">                     *power = kTen7;
</span><span class="cx">                     *exponent = 7;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 23:
</span><span class="cx">             case 22:
</span><span class="cx">             case 21:
</span><span class="lines">@@ -278,7 +281,8 @@
</span><span class="cx">                     *power = kTen6;
</span><span class="cx">                     *exponent = 6;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 19:
</span><span class="cx">             case 18:
</span><span class="cx">             case 17:
</span><span class="lines">@@ -286,7 +290,8 @@
</span><span class="cx">                     *power = kTen5;
</span><span class="cx">                     *exponent = 5;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 16:
</span><span class="cx">             case 15:
</span><span class="cx">             case 14:
</span><span class="lines">@@ -294,7 +299,8 @@
</span><span class="cx">                     *power = kTen4;
</span><span class="cx">                     *exponent = 4;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 13:
</span><span class="cx">             case 12:
</span><span class="cx">             case 11:
</span><span class="lines">@@ -303,7 +309,8 @@
</span><span class="cx">                     *power = 1000;
</span><span class="cx">                     *exponent = 3;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 9:
</span><span class="cx">             case 8:
</span><span class="cx">             case 7:
</span><span class="lines">@@ -311,7 +318,8 @@
</span><span class="cx">                     *power = 100;
</span><span class="cx">                     *exponent = 2;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 6:
</span><span class="cx">             case 5:
</span><span class="cx">             case 4:
</span><span class="lines">@@ -319,7 +327,8 @@
</span><span class="cx">                     *power = 10;
</span><span class="cx">                     *exponent = 1;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 3:
</span><span class="cx">             case 2:
</span><span class="cx">             case 1:
</span><span class="lines">@@ -327,7 +336,8 @@
</span><span class="cx">                     *power = 1;
</span><span class="cx">                     *exponent = 0;
</span><span class="cx">                     break;
</span><del>-                }  // else fallthrough
</del><ins>+                }
+                FALLTHROUGH;
</ins><span class="cx">             case 0:
</span><span class="cx">                 *power = 0;
</span><span class="cx">                 *exponent = -1;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtftextLCharh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WTF/wtf/text/LChar.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/text/LChar.h                                (rev 0)
+++ branches/jsCStack/Source/WTF/wtf/text/LChar.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2014 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 COMPUTER, INC. ``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 COMPUTER, INC. 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 LChar_h
+#define LChar_h
+
+// A type to hold a single Latin-1 character.
+// This type complements the UChar type that we get from the ICU library.
+// To parallel that type, we put it outside any namespace.
+typedef unsigned char LChar;
+
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWTFwtftextStringImplcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/text/StringImpl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/text/StringImpl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/text/StringImpl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1489,7 +1489,7 @@
</span><span class="cx">         for (unsigned i = 0; i &lt; length() - position - lengthToReplace; ++i)
</span><span class="cx">             data[i + position + lengthToInsert] = m_data8[i + position + lengthToReplace];
</span><span class="cx">     } else {
</span><del>-        memcpy(data + position + lengthToInsert, characters() + position + lengthToReplace,
</del><ins>+        memcpy(data + position + lengthToInsert, characters16() + position + lengthToReplace,
</ins><span class="cx">             (length() - position - lengthToReplace) * sizeof(UChar));
</span><span class="cx">     }
</span><span class="cx">     return newImpl;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtftextWTFStringh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/text/WTFString.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/text/WTFString.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/text/WTFString.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -632,7 +632,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (is8Bit())
</span><span class="cx">         return WTF::isAllSpecialCharacters&lt;isSpecialCharacter, LChar&gt;(characters8(), len);
</span><del>-    return WTF::isAllSpecialCharacters&lt;isSpecialCharacter, UChar&gt;(characters(), len);
</del><ins>+    return WTF::isAllSpecialCharacters&lt;isSpecialCharacter, UChar&gt;(characters16(), len);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // StringHash is the default hash for String
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfunicodeCollatorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/unicode/Collator.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/unicode/Collator.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/unicode/Collator.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,9 +33,7 @@
</span><span class="cx"> #include &lt;wtf/OwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/unicode/Unicode.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><span class="cx"> struct UCollator;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span><span class="lines">@@ -53,7 +51,7 @@
</span><span class="cx">         WTF_EXPORT_PRIVATE Result collate(const ::UChar*, size_t, const ::UChar*, size_t) const;
</span><span class="cx"> 
</span><span class="cx">     private:
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#if !UCONFIG_NO_COLLATION
</ins><span class="cx">         void createCollator() const;
</span><span class="cx">         void releaseCollator();
</span><span class="cx">         mutable UCollator* m_collator;
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfunicodeCollatorDefaultcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/unicode/CollatorDefault.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/unicode/CollatorDefault.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/unicode/CollatorDefault.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Collator.h&quot;
</span><span class="cx"> 
</span><del>-#if !USE(ICU_UNICODE) || UCONFIG_NO_COLLATION
</del><ins>+#if UCONFIG_NO_COLLATION
</ins><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfunicodeUTF8cpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/unicode/UTF8.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/unicode/UTF8.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/unicode/UTF8.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -157,6 +157,7 @@
</span><span class="cx">         case 2:
</span><span class="cx">             *--target = (char)((ch | byteMark) &amp; byteMask);
</span><span class="cx">             ch &gt;&gt;= 6;
</span><ins>+            FALLTHROUGH;
</ins><span class="cx">         case 1:
</span><span class="cx">             *--target =  (char)(ch | firstByteMark[bytesToWrite]);
</span><span class="cx">         }
</span><span class="lines">@@ -230,9 +231,9 @@
</span><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         switch (bytesToWrite) { // note: everything falls through.
</span><del>-            case 4: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6;
-            case 3: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6;
-            case 2: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6;
</del><ins>+            case 4: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6; FALLTHROUGH;
+            case 3: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6; FALLTHROUGH;
+            case 2: *--target = (char)((ch | byteMark) &amp; byteMask); ch &gt;&gt;= 6; FALLTHROUGH;
</ins><span class="cx">             case 1: *--target =  (char)(ch | firstByteMark[bytesToWrite]);
</span><span class="cx">         }
</span><span class="cx">         target += bytesToWrite;
</span><span class="lines">@@ -252,8 +253,8 @@
</span><span class="cx">     switch (length) {
</span><span class="cx">         default: return false;
</span><span class="cx">         // Everything else falls through when &quot;true&quot;...
</span><del>-        case 4: if ((a = (*--srcptr)) &lt; 0x80 || a &gt; 0xBF) return false;
-        case 3: if ((a = (*--srcptr)) &lt; 0x80 || a &gt; 0xBF) return false;
</del><ins>+        case 4: if ((a = (*--srcptr)) &lt; 0x80 || a &gt; 0xBF) return false; FALLTHROUGH;
+        case 3: if ((a = (*--srcptr)) &lt; 0x80 || a &gt; 0xBF) return false; FALLTHROUGH;
</ins><span class="cx">         case 2: if ((a = (*--srcptr)) &gt; 0xBF) return false;
</span><span class="cx"> 
</span><span class="cx">         switch (*source) {
</span><span class="lines">@@ -264,6 +265,7 @@
</span><span class="cx">             case 0xF4: if (a &gt; 0x8F) return false; break;
</span><span class="cx">             default:   if (a &lt; 0x80) return false;
</span><span class="cx">         }
</span><ins>+        FALLTHROUGH;
</ins><span class="cx"> 
</span><span class="cx">         case 1: if (*source &gt;= 0x80 &amp;&amp; *source &lt; 0xC2) return false;
</span><span class="cx">     }
</span><span class="lines">@@ -283,11 +285,11 @@
</span><span class="cx"> 
</span><span class="cx">     // The cases all fall through.
</span><span class="cx">     switch (length) {
</span><del>-        case 6: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6;
-        case 5: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6;
-        case 4: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6;
-        case 3: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6;
-        case 2: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6;
</del><ins>+        case 6: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6; FALLTHROUGH;
+        case 5: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6; FALLTHROUGH;
+        case 4: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6; FALLTHROUGH;
+        case 3: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6; FALLTHROUGH;
+        case 2: character += static_cast&lt;unsigned char&gt;(*sequence++); character &lt;&lt;= 6; FALLTHROUGH;
</ins><span class="cx">         case 1: character += static_cast&lt;unsigned char&gt;(*sequence++);
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfunicodeUnicodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/unicode/Unicode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/unicode/Unicode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/unicode/Unicode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,13 +28,7 @@
</span><span class="cx"> // Define platform neutral 8 bit character type (L is for Latin-1).
</span><span class="cx"> typedef unsigned char LChar;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx"> #include &lt;wtf/unicode/icu/UnicodeIcu.h&gt;
</span><del>-#elif USE(WCHAR_UNICODE)
-#include &lt;wtf/unicode/wchar/UnicodeWchar.h&gt;
-#else
-#error &quot;Unknown Unicode implementation&quot;
-#endif
</del><span class="cx"> 
</span><span class="cx"> static_assert(sizeof(UChar) == 2, &quot;UChar must be two bytes!&quot;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWTFwtfunicodeicuCollatorICUcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WTF/wtf/unicode/icu/CollatorICU.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WTF/wtf/unicode/icu/CollatorICU.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WTF/wtf/unicode/icu/CollatorICU.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &lt;wtf/unicode/Collator.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#if !UCONFIG_NO_COLLATION
</ins><span class="cx"> 
</span><span class="cx"> #include &lt;mutex&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="lines">@@ -156,4 +156,4 @@
</span><span class="cx"> 
</span><span class="cx"> } // namespace WTF
</span><span class="cx"> 
</span><del>-#endif // USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/CMakeLists.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/CMakeLists.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/CMakeLists.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -533,7 +533,6 @@
</span><span class="cx"> 
</span><span class="cx">     inspector/CommandLineAPIHost.idl
</span><span class="cx">     inspector/InspectorFrontendHost.idl
</span><del>-    inspector/JavaScriptCallFrame.idl
</del><span class="cx">     inspector/ScriptProfile.idl
</span><span class="cx">     inspector/ScriptProfileNode.idl
</span><span class="cx"> 
</span><span class="lines">@@ -1145,7 +1144,6 @@
</span><span class="cx">     dom/DOMImplementation.cpp
</span><span class="cx">     dom/DOMNamedFlowCollection.cpp
</span><span class="cx">     dom/DOMStringList.cpp
</span><del>-    dom/DOMStringMap.cpp
</del><span class="cx">     dom/DataTransferItem.cpp
</span><span class="cx">     dom/DatasetDOMStringMap.cpp
</span><span class="cx">     dom/DecodedDataDocumentParser.cpp
</span><span class="lines">@@ -1588,7 +1586,6 @@
</span><span class="cx">     inspector/InspectorDOMStorageAgent.cpp
</span><span class="cx">     inspector/InspectorDatabaseAgent.cpp
</span><span class="cx">     inspector/InspectorDatabaseResource.cpp
</span><del>-    inspector/InspectorDebuggerAgent.cpp
</del><span class="cx">     inspector/InspectorFrontendClientLocal.cpp
</span><span class="cx">     inspector/InspectorFrontendHost.cpp
</span><span class="cx">     inspector/InspectorHeapProfilerAgent.cpp
</span><span class="lines">@@ -1604,7 +1601,6 @@
</span><span class="cx">     inspector/InspectorPageAgent.cpp
</span><span class="cx">     inspector/InspectorProfilerAgent.cpp
</span><span class="cx">     inspector/InspectorResourceAgent.cpp
</span><del>-    inspector/InspectorRuntimeAgent.cpp
</del><span class="cx">     inspector/InspectorStyleSheet.cpp
</span><span class="cx">     inspector/InspectorStyleTextEditor.cpp
</span><span class="cx">     inspector/InspectorTimelineAgent.cpp
</span><span class="lines">@@ -1620,6 +1616,7 @@
</span><span class="cx">     inspector/ScriptCallFrame.cpp
</span><span class="cx">     inspector/ScriptCallStack.cpp
</span><span class="cx">     inspector/TimelineRecordFactory.cpp
</span><ins>+    inspector/WebDebuggerAgent.cpp
</ins><span class="cx">     inspector/WorkerConsoleAgent.cpp
</span><span class="cx">     inspector/WorkerDebuggerAgent.cpp
</span><span class="cx">     inspector/WorkerInspectorController.cpp
</span><span class="lines">@@ -2059,6 +2056,7 @@
</span><span class="cx">     platform/sql/SQLValue.cpp
</span><span class="cx">     platform/sql/SQLiteAuthorizer.cpp
</span><span class="cx">     platform/sql/SQLiteDatabase.cpp
</span><ins>+    platform/sql/SQLiteDatabaseTracker.cpp
</ins><span class="cx">     platform/sql/SQLiteFileSystem.cpp
</span><span class="cx">     platform/sql/SQLiteStatement.cpp
</span><span class="cx">     platform/sql/SQLiteTransaction.cpp
</span><span class="lines">@@ -2081,7 +2079,6 @@
</span><span class="cx">     platform/text/TextEncoding.cpp
</span><span class="cx">     platform/text/TextEncodingRegistry.cpp
</span><span class="cx">     platform/text/TextStream.cpp
</span><del>-    platform/text/UnicodeRange.cpp
</del><span class="cx"> 
</span><span class="cx">     plugins/DOMMimeType.cpp
</span><span class="cx">     plugins/DOMMimeTypeArray.cpp
</span><span class="lines">@@ -2159,7 +2156,6 @@
</span><span class="cx">     rendering/RenderMediaControls.cpp
</span><span class="cx">     rendering/RenderMenuList.cpp
</span><span class="cx">     rendering/RenderMeter.cpp
</span><del>-    rendering/RenderMultiColumnBlock.cpp
</del><span class="cx">     rendering/RenderMultiColumnFlowThread.cpp
</span><span class="cx">     rendering/RenderMultiColumnSet.cpp
</span><span class="cx">     rendering/RenderNamedFlowFragment.cpp
</span><span class="lines">@@ -2773,30 +2769,20 @@
</span><span class="cx">     )
</span><span class="cx"> endif ()
</span><span class="cx"> 
</span><ins>+list(APPEND WebCore_SOURCES
+    platform/text/icu/UTextProvider.cpp
+    platform/text/icu/UTextProviderLatin1.cpp
+    platform/text/icu/UTextProviderUTF16.cpp
+    platform/text/TextCodecICU.cpp
+    platform/text/TextEncodingDetectorICU.cpp
+)
+list(APPEND WebCore_INCLUDE_DIRECTORIES
+    ${ICU_INCLUDE_DIRS}
+)
+list(APPEND WebCore_LIBRARIES
+    ${ICU_LIBRARIES}
+)
</ins><span class="cx"> 
</span><del>-if (WTF_USE_ICU_UNICODE)
-    list(APPEND WebCore_SOURCES
-        platform/text/icu/UTextProvider.cpp
-        platform/text/icu/UTextProviderLatin1.cpp
-        platform/text/icu/UTextProviderUTF16.cpp
-        platform/text/TextCodecICU.cpp
-        platform/text/TextEncodingDetectorICU.cpp
-    )
-    list(APPEND WebCore_INCLUDE_DIRECTORIES
-        ${ICU_INCLUDE_DIRS}
-    )
-    list(APPEND WebCore_LIBRARIES
-        ${ICU_LIBRARIES}
-    )
-elseif (WTF_USE_WCHAR_UNICODE)
-    list(APPEND WebCore_SOURCES
-        platform/text/TextEncodingDetectorNone.cpp
-
-        platform/text/wchar/TextBreakIteratorWchar.cpp
-    )
-endif ()
-
-
</del><span class="cx"> if (WTF_USE_LEVELDB)
</span><span class="cx">     list(APPEND WebCore_INCLUDE_DIRECTORIES
</span><span class="cx">         &quot;${THIRDPARTY_DIR}/leveldb/include&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Configurations/FeatureDefines.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> ENABLE_DEVICE_ORIENTATION_iphonesimulator = $(ENABLE_DEVICE_ORIENTATION_iphoneos);
</span><span class="cx"> ENABLE_DIRECTORY_UPLOAD = ;
</span><span class="cx"> ENABLE_DOM4_EVENTS_CONSTRUCTOR = ENABLE_DOM4_EVENTS_CONSTRUCTOR;
</span><del>-ENABLE_DRAGGABLE_REGION = ;
</del><span class="cx"> ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx_1080 = ;
</span><span class="lines">@@ -196,4 +195,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_DRAGGABLE_REGION) $(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_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="branchesjsCStackSourceWebCoreDerivedSourcescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/DerivedSources.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/DerivedSources.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/DerivedSources.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -243,7 +243,6 @@
</span><span class="cx"> #include &quot;JSIDBTransaction.cpp&quot;
</span><span class="cx"> #include &quot;JSImageData.cpp&quot;
</span><span class="cx"> #include &quot;JSInspectorFrontendHost.cpp&quot;
</span><del>-#include &quot;JSJavaScriptCallFrame.cpp&quot;
</del><span class="cx"> #include &quot;JSKeyboardEvent.cpp&quot;
</span><span class="cx"> #include &quot;JSLocation.cpp&quot;
</span><span class="cx"> #include &quot;JSMediaController.cpp&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreDerivedSourcesmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/DerivedSources.make (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/DerivedSources.make        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/DerivedSources.make        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -727,8 +727,6 @@
</span><span class="cx">     $(JS_DOM_HEADERS) \
</span><span class="cx">     $(WEB_DOM_HEADERS) \
</span><span class="cx">     \
</span><del>-    JSJavaScriptCallFrame.h \
-    \
</del><span class="cx">     CSSGrammar.cpp \
</span><span class="cx">     CSSPropertyNames.h \
</span><span class="cx">     CSSValueKeywords.h \
</span><span class="lines">@@ -764,18 +762,10 @@
</span><span class="cx">     ENABLE_ORIENTATION_EVENTS = 0
</span><span class="cx"> endif
</span><span class="cx"> 
</span><del>-ifndef ENABLE_DRAGGABLE_REGION
-    ENABLE_DRAGGABLE_REGION = 0
-endif
-
</del><span class="cx"> ifeq ($(ENABLE_ORIENTATION_EVENTS), 1)
</span><span class="cx">     ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_ORIENTATION_EVENTS
</span><span class="cx"> endif
</span><span class="cx"> 
</span><del>-ifeq ($(ENABLE_DRAGGABLE_REGION), 1)
-    ADDITIONAL_IDL_DEFINES := $(ADDITIONAL_IDL_DEFINES) ENABLE_DRAGGABLE_REGION
-endif
-
</del><span class="cx"> # --------
</span><span class="cx"> 
</span><span class="cx"> # CSS property names and value keywords
</span><span class="lines">@@ -1085,7 +1075,6 @@
</span><span class="cx"> SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./SharedWorkerGlobalScopeConstructors.idl
</span><span class="cx"> DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE = ./DedicatedWorkerGlobalScopeConstructors.idl
</span><span class="cx"> IDL_FILES_TMP = ./idl_files.tmp
</span><del>-ADDITIONAL_IDLS = $(WebCore)/inspector/JavaScriptCallFrame.idl
</del><span class="cx"> IDL_ATTRIBUTES_FILE = $(WebCore)/bindings/scripts/IDLAttributes.txt
</span><span class="cx"> 
</span><span class="cx"> # The following two lines get a space character stored in a variable.
</span><span class="lines">@@ -1093,8 +1082,8 @@
</span><span class="cx"> space :=
</span><span class="cx"> space +=
</span><span class="cx"> 
</span><del>-$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(ADDITIONAL_IDLS) $(PLATFORM_FEATURE_DEFINES)
-        printf &quot;$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS) $(ADDITIONAL_IDLS)))&quot; &gt; $(IDL_FILES_TMP)
</del><ins>+$(SUPPLEMENTAL_MAKEFILE_DEPS) : $(PREPROCESS_IDLS_SCRIPTS) $(BINDING_IDLS) $(PLATFORM_FEATURE_DEFINES)
+        printf &quot;$(subst $(space),,$(patsubst %,%\n,$(BINDING_IDLS)))&quot; &gt; $(IDL_FILES_TMP)
</ins><span class="cx">         $(call preprocess_idls_script, $(PREPROCESS_IDLS_SCRIPTS)) --defines &quot;$(FEATURE_DEFINES) $(ADDITIONAL_IDL_DEFINES) LANGUAGE_JAVASCRIPT&quot; --idlFilesList $(IDL_FILES_TMP) --supplementalDependencyFile $(SUPPLEMENTAL_DEPENDENCY_FILE) --windowConstructorsFile $(WINDOW_CONSTRUCTORS_FILE) --workerGlobalScopeConstructorsFile $(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --sharedWorkerGlobalScopeConstructorsFile $(SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --dedicatedWorkerGlobalScopeConstructorsFile $(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE) --supplementalMakefileDeps $@
</span><span class="cx">         rm -f $(IDL_FILES_TMP)
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreForwardingHeadersinspectorScriptDebugServerh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/ScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_ScriptDebugServer_h
+#define WebCore_FWD_ScriptDebugServer_h
+#include &lt;JavaScriptCore/ScriptDebugServer.h&gt;
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreForwardingHeadersinspectoragentsInspectorDebuggerAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorDebuggerAgent_h
+#define WebCore_FWD_InspectorDebuggerAgent_h
+#include &lt;JavaScriptCore/InspectorDebuggerAgent.h&gt;
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreForwardingHeadersinspectoragentsInspectorRuntimeAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/ForwardingHeaders/inspector/agents/InspectorRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_InspectorRuntimeAgent_h
+#define WebCore_FWD_InspectorRuntimeAgent_h
+#include &lt;JavaScriptCore/InspectorRuntimeAgent.h&gt;
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreGNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/GNUmakefile.list.am (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/GNUmakefile.list.am        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/GNUmakefile.list.am        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -457,8 +457,6 @@
</span><span class="cx">         DerivedSources/WebCore/JSInspectorFrontendHost.h \
</span><span class="cx">         DerivedSources/WebCore/JSScriptProcessorNode.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSScriptProcessorNode.h \
</span><del>-        DerivedSources/WebCore/JSJavaScriptCallFrame.cpp \
-        DerivedSources/WebCore/JSJavaScriptCallFrame.h \
</del><span class="cx">         DerivedSources/WebCore/JSKeyboardEvent.cpp \
</span><span class="cx">         DerivedSources/WebCore/JSKeyboardEvent.h \
</span><span class="cx">         DerivedSources/WebCore/JSLocation.cpp \
</span><span class="lines">@@ -1549,7 +1547,6 @@
</span><span class="cx">         $(WebCore)/html/track/VideoTrackList.idl \
</span><span class="cx">         $(WebCore)/inspector/CommandLineAPIHost.idl \
</span><span class="cx">         $(WebCore)/inspector/InspectorFrontendHost.idl \
</span><del>-        $(WebCore)/inspector/JavaScriptCallFrame.idl \
</del><span class="cx">         $(WebCore)/inspector/ScriptProfile.idl \
</span><span class="cx">         $(WebCore)/inspector/ScriptProfileNode.idl \
</span><span class="cx">         $(WebCore)/loader/appcache/DOMApplicationCache.idl \
</span><span class="lines">@@ -2370,7 +2367,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/JSImageConstructor.h \
</span><span class="cx">         Source/WebCore/bindings/js/JSImageDataCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp \
</span><del>-        Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp \
</del><span class="cx">         Source/WebCore/bindings/js/JSLazyEventListener.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSLazyEventListener.h \
</span><span class="cx">         Source/WebCore/bindings/js/JSLocationCustom.cpp \
</span><span class="lines">@@ -2434,8 +2430,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSXPathResultCustom.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp \
</span><del>-        Source/WebCore/bindings/js/JavaScriptCallFrame.cpp \
-        Source/WebCore/bindings/js/JavaScriptCallFrame.h \
</del><span class="cx">         Source/WebCore/bindings/js/Dictionary.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/Dictionary.h \
</span><span class="cx">         Source/WebCore/bindings/js/PageScriptDebugServer.cpp \
</span><span class="lines">@@ -2448,8 +2442,6 @@
</span><span class="cx">         Source/WebCore/bindings/js/ScriptCallStackFactory.h \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptController.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptController.h \
</span><del>-        Source/WebCore/bindings/js/ScriptDebugServer.cpp \
-        Source/WebCore/bindings/js/ScriptDebugServer.h \
</del><span class="cx">         Source/WebCore/bindings/js/ScriptHeapSnapshot.h \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptGlobalObject.cpp \
</span><span class="cx">         Source/WebCore/bindings/js/ScriptGlobalObject.h \
</span><span class="lines">@@ -2832,7 +2824,6 @@
</span><span class="cx">         Source/WebCore/dom/DOMNamedFlowCollection.h \
</span><span class="cx">         Source/WebCore/dom/DOMStringList.cpp \
</span><span class="cx">         Source/WebCore/dom/DOMStringList.h \
</span><del>-        Source/WebCore/dom/DOMStringMap.cpp \
</del><span class="cx">         Source/WebCore/dom/DOMStringMap.h \
</span><span class="cx">         Source/WebCore/dom/DOMTimeStamp.h \
</span><span class="cx">         Source/WebCore/dom/Element.cpp \
</span><span class="lines">@@ -3143,7 +3134,6 @@
</span><span class="cx">         Source/WebCore/editing/SimplifyMarkupCommand.h \
</span><span class="cx">         Source/WebCore/editing/SmartReplace.cpp \
</span><span class="cx">         Source/WebCore/editing/SmartReplace.h \
</span><del>-        Source/WebCore/editing/SmartReplaceICU.cpp \
</del><span class="cx">         Source/WebCore/editing/SpellChecker.cpp \
</span><span class="cx">         Source/WebCore/editing/SpellChecker.h \
</span><span class="cx">         Source/WebCore/editing/SpellingCorrectionCommand.cpp \
</span><span class="lines">@@ -3794,8 +3784,6 @@
</span><span class="cx">         Source/WebCore/inspector/InspectorDatabaseInstrumentation.h \
</span><span class="cx">         Source/WebCore/inspector/InspectorDatabaseResource.cpp \
</span><span class="cx">         Source/WebCore/inspector/InspectorDatabaseResource.h \
</span><del>-        Source/WebCore/inspector/InspectorDebuggerAgent.cpp \
-        Source/WebCore/inspector/InspectorDebuggerAgent.h \
</del><span class="cx">         Source/WebCore/inspector/InspectorDOMAgent.cpp \
</span><span class="cx">         Source/WebCore/inspector/InspectorDOMAgent.h \
</span><span class="cx">         Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp \
</span><span class="lines">@@ -3834,8 +3822,6 @@
</span><span class="cx">         Source/WebCore/inspector/InspectorProfilerAgent.h \
</span><span class="cx">         Source/WebCore/inspector/InspectorResourceAgent.cpp \
</span><span class="cx">         Source/WebCore/inspector/InspectorResourceAgent.h \
</span><del>-        Source/WebCore/inspector/InspectorRuntimeAgent.cpp \
-        Source/WebCore/inspector/InspectorRuntimeAgent.h \
</del><span class="cx">         Source/WebCore/inspector/InspectorStyleSheet.cpp \
</span><span class="cx">         Source/WebCore/inspector/InspectorStyleSheet.h \
</span><span class="cx">         Source/WebCore/inspector/InspectorStyleTextEditor.cpp \
</span><span class="lines">@@ -3868,6 +3854,8 @@
</span><span class="cx">         Source/WebCore/inspector/ScriptCallStack.h \
</span><span class="cx">         Source/WebCore/inspector/TimelineRecordFactory.cpp \
</span><span class="cx">         Source/WebCore/inspector/TimelineRecordFactory.h \
</span><ins>+        Source/WebCore/inspector/WebDebuggerAgent.cpp \
+        Source/WebCore/inspector/WebDebuggerAgent.h \
</ins><span class="cx">         Source/WebCore/inspector/WorkerConsoleAgent.cpp \
</span><span class="cx">         Source/WebCore/inspector/WorkerConsoleAgent.h \
</span><span class="cx">         Source/WebCore/inspector/WorkerDebuggerAgent.cpp \
</span><span class="lines">@@ -4415,8 +4403,6 @@
</span><span class="cx">         Source/WebCore/rendering/RenderMenuList.h \
</span><span class="cx">         Source/WebCore/rendering/RenderMeter.cpp \
</span><span class="cx">         Source/WebCore/rendering/RenderMeter.h \
</span><del>-        Source/WebCore/rendering/RenderMultiColumnBlock.cpp \
-        Source/WebCore/rendering/RenderMultiColumnBlock.h \
</del><span class="cx">         Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp \
</span><span class="cx">         Source/WebCore/rendering/RenderMultiColumnFlowThread.h \
</span><span class="cx">         Source/WebCore/rendering/RenderMultiColumnSet.cpp \
</span><span class="lines">@@ -5491,6 +5477,9 @@
</span><span class="cx">         Source/WebCore/platform/sql/SQLiteAuthorizer.cpp \
</span><span class="cx">         Source/WebCore/platform/sql/SQLiteDatabase.cpp \
</span><span class="cx">         Source/WebCore/platform/sql/SQLiteDatabase.h \
</span><ins>+        Source/WebCore/platform/sql/SQLiteDatabaseTracker.cpp \
+        Source/WebCore/platform/sql/SQLiteDatabaseTracker.h \
+        Source/WebCore/platform/sql/SQLiteDatabaseTrackerClient.h \
</ins><span class="cx">         Source/WebCore/platform/sql/SQLiteFileSystem.cpp \
</span><span class="cx">         Source/WebCore/platform/sql/SQLiteFileSystem.h \
</span><span class="cx">         Source/WebCore/platform/sql/SQLiteStatement.cpp \
</span><span class="lines">@@ -5980,8 +5969,6 @@
</span><span class="cx">         Source/WebCore/platform/text/TextStream.cpp \
</span><span class="cx">         Source/WebCore/platform/text/TextStream.h \
</span><span class="cx">         Source/WebCore/platform/text/UnicodeBidi.h \
</span><del>-        Source/WebCore/platform/text/UnicodeRange.cpp \
-        Source/WebCore/platform/text/UnicodeRange.h \
</del><span class="cx">         Source/WebCore/platform/text/WritingMode.h \
</span><span class="cx">         Source/WebCore/platform/Clock.cpp \
</span><span class="cx">         Source/WebCore/platform/Clock.h \
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebaudioAudioContextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1001,12 +1001,12 @@
</span><span class="cx"> 
</span><span class="cx"> void AudioContext::incrementActiveSourceCount()
</span><span class="cx"> {
</span><del>-    atomicIncrement(&amp;m_activeSourceCount);
</del><ins>+    ++m_activeSourceCount;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void AudioContext::decrementActiveSourceCount()
</span><span class="cx"> {
</span><del>-    atomicDecrement(&amp;m_activeSourceCount);
</del><ins>+    --m_activeSourceCount;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebaudioAudioContexth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webaudio/AudioContext.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,6 +32,7 @@
</span><span class="cx"> #include &quot;EventListener.h&quot;
</span><span class="cx"> #include &quot;EventTarget.h&quot;
</span><span class="cx"> #include &quot;MediaCanStartListener.h&quot;
</span><ins>+#include &lt;atomic&gt;
</ins><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="lines">@@ -361,7 +362,7 @@
</span><span class="cx">     enum { MaxNumberOfChannels = 32 };
</span><span class="cx"> 
</span><span class="cx">     // Number of AudioBufferSourceNodes that are active (playing).
</span><del>-    int m_activeSourceCount;
</del><ins>+    std::atomic&lt;int&gt; m_activeSourceCount;
</ins><span class="cx"> 
</span><span class="cx">     BehaviorRestrictions m_restrictions;
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebaudioAudioNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -69,7 +69,7 @@
</span><span class="cx"> {
</span><span class="cx"> #if DEBUG_AUDIONODE_REFERENCES
</span><span class="cx">     --s_nodeCount[nodeType()];
</span><del>-    fprintf(stderr, &quot;%p: %d: AudioNode::~AudioNode() %d %d\n&quot;, this, nodeType(), m_normalRefCount, m_connectionRefCount);
</del><ins>+    fprintf(stderr, &quot;%p: %d: AudioNode::~AudioNode() %d %d\n&quot;, this, nodeType(), m_normalRefCount.load(), m_connectionRefCount);
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -411,10 +411,10 @@
</span><span class="cx"> {
</span><span class="cx">     switch (refType) {
</span><span class="cx">     case RefTypeNormal:
</span><del>-        atomicIncrement(&amp;m_normalRefCount);
</del><ins>+        ++m_normalRefCount;
</ins><span class="cx">         break;
</span><span class="cx">     case RefTypeConnection:
</span><del>-        atomicIncrement(&amp;m_connectionRefCount);
</del><ins>+        ++m_connectionRefCount;
</ins><span class="cx">         break;
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><span class="lines">@@ -473,11 +473,11 @@
</span><span class="cx">     switch (refType) {
</span><span class="cx">     case RefTypeNormal:
</span><span class="cx">         ASSERT(m_normalRefCount &gt; 0);
</span><del>-        atomicDecrement(&amp;m_normalRefCount);
</del><ins>+        --m_normalRefCount;
</ins><span class="cx">         break;
</span><span class="cx">     case RefTypeConnection:
</span><span class="cx">         ASSERT(m_connectionRefCount &gt; 0);
</span><del>-        atomicDecrement(&amp;m_connectionRefCount);
</del><ins>+        --m_connectionRefCount;
</ins><span class="cx">         break;
</span><span class="cx">     default:
</span><span class="cx">         ASSERT_NOT_REACHED();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebaudioAudioNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webaudio/AudioNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -207,8 +207,8 @@
</span><span class="cx">     double m_lastNonSilentTime;
</span><span class="cx"> 
</span><span class="cx">     // Ref-counting
</span><del>-    volatile int m_normalRefCount;
-    volatile int m_connectionRefCount;
</del><ins>+    std::atomic&lt;int&gt; m_normalRefCount;
+    std::atomic&lt;int&gt; m_connectionRefCount;
</ins><span class="cx">     
</span><span class="cx">     bool m_isMarkedForDeletion;
</span><span class="cx">     bool m_isDisabled;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebdatabaseDatabaseBackendBasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webdatabase/DatabaseBackendBase.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,6 +40,7 @@
</span><span class="cx"> #include &quot;DatabaseTracker.h&quot;
</span><span class="cx"> #include &quot;ExceptionCode.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><ins>+#include &quot;SQLiteDatabaseTracker.h&quot;
</ins><span class="cx"> #include &quot;SQLiteStatement.h&quot;
</span><span class="cx"> #include &quot;SQLiteTransaction.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="lines">@@ -52,10 +53,6 @@
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-#include &quot;SQLiteDatabaseTracker.h&quot;
-#endif
-
</del><span class="cx"> // Registering &quot;opened&quot; databases with the DatabaseTracker
</span><span class="cx"> // =======================================================
</span><span class="cx"> // The DatabaseTracker maintains a list of databases that have been
</span><span class="lines">@@ -332,9 +329,10 @@
</span><span class="cx">         // Make sure we wait till the background removal of the empty database files finished before trying to open any database.
</span><span class="cx">         MutexLocker locker(DatabaseTracker::openDatabaseMutex());
</span><span class="cx">     }
</span><del>-    SQLiteTransactionInProgressAutoCounter transactionCounter;
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    SQLiteTransactionInProgressAutoCounter transactionCounter;
+
</ins><span class="cx">     if (!m_sqliteDatabase.open(m_filename, true)) {
</span><span class="cx">         errorMessage = formatErrorMessage(&quot;unable to open database&quot;, m_sqliteDatabase.lastError(), m_sqliteDatabase.lastErrorMsg());
</span><span class="cx">         return false;
</span><span class="lines">@@ -587,9 +585,8 @@
</span><span class="cx"> 
</span><span class="cx"> void DatabaseBackendBase::incrementalVacuumIfNeeded()
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     int64_t freeSpaceSize = m_sqliteDatabase.freeSpaceSize();
</span><span class="cx">     int64_t totalSize = m_sqliteDatabase.totalSize();
</span><span class="cx">     if (totalSize &lt;= 10 * freeSpaceSize) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreModuleswebdatabaseOriginLockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/Modules/webdatabase/OriginLock.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/Modules/webdatabase/OriginLock.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/Modules/webdatabase/OriginLock.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><span class="cx"> #include &lt;wtf/ThreadSafeRefCounted.h&gt;
</span><ins>+#include &lt;wtf/ThreadingPrimitives.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorePlatformEflcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/PlatformEfl.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/PlatformEfl.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/PlatformEfl.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx">     accessibility/atk/WebKitAccessibleUtil.cpp
</span><span class="cx">     accessibility/atk/WebKitAccessibleWrapperAtk.cpp
</span><span class="cx"> 
</span><del>-    editing/SmartReplaceICU.cpp
</del><ins>+    editing/SmartReplace.cpp
</ins><span class="cx"> 
</span><span class="cx">     editing/atk/FrameSelectionAtk.cpp
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorePlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/PlatformGTK.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/PlatformGTK.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/PlatformGTK.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> list(APPEND WebCore_SOURCES
</span><del>-    editing/SmartReplaceICU.cpp
</del><ins>+    editing/SmartReplace.cpp
</ins><span class="cx"> 
</span><span class="cx">     html/shadow/MediaControlsGtk.cpp
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreUseJSCcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/UseJSC.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/UseJSC.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/UseJSC.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -97,7 +97,6 @@
</span><span class="cx">     bindings/js/JSImageConstructor.cpp
</span><span class="cx">     bindings/js/JSImageDataCustom.cpp
</span><span class="cx">     bindings/js/JSInspectorFrontendHostCustom.cpp
</span><del>-    bindings/js/JSJavaScriptCallFrameCustom.cpp
</del><span class="cx">     bindings/js/JSLazyEventListener.cpp
</span><span class="cx">     bindings/js/JSLocationCustom.cpp
</span><span class="cx">     bindings/js/JSMainThreadExecState.cpp
</span><span class="lines">@@ -154,13 +153,11 @@
</span><span class="cx">     bindings/js/JSXMLHttpRequestCustom.cpp
</span><span class="cx">     bindings/js/JSXPathResultCustom.cpp
</span><span class="cx">     bindings/js/JSXSLTProcessorCustom.cpp
</span><del>-    bindings/js/JavaScriptCallFrame.cpp
</del><span class="cx">     bindings/js/PageScriptDebugServer.cpp
</span><span class="cx">     bindings/js/ScheduledAction.cpp
</span><span class="cx">     bindings/js/ScriptCachedFrameData.cpp
</span><span class="cx">     bindings/js/ScriptCallStackFactory.cpp
</span><span class="cx">     bindings/js/ScriptController.cpp
</span><del>-    bindings/js/ScriptDebugServer.cpp
</del><span class="cx">     bindings/js/ScriptGlobalObject.cpp
</span><span class="cx">     bindings/js/ScriptProfile.cpp
</span><span class="cx">     bindings/js/ScriptProfiler.cpp
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.exp.in (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.exp.in        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.exp.in        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -147,25 +147,19 @@
</span><span class="cx"> __ZN7WebCore11HistoryItem12addChildItemEN3WTF10PassRefPtrIS0_EE
</span><span class="cx"> __ZN7WebCore11HistoryItem12setURLStringERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore11HistoryItem12setViewStateEP11objc_object
</span><del>-__ZN7WebCore11HistoryItem13setVisitCountEi
</del><span class="cx"> __ZN7WebCore11HistoryItem14addRedirectURLERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore11HistoryItem14setScrollPointERKNS_8IntPointE
</span><span class="cx"> __ZN7WebCore11HistoryItem15setIsTargetItemEb
</span><span class="cx"> __ZN7WebCore11HistoryItem15setRedirectURLsENSt3__110unique_ptrIN3WTF6VectorINS3_6StringELm0ENS3_15CrashOnOverflowEEENS1_14default_deleteIS7_EEEE
</span><del>-__ZN7WebCore11HistoryItem16adoptVisitCountsERN3WTF6VectorIiLm0ENS1_15CrashOnOverflowEEES5_
</del><span class="cx"> __ZN7WebCore11HistoryItem16setDocumentStateERKN3WTF6VectorINS1_6StringELm0ENS1_15CrashOnOverflowEEE
</span><span class="cx"> __ZN7WebCore11HistoryItem17setAlternateTitleERKN3WTF6StringE
</span><del>-__ZN7WebCore11HistoryItem18recordInitialVisitEv
-__ZN7WebCore11HistoryItem18setLastVisitedTimeEd
</del><span class="cx"> __ZN7WebCore11HistoryItem20setOriginalURLStringERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore11HistoryItem20setTransientPropertyERKN3WTF6StringEP11objc_object
</span><span class="cx"> __ZN7WebCore11HistoryItem21decodeBackForwardTreeERKN3WTF6StringES4_S4_RNS1_7DecoderE
</span><del>-__ZN7WebCore11HistoryItem22mergeAutoCompleteHintsEPS0_
-__ZN7WebCore11HistoryItem7visitedERKN3WTF6StringEdNS_18VisitCountBehaviorE
</del><span class="cx"> __ZN7WebCore11HistoryItem8formDataEv
</span><span class="cx"> __ZN7WebCore11HistoryItem8setTitleERKN3WTF6StringE
</span><del>-__ZN7WebCore11HistoryItemC1ERKN3WTF6StringES4_S4_d
-__ZN7WebCore11HistoryItemC1ERKN3WTF6StringES4_d
</del><ins>+__ZN7WebCore11HistoryItemC1ERKN3WTF6StringES4_
+__ZN7WebCore11HistoryItemC1ERKN3WTF6StringES4_S4_
</ins><span class="cx"> __ZN7WebCore11HistoryItemC1ERKNS_3URLERKN3WTF6StringES7_S7_
</span><span class="cx"> __ZN7WebCore11HistoryItemC1Ev
</span><span class="cx"> __ZN7WebCore11HistoryItemD1Ev
</span><span class="lines">@@ -816,6 +810,8 @@
</span><span class="cx"> __ZN7WebCore20protocolIsJavaScriptERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore20toUInt32EnforceRangeEPN3JSC9ExecStateENS0_7JSValueE
</span><span class="cx"> __ZN7WebCore21BackForwardController11itemAtIndexEi
</span><ins>+__ZN7WebCore21BackForwardController6goBackEv
+__ZN7WebCore21BackForwardController9goForwardEv
</ins><span class="cx"> __ZN7WebCore21CrossThreadCopierBaseILb0ELb0EN3WTF6StringEE4copyERKS2_
</span><span class="cx"> __ZN7WebCore21CrossThreadCopierBaseILb0ELb0ENS_19IDBDatabaseMetadataEE4copyERKS1_
</span><span class="cx"> __ZN7WebCore21MemoryPressureHandler7installEv
</span><span class="lines">@@ -1014,9 +1010,7 @@
</span><span class="cx"> __ZN7WebCore4Page36setShouldSuppressScrollbarAnimationsEb
</span><span class="cx"> __ZN7WebCore4Page36suspendActiveDOMObjectsAndAnimationsEv
</span><span class="cx"> __ZN7WebCore4Page37setInLowQualityImageInterpolationModeEb
</span><del>-__ZN7WebCore4Page6goBackEv
</del><span class="cx"> __ZN7WebCore4Page8goToItemEPNS_11HistoryItemENS_13FrameLoadTypeE
</span><del>-__ZN7WebCore4Page9goForwardEv
</del><span class="cx"> __ZN7WebCore4Page9initGroupEv
</span><span class="cx"> __ZN7WebCore4PageC1ERNS0_11PageClientsE
</span><span class="cx"> __ZN7WebCore4PageD1Ev
</span><span class="lines">@@ -1188,8 +1182,8 @@
</span><span class="cx"> __ZN7WebCore8Settings16setImagesEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings16setScriptEnabledEb
</span><span class="cx"> __ZN7WebCore8Settings16setUsesPageCacheEb
</span><ins>+__ZN7WebCore8Settings17setLayoutIntervalENSt3__16chrono8durationIxNS1_5ratioIL?1EL?1000EEEEE
</ins><span class="cx"> __ZN7WebCore8Settings17setPluginsEnabledEb
</span><del>-__ZN7WebCore8Settings17setLayoutIntervalEi
</del><span class="cx"> __ZN7WebCore8Settings18setDefaultFontSizeEi
</span><span class="cx"> __ZN7WebCore8Settings18setFixedFontFamilyERKN3WTF12AtomicStringE11UScriptCode
</span><span class="cx"> __ZN7WebCore8Settings18setMinimumFontSizeEi
</span><span class="lines">@@ -1282,7 +1276,6 @@
</span><span class="cx"> __ZN7WebCore9FrameView20removeScrollableAreaEPNS_14ScrollableAreaE
</span><span class="cx"> __ZN7WebCore9FrameView20resetTrackedRepaintsEv
</span><span class="cx"> __ZN7WebCore9FrameView20setCanHaveScrollbarsEb
</span><del>-__ZN7WebCore9FrameView21flushDeferredRepaintsEv
</del><span class="cx"> __ZN7WebCore9FrameView22setBaseBackgroundColorERKNS_5ColorE
</span><span class="cx"> __ZN7WebCore9FrameView23updateCanHaveScrollbarsEv
</span><span class="cx"> __ZN7WebCore9FrameView24forceLayoutForPaginationERKNS_9FloatSizeES3_fNS_19AdjustViewSizeOrNotE
</span><span class="lines">@@ -1297,6 +1290,7 @@
</span><span class="cx"> __ZN7WebCore9FrameView37updateLayoutAndStyleIfNeededRecursiveEv
</span><span class="cx"> __ZN7WebCore9FrameView38scrollPositionChangedViaPlatformWidgetEv
</span><span class="cx"> __ZN7WebCore9FrameView39flushCompositingStateIncludingSubframesEv
</span><ins>+__ZN7WebCore9FrameView52disableLayerFlushThrottlingTemporarilyForInteractionEv
</ins><span class="cx"> __ZN7WebCore9FrameView6createERNS_5FrameE
</span><span class="cx"> __ZN7WebCore9HTMLNames10listingTagE
</span><span class="cx"> __ZN7WebCore9HTMLNames11textareaTagE
</span><span class="lines">@@ -1438,7 +1432,6 @@
</span><span class="cx"> __ZNK7WebCore11FrameLoader20activeDocumentLoaderEv
</span><span class="cx"> __ZNK7WebCore11FrameLoader27numPendingOrLoadingRequestsEb
</span><span class="cx"> __ZNK7WebCore11FrameLoader8loadTypeEv
</span><del>-__ZNK7WebCore11HistoryItem10visitCountEv
</del><span class="cx"> __ZNK7WebCore11HistoryItem11hasChildrenEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem11originalURLEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem11scrollPointEv
</span><span class="lines">@@ -1446,7 +1439,6 @@
</span><span class="cx"> __ZNK7WebCore11HistoryItem12redirectURLsEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem13documentStateEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem14alternateTitleEv
</span><del>-__ZNK7WebCore11HistoryItem15lastVisitedTimeEv
</del><span class="cx"> __ZNK7WebCore11HistoryItem15pageScaleFactorEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem17originalURLStringEv
</span><span class="cx"> __ZNK7WebCore11HistoryItem19childItemWithTargetERKN3WTF6StringE
</span><span class="lines">@@ -1652,6 +1644,7 @@
</span><span class="cx"> __ZNK7WebCore20ResourceResponseBase8mimeTypeEv
</span><span class="cx"> __ZNK7WebCore20TransformationMatrixcv13CATransform3DEv
</span><span class="cx"> __ZNK7WebCore21BackForwardController12forwardCountEv
</span><ins>+__ZNK7WebCore21BackForwardController18canGoBackOrForwardEi
</ins><span class="cx"> __ZNK7WebCore21BackForwardController9backCountEv
</span><span class="cx"> __ZNK7WebCore21NetworkStorageSession13cookieStorageEv
</span><span class="cx"> __ZNK7WebCore21RenderLayerCompositor11scrollLayerEv
</span><span class="lines">@@ -1699,7 +1692,6 @@
</span><span class="cx"> __ZNK7WebCore4Page14renderTreeSizeEv
</span><span class="cx"> __ZNK7WebCore4Page15visibilityStateEv
</span><span class="cx"> __ZNK7WebCore4Page16hasSeenAnyPluginEv
</span><del>-__ZNK7WebCore4Page17backForwardClientEv
</del><span class="cx"> __ZNK7WebCore4Page17viewportArgumentsEv
</span><span class="cx"> __ZNK7WebCore4Page34inLowQualityImageInterpolationModeEv
</span><span class="cx"> __ZNK7WebCore4Page9groupNameEv
</span><span class="lines">@@ -2669,7 +2661,7 @@
</span><span class="cx"> __ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_12DOMWindowCSSE
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> __ZNK7WebCore8Document16annotatedRegionsEv
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -2975,6 +2967,7 @@
</span><span class="cx"> __ZN7WebCore13ScrollingTree31willWheelEventStartSwipeGestureERKNS_18PlatformWheelEventE
</span><span class="cx"> __ZN7WebCore13ScrollingTree35shouldHandleWheelEventSynchronouslyERKNS_18PlatformWheelEventE
</span><span class="cx"> __ZN7WebCore13ScrollingTree37setScrollingPerformanceLoggingEnabledEb
</span><ins>+__ZN7WebCore13ScrollingTree42scrollPositionChangedViaDelegatedScrollingEyRKNS_8IntPointE
</ins><span class="cx"> __ZN7WebCore13ScrollingTreeC2Ev
</span><span class="cx"> __ZN7WebCore13ScrollingTreeD1Ev
</span><span class="cx"> __ZN7WebCore13ScrollingTreeD2Ev
</span><span class="lines">@@ -2993,7 +2986,6 @@
</span><span class="cx"> __ZN7WebCore23ScrollingStateFixedNode17updateConstraintsERKNS_32FixedPositionViewportConstraintsE
</span><span class="cx"> __ZN7WebCore23ScrollingTreeStickyNode6createERNS_13ScrollingTreeEy
</span><span class="cx"> __ZN7WebCore24ScrollingStateStickyNode17updateConstraintsERKNS_33StickyPositionViewportConstraintsE
</span><del>-__ZN7WebCore20ScrollingCoordinator35scheduleUpdateScrollPositionForNodeEyRKNS_8IntPointEbNS_31SetOrSyncScrollingLayerPositionE
</del><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator14clearStateTreeEv
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator17attachToStateTreeENS_17ScrollingNodeTypeEyy
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator18syncChildPositionsERKNS_10LayoutRectE
</span><span class="lines">@@ -3007,6 +2999,7 @@
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator30setSynchronousScrollingReasonsEj
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator37scrollableAreaScrollbarLayerDidChangeEPNS_14ScrollableAreaENS_20ScrollbarOrientationE
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinator43recomputeWheelEventHandlerCountForFrameViewEPNS_9FrameViewE
</span><ins>+__ZN7WebCore25AsyncScrollingCoordinator44scheduleUpdateScrollPositionAfterAsyncScrollEyRKNS_8IntPointEbNS_31SetOrSyncScrollingLayerPositionE
</ins><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinatorC2EPNS_4PageE
</span><span class="cx"> __ZN7WebCore25AsyncScrollingCoordinatorD2Ev
</span><span class="cx"> __ZN7WebCore27ScrollingStateScrollingNode14setFooterLayerERKNS_19LayerRepresentationE
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCoreorder"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.order (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.order        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.order        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23448,7 +23448,6 @@
</span><span class="cx"> __ZTVN7WebCore31RenderTextTrackContainerElementE
</span><span class="cx"> __ZTVN7WebCore14RenderMenuListE
</span><span class="cx"> __ZTVN7WebCore11RenderMeterE
</span><del>-__ZTVN7WebCore22RenderMultiColumnBlockE
</del><span class="cx"> __ZTVN7WebCore27RenderMultiColumnFlowThreadE
</span><span class="cx"> __ZTVN7WebCore20RenderMultiColumnSetE
</span><span class="cx"> __ZTVN7WebCore21RenderNamedFlowThreadE
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorevcxprojWebCoremake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.make (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.make        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.make        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,24 +0,0 @@
</span><del>-!IF &quot;$(BUILDSTYLE)&quot;==&quot;DEBUG&quot;
-BUILDSTYLE=DebugSuffix
-!ELSE
-BUILDSTYLE=Production
-!ENDIF
-
-install:
-    set OFFICIAL_BUILD=1
-        set WebKit_Libraries=$(SRCROOT)\AppleInternal
-        set WebKit_OutputDir=$(OBJROOT)
-    set ProgramFilesAAS=Program Files (x86)\Common Files\Apple\Apple Application Support
-    set Path=%PATH%;$(SRCROOT)\%ProgramFilesAAS%
-        set ConfigurationBuildDir=$(OBJROOT)\$(BUILDSTYLE)
-        -mkdir 2&gt;NUL &quot;%ConfigurationBuildDir%\include\private&quot;
-        xcopy &quot;%WebKit_Libraries%\include\private\*&quot; &quot;%ConfigurationBuildDir%\include\private&quot; /e/v/i/h/y
-        devenv &quot;WebCore.submit.sln&quot; /rebuild $(BUILDSTYLE)
-        xcopy &quot;%ConfigurationBuildDir%\include\*&quot; &quot;$(DSTROOT)\AppleInternal\include\&quot; /e/v/i/h/y        
-        xcopy &quot;%ConfigurationBuildDir%\lib32\*&quot; &quot;$(DSTROOT)\AppleInternal\lib32\&quot; /e/v/i/h/y        
-        xcopy &quot;%ConfigurationBuildDir%\bin32\WebKit.resources\*&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\WebKit.resources&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\bin32\*.dll&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-    xcopy &quot;%ConfigurationBuildDir%\bin32\*.pdb&quot; &quot;$(DSTROOT)\%ProgramFilesAAS%\&quot; /e/v/i/h/y
-        xcopy &quot;%ConfigurationBuildDir%\obj32\WebCore\scripts\*&quot; &quot;$(DSTROOT)\AppleInternal\tools\scripts&quot; /e/v/i/h/y
-        -mkdir &quot;$(DSTROOT)\AppleInternal\Sources32\WebCore&quot;
-        xcopy &quot;%ConfigurationBuildDir%\obj32\WebCore\DerivedSources\*&quot; &quot;$(DSTROOT)\AppleInternal\Sources32\WebCore&quot; /e/v/i/h/y
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorevcxprojWebCoreproj"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.proj (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.proj                                (rev 0)
+++ branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.proj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,112 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
+&lt;Project InitialTargets=&quot;PreBuild&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;
+
+  &lt;!-- normalize configuration case --&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Release'&quot;&gt;
+        &lt;CONFIG&gt;Production&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+  &lt;PropertyGroup Condition=&quot;'$(CONFIGURATION)'=='Debug'&quot;&gt;
+        &lt;CONFIG&gt;DebugSuffix&lt;/CONFIG&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;!-- Wrapper to build WebCore for both win32 and x64. --&gt;
+  &lt;PropertyGroup&gt;
+    &lt;OFFICIAL_BUILD&gt;1&lt;/OFFICIAL_BUILD&gt;
+    &lt;WebKit_Libraries&gt;$(SRCROOT)\AppleInternal\&lt;/WebKit_Libraries&gt;
+    &lt;WebKit_OutputDir&gt;$(OBJROOT)&lt;/WebKit_OutputDir&gt;
+    &lt;AppleInternal&gt;$(DSTROOT)\AppleInternal&lt;/AppleInternal&gt;
+    &lt;AppleInternalLib32&gt;$(AppleInternal)\lib32&lt;/AppleInternalLib32&gt;
+    &lt;AppleInternalLib64&gt;$(AppleInternal)\lib64&lt;/AppleInternalLib64&gt;
+    &lt;AppleInternalBin32&gt;$(AppleInternal)\bin32&lt;/AppleInternalBin32&gt;
+    &lt;AppleInternalBin64&gt;$(AppleInternal)\bin64&lt;/AppleInternalBin64&gt;
+    &lt;AppleInternal32Symbols&gt;$(AppleInternal)\public32\sym&lt;/AppleInternal32Symbols&gt;
+    &lt;AppleInternal64Symbols&gt;$(AppleInternal)\public64\sym&lt;/AppleInternal64Symbols&gt;
+    &lt;ProgramFilesAAS32&gt;Program Files (x86)\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS32&gt;
+    &lt;ProgramFilesAAS64&gt;Program Files\Common Files\Apple\Apple Application Support\&lt;/ProgramFilesAAS64&gt;
+    &lt;ConfigurationBuildDir&gt;$(OBJROOT)\$(CONFIG)&lt;/ConfigurationBuildDir&gt;  
+    &lt;OutputDirectory&gt;$(DSTROOT)&lt;/OutputDirectory&gt;
+  &lt;/PropertyGroup&gt;
+
+  &lt;ItemGroup&gt;
+    &lt;WebCore Include=&quot;WebCore.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=Win32;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/WebCore&gt;
+    &lt;WebCore Include=&quot;WebCore.submit.sln&quot;&gt;
+      &lt;AdditionalProperties&gt;Platform=x64;WEBKIT_OUTPUTDIR=$(WebKit_OutputDir);WEBKIT_LIBRARIES=$(WebKit_Libraries);OFFICIAL_BUILD=$(OFFICIAL_BUILD)&lt;/AdditionalProperties&gt;
+    &lt;/WebCore&gt;
+  &lt;/ItemGroup&gt;

+  &lt;!-- Prepare for build --&gt;
+  &lt;Target Name=&quot;PreBuild&quot; BeforeTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Error Text=&quot;OBJROOT property or environment variable must be defined.&quot; Condition=&quot;'$(OBJROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Copying necessary headers to $(ConfigurationBuildDir)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT);$(OBJROOT);$(ConfigurationBuildDir)\include\private&quot; /&gt;

+    &lt;CreateItem Include=&quot;$(WebKit_Libraries)\include\private\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;PrivateIncFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+
+    &lt;Copy SourceFiles=&quot;@(PrivateIncFiles)&quot; DestinationFiles=&quot;@(PrivateIncFiles-&gt;'$(ConfigurationBuildDir)\include\private\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Message Text=&quot;Build output -&gt; $(OBJROOT)&quot; /&gt;
+    &lt;Message Text=&quot;Final output -&gt; $(DSTROOT)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(AppleInternalLib32);$(AppleInternalLib64);$(AppleInternalBin32);$(AppleInternalBin64);$(AppleInternal32Symbols);$(AppleInternal64Symbols);$(AppleInternal)\include;$(DSTROOT)\$(ProgramFilesAAS32);$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+    &lt;MakeDir Directories=&quot;$(DSTROOT)\AppleInternal\Sources32\WebCore;$(DSTROOT)\AppleInternal\Sources64\WebCore&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;!-- Build WebCore Software --&gt;
+  &lt;Target Name=&quot;Build&quot; AfterTargets=&quot;PreBuild&quot;&gt;
+    &lt;Message Text=&quot;Building $(CONFIGURATION) Solution&quot; /&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Output=$(WebKit_OutputDir)&quot; /&gt;
+    &lt;MSBuild Projects=&quot;@(WebCore)&quot; Properties=&quot;Configuration=$(CONFIG)&quot; Targets=&quot;ReBuild&quot; /&gt;
+  &lt;/Target&gt;
+
+  &lt;Target Name=&quot;PostBuild&quot; AfterTargets=&quot;Build&quot;&gt;
+    &lt;Error Text=&quot;DSTROOT property or environment variable must be defined.&quot; Condition=&quot;'$(DSTROOT)' == ''&quot; /&gt;
+    &lt;Message Text=&quot;Moving $(CONFIG) build results to $(DSTROOT)&quot; /&gt;
+
+    &lt;!-- Identify the files to copy over --&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\include\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;IncFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin32\*.pdb&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin32SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\bin64\*.pdb&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Bin64SymbolFiles&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib32\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib32Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\lib64\*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Lib64Files&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\obj32\WebCore\DerivedSources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Derived32Sources&quot; /&gt;
+    &lt;/CreateItem&gt;
+    &lt;CreateItem Include=&quot;$(ConfigurationBuildDir)\obj64\WebCore\DerivedSources\**\*.*&quot;&gt;
+      &lt;Output TaskParameter=&quot;Include&quot; ItemName=&quot;Derived64Sources&quot; /&gt;
+    &lt;/CreateItem&gt;
+
+    &lt;Copy SourceFiles=&quot;@(IncFiles)&quot; DestinationFiles=&quot;@(IncFiles-&gt;'$(DSTROOT)\AppleInternal\include\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib32Files)&quot; DestinationFolder=&quot;$(AppleInternalLib32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Lib64Files)&quot; DestinationFolder=&quot;$(AppleInternalLib64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(AppleInternalBin32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS32)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin32SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal32Symbols)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(AppleInternalBin64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64Files)&quot; DestinationFolder=&quot;$(DSTROOT)\$(ProgramFilesAAS64)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Bin64SymbolFiles)&quot; DestinationFolder=&quot;$(AppleInternal64Symbols)&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Derived32Sources)&quot; DestinationFiles=&quot;@(Derived32Sources-&gt;'$(DSTROOT)\AppleInternal\Sources32\WebCore\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+    &lt;Copy SourceFiles=&quot;@(Derived64Sources)&quot; DestinationFiles=&quot;@(Derived64Sources-&gt;'$(DSTROOT)\AppleInternal\Sources64\WebCore\%(RecursiveDir)%(Filename)%(Extension)')&quot; /&gt;
+  &lt;/Target&gt;
+
+&lt;/Project&gt;
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3187,20 +3187,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -8468,6 +8454,7 @@
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteAuthorizer.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteDatabase.cpp&quot; /&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\platform\sql\SQLiteDatabaseTracker.cpp&quot; /&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteFileSystem.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteStatement.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteTransaction.cpp&quot; /&gt;
</span><span class="lines">@@ -8611,7 +8598,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\platform\text\UnicodeRange.cpp&quot; /&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\WidthIterator.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\text\cf\HyphenationCF.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\text\win\TextBreakIteratorInternalICUWin.cpp&quot; /&gt;
</span><span class="lines">@@ -10299,20 +10285,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\rendering\RenderMultiColumnBlock.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\RenderMultiColumnFlowThread.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -12630,20 +12602,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\DOMStringMap.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\dom\Element.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -15814,20 +15772,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JavaScriptCallFrame.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSAttrCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -16670,20 +16614,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSJavaScriptCallFrameCustom.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSLazyEventListener.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -17300,20 +17230,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\ScriptDebugServer.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Debug_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='DebugSuffix|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptGlobalObject.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptProfile.cpp&quot; /&gt;
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptProfiler.cpp&quot;&gt;
</span><span class="lines">@@ -17696,14 +17612,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorDebuggerAgent.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorDOMAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -17848,14 +17756,6 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorRuntimeAgent.cpp&quot;&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorStyleSheet.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -17976,6 +17876,14 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\WebDebuggerAgent.cpp&quot;&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release_WinCairo|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+      &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\WorkerConsoleAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|Win32'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Release|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="lines">@@ -18274,7 +18182,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSIDBTransaction.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSImageData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSLocation.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSMediaControlsHost.h&quot; /&gt;
</span><span class="lines">@@ -18572,7 +18479,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptHost.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptManager.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptModule.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgent.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentBase.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentRegistry.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorBackendDispatcher.h&quot; /&gt;
</span><span class="lines">@@ -18583,6 +18489,8 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorJSTypeBuilders.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorTypeBuilder.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorValues.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\agents\InspectorAgent.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\agents\InspectorRuntimeAgent.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\masm\X86Assembler.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\parser\SourceCode.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\parser\SourceProvider.h&quot; /&gt;
</span><span class="lines">@@ -19590,6 +19498,8 @@
</span><span class="cx">       &lt;ExcludedFromBuild Condition=&quot;'$(Configuration)|$(Platform)'=='Production|x64'&quot;&gt;true&lt;/ExcludedFromBuild&gt;
</span><span class="cx">     &lt;/CustomBuildStep&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabase.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabaseTracker.h&quot; /&gt;
+    &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabaseTrackerClient.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteFileSystem.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteStatement.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteTransaction.h&quot; /&gt;
</span><span class="lines">@@ -19633,7 +19543,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\text\TextEncodingRegistry.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\text\TextStream.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\text\UnicodeBidi.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\platform\text\UnicodeRange.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\WidthCache.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\WidthIterator.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\text\WritingMode.h&quot; /&gt;
</span><span class="lines">@@ -19895,7 +19804,6 @@
</span><span class="cx">     &lt;CustomBuildStep Include=&quot;..\rendering\RenderMediaControls.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMenuList.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMeter.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\rendering\RenderMultiColumnBlock.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMultiColumnFlowThread.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMultiColumnSet.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderNamedFlowFragment.h&quot; /&gt;
</span><span class="lines">@@ -20579,7 +20487,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\DOMWrapperWorld.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\GCController.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\IDBBindingUtilities.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\JavaScriptCallFrame.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCallbackData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCSSStyleDeclarationCustom.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCustomXPathNSResolver.h&quot; /&gt;
</span><span class="lines">@@ -20611,7 +20518,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptCachedFrameData.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptCallStackFactory.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptController.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\ScriptDebugServer.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptHeapSnapshot.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptGlobalObject.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptProfile.h&quot; /&gt;
</span><span class="lines">@@ -20934,7 +20840,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDatabaseAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDatabaseInstrumentation.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDatabaseResource.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorDebuggerAgent.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDOMAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDOMDebuggerAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDOMStorageAgent.h&quot; /&gt;
</span><span class="lines">@@ -20955,7 +20860,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorPageAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorProfilerAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorResourceAgent.h&quot; /&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorRuntimeAgent.h&quot; /&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorStyleSheet.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorStyleTextEditor.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorTimelineAgent.h&quot; /&gt;
</span><span class="lines">@@ -20973,6 +20877,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptCallFrame.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\ScriptCallStack.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\TimelineRecordFactory.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\WebDebuggerAgent.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\WorkerConsoleAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\WorkerDebuggerAgent.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\WorkerInspectorController.h&quot; /&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -274,6 +274,9 @@
</span><span class="cx">     &lt;Filter Include=&quot;ForwardingHeaders\inspector&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{132bade2-0aab-6274-0adff-ae8aed5aed4}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><ins>+    &lt;Filter Include=&quot;ForwardingHeaders\inspector\agents&quot;&gt;
+      &lt;UniqueIdentifier&gt;{132bade2-0aab-6274-0adff-abcdacbdabc}&lt;/UniqueIdentifier&gt;
+    &lt;/Filter&gt;
</ins><span class="cx">     &lt;Filter Include=&quot;history&quot;&gt;
</span><span class="cx">       &lt;UniqueIdentifier&gt;{6f39dedf-2d3a-414e-83fe-7bf64f911cfb}&lt;/UniqueIdentifier&gt;
</span><span class="cx">     &lt;/Filter&gt;
</span><span class="lines">@@ -1920,6 +1923,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteDatabase.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\sql&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\platform\sql\SQLiteDatabaseTracker.cpp&quot;&gt;
+      &lt;Filter&gt;platform\sql&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\platform\sql\SQLiteFileSystem.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\sql&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -2004,9 +2010,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\platform\text\TextStream.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\platform\text\UnicodeRange.cpp&quot;&gt;
-      &lt;Filter&gt;platform\text&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\platform\graphics\WidthIterator.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -2499,9 +2502,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\RenderMeter.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\rendering\RenderMultiColumnBlock.cpp&quot;&gt;
-      &lt;Filter&gt;rendering&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\rendering\RenderMultiColumnFlowThread.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -3126,9 +3126,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\dom\DOMStringList.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\dom\DOMStringMap.cpp&quot;&gt;
-      &lt;Filter&gt;dom&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\dom\Element.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;dom&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4227,9 +4224,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\IDBBindingUtilities.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JavaScriptCallFrame.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSAttrCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4368,9 +4362,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSInspectorFrontendHostCustom.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\JSJavaScriptCallFrameCustom.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\JSLazyEventListener.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4503,9 +4494,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptController.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\bindings\js\ScriptDebugServer.cpp&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\bindings\js\ScriptGlobalObject.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4776,9 +4764,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorDatabaseResource.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorDebuggerAgent.cpp&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorDOMAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4830,9 +4815,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorResourceAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;..\inspector\InspectorRuntimeAgent.cpp&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\InspectorStyleSheet.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -4878,6 +4860,9 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\TimelineRecordFactory.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><ins>+    &lt;ClCompile Include=&quot;..\inspector\WebDebuggerAgent.cpp&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClCompile&gt;
</ins><span class="cx">     &lt;ClCompile Include=&quot;..\inspector\WorkerConsoleAgent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -5722,9 +5707,6 @@
</span><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><del>-    &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClCompile&gt;
</del><span class="cx">     &lt;ClCompile Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClCompile&gt;
</span><span class="lines">@@ -8717,6 +8699,12 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabase.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\sql&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabaseTracker.h&quot;&gt;
+      &lt;Filter&gt;platform\sql&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\platform\sql\SQLiteDatabaseTrackerClient.h&quot;&gt;
+      &lt;Filter&gt;platform\sql&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\platform\sql\SQLiteFileSystem.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\sql&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -8846,9 +8834,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\platform\text\UnicodeBidi.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\platform\text\UnicodeRange.h&quot;&gt;
-      &lt;Filter&gt;platform\text&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\platform\graphics\WidthCache.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;platform\text&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -9353,9 +9338,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMeter.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\rendering\RenderMultiColumnBlock.h&quot;&gt;
-      &lt;Filter&gt;rendering&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\rendering\RenderMultiColumnFlowThread.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;rendering&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -11285,9 +11267,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\IDBBindingUtilities.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\JavaScriptCallFrame.h&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\JSCallbackData.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -11363,9 +11342,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptController.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\bindings\js\ScriptDebugServer.h&quot;&gt;
-      &lt;Filter&gt;bindings\js&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\bindings\js\ScriptHeapSnapshot.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;bindings\js&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12113,9 +12089,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InjectedScriptModule.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgent.h&quot;&gt;
-      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorAgentBase.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12146,6 +12119,12 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\InspectorValues.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\agents\InspectorAgent.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\inspector\agents\InspectorRuntimeAgent.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\history\BackForwardClient.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;history&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12314,9 +12293,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDatabaseResource.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorDebuggerAgent.h&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorDOMAgent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12377,9 +12353,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorResourceAgent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;..\inspector\InspectorRuntimeAgent.h&quot;&gt;
-      &lt;Filter&gt;inspector&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\InspectorStyleSheet.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -12431,6 +12404,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\TimelineRecordFactory.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\inspector\WebDebuggerAgent.h&quot;&gt;
+      &lt;Filter&gt;inspector&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\inspector\WorkerConsoleAgent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;inspector&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><span class="lines">@@ -13471,9 +13447,6 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><del>-    &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h&quot;&gt;
-      &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
-    &lt;/ClInclude&gt;
</del><span class="cx">     &lt;ClInclude Include=&quot;$(ConfigurationBuildDir)\obj$(PlatformArchitecture)\$(ProjectName)\DerivedSources\JSKeyboardEvent.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;DerivedSources&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -904,14 +904,9 @@
</span><span class="cx">                 1C26497C0D7E24EC00BD10F2 /* PageMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C26497B0D7E24EC00BD10F2 /* PageMac.cpp */; };
</span><span class="cx">                 1C4C8F020AD85D87009475CE /* DeleteButtonController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C4C8F000AD85D87009475CE /* DeleteButtonController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1C4C8F660AD8655D009475CE /* DeleteButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C4C8F640AD8655D009475CE /* DeleteButton.h */; };
</span><del>-                1C5FAED10DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */; };
-                1C5FAED20DCFD90100D58F78 /* JSJavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */; };
-                1C5FAEE70DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */; };
</del><span class="cx">                 1C81B95A0E97330800266E07 /* InspectorController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81B9560E97330800266E07 /* InspectorController.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 1C81B95B0E97330800266E07 /* InspectorController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C81B9570E97330800266E07 /* InspectorController.cpp */; };
</span><span class="cx">                 1C81B95C0E97330800266E07 /* InspectorClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81B9580E97330800266E07 /* InspectorClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */; };
-                1C81BA0A0E97348300266E07 /* JavaScriptCallFrame.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */; };
</del><span class="cx">                 1CA19E050DC255950065A994 /* EventLoopMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1CA19E030DC255950065A994 /* EventLoopMac.mm */; };
</span><span class="cx">                 1CA19E160DC255CA0065A994 /* EventLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CA19E150DC255CA0065A994 /* EventLoop.h */; };
</span><span class="cx">                 1CAF34810A6C405200ABE06E /* WebScriptObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CAF347E0A6C405200ABE06E /* WebScriptObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2270,7 +2265,6 @@
</span><span class="cx">                 7A74ECBA101839A600BF939E /* InspectorDOMStorageAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A74ECB8101839A500BF939E /* InspectorDOMStorageAgent.cpp */; };
</span><span class="cx">                 7A74ECBB101839A600BF939E /* InspectorDOMStorageAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A74ECB9101839A600BF939E /* InspectorDOMStorageAgent.h */; };
</span><span class="cx">                 7A74ECBD101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */; };
</span><del>-                7AA365EE12E7265400DCA242 /* InspectorRuntimeAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AA365ED12E7265400DCA242 /* InspectorRuntimeAgent.cpp */; };
</del><span class="cx">                 7AA51DD5148506A900AD2752 /* InspectorMemoryAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AA51DD3148506A900AD2752 /* InspectorMemoryAgent.cpp */; };
</span><span class="cx">                 7AA51DD6148506A900AD2752 /* InspectorMemoryAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AA51DD4148506A900AD2752 /* InspectorMemoryAgent.h */; };
</span><span class="cx">                 7AABA25914BC613300AA9A11 /* DOMEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7AABA25714BC613300AA9A11 /* DOMEditor.cpp */; };
</span><span class="lines">@@ -2280,7 +2274,6 @@
</span><span class="cx">                 7ACD88D314C08BD60084EDD2 /* InspectorIndexedDBAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7ACD88D114C08BD60084EDD2 /* InspectorIndexedDBAgent.cpp */; };
</span><span class="cx">                 7ACD88D414C08BD60084EDD2 /* InspectorIndexedDBAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ACD88D214C08BD60084EDD2 /* InspectorIndexedDBAgent.h */; };
</span><span class="cx">                 7ADE722610CBBB9B006B3B3A /* ContextMenuProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ADE722510CBBB9B006B3B3A /* ContextMenuProvider.h */; };
</span><del>-                7AF11A5A12E727490061F23C /* InspectorRuntimeAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF11A5912E727490061F23C /* InspectorRuntimeAgent.h */; };
</del><span class="cx">                 7BE7427381FA906FBB4F0F2C /* JSSVGGraphicsElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 950C4C02BED8936F818E2F99 /* JSSVGGraphicsElement.h */; };
</span><span class="cx">                 7C2BDD3D17C7F98C0038FF15 /* JSDOMGlobalObjectTask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C2BDD3B17C7F98B0038FF15 /* JSDOMGlobalObjectTask.cpp */; };
</span><span class="cx">                 7C2BDD3E17C7F98C0038FF15 /* JSDOMGlobalObjectTask.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C2BDD3C17C7F98B0038FF15 /* JSDOMGlobalObjectTask.h */; };
</span><span class="lines">@@ -3512,8 +3505,6 @@
</span><span class="cx">                 9F0D6B2E121BFEBA006C0288 /* InspectorProfilerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */; };
</span><span class="cx">                 9F0D6B2F121BFEBA006C0288 /* InspectorProfilerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */; };
</span><span class="cx">                 9F3B947E12241758005304E7 /* ScriptHeapSnapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */; };
</span><del>-                9F6FC1961122E82A00E80196 /* ScriptDebugServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */; };
-                9F6FC1971122E82A00E80196 /* ScriptDebugServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 9F72304F11184B4100AD0126 /* ScriptProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F72304C11184B4100AD0126 /* ScriptProfile.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 9F72305011184B4100AD0126 /* ScriptProfiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */; };
</span><span class="cx">                 9F72305111184B4100AD0126 /* ScriptProfiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F72304E11184B4100AD0126 /* ScriptProfiler.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -3653,6 +3644,8 @@
</span><span class="cx">                 A5C566AB127A3AAD00E8A3FF /* DiskImageCacheClientIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C566AA127A3AAD00E8A3FF /* DiskImageCacheClientIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 A5DEBDA316FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5DEBD9F16FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.cpp */; };
</span><span class="cx">                 A5DEBDA416FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = A5DEBDA016FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.h */; };
</span><ins>+                A5E616731894581F009ADF50 /* WebDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5E616711894581F009ADF50 /* WebDebuggerAgent.cpp */; };
+                A5E616741894581F009ADF50 /* WebDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = A5E616721894581F009ADF50 /* WebDebuggerAgent.h */; };
</ins><span class="cx">                 A5F6E16B132ED46E008EDAE3 /* Autocapitalize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A5F6E16C132ED46E008EDAE3 /* Autocapitalize.cpp */; };
</span><span class="cx">                 A5F9EF701266750D00FCCF52 /* DiskImageCacheIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5F9EF6E1266750D00FCCF52 /* DiskImageCacheIOS.mm */; };
</span><span class="cx">                 A5F9EF711266750D00FCCF52 /* DiskImageCacheIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = A5F9EF6F1266750D00FCCF52 /* DiskImageCacheIOS.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -4523,8 +4516,6 @@
</span><span class="cx">                 B2C3DA490D006C1D00EF6F26 /* TextEncodingRegistry.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA190D006C1D00EF6F26 /* TextEncodingRegistry.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 B2C3DA4A0D006C1D00EF6F26 /* TextStream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA1A0D006C1D00EF6F26 /* TextStream.cpp */; };
</span><span class="cx">                 B2C3DA4B0D006C1D00EF6F26 /* TextStream.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA1B0D006C1D00EF6F26 /* TextStream.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                B2C3DA4C0D006C1D00EF6F26 /* UnicodeRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA1C0D006C1D00EF6F26 /* UnicodeRange.cpp */; };
-                B2C3DA4D0D006C1D00EF6F26 /* UnicodeRange.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA1D0D006C1D00EF6F26 /* UnicodeRange.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><span class="cx">                 B2C3DA600D006CD600EF6F26 /* Font.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA4F0D006CD600EF6F26 /* Font.cpp */; };
</span><span class="cx">                 B2C3DA610D006CD600EF6F26 /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA500D006CD600EF6F26 /* Font.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 B2C3DA620D006CD600EF6F26 /* FontCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA510D006CD600EF6F26 /* FontCache.cpp */; };
</span><span class="lines">@@ -4940,7 +4931,6 @@
</span><span class="cx">                 BC3C39B60C0D3D8D005F4D7A /* JSMediaList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC3C39B40C0D3D8D005F4D7A /* JSMediaList.cpp */; };
</span><span class="cx">                 BC3C39B70C0D3D8D005F4D7A /* JSMediaList.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3C39B50C0D3D8D005F4D7A /* JSMediaList.h */; };
</span><span class="cx">                 BC4368E80C226E32005EFB5F /* Rect.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4368E70C226E32005EFB5F /* Rect.h */; };
</span><del>-                BC45827F151299C10061A556 /* RenderMultiColumnBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC45827E151299C10061A556 /* RenderMultiColumnBlock.cpp */; };
</del><span class="cx">                 BC46C1EE0C0DDBDF0020CFC3 /* JSCSSRuleCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC46C1ED0C0DDBDF0020CFC3 /* JSCSSRuleCustom.cpp */; };
</span><span class="cx">                 BC46C1FA0C0DDC8F0020CFC3 /* JSCSSCharsetRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC46C1F00C0DDC8F0020CFC3 /* JSCSSCharsetRule.cpp */; };
</span><span class="cx">                 BC46C1FB0C0DDC8F0020CFC3 /* JSCSSCharsetRule.h in Headers */ = {isa = PBXBuildFile; fileRef = BC46C1F10C0DDC8F0020CFC3 /* JSCSSCharsetRule.h */; };
</span><span class="lines">@@ -5037,7 +5027,6 @@
</span><span class="cx">                 BC60DA5B0D2A31F700B9918F /* XPathException.h in Headers */ = {isa = PBXBuildFile; fileRef = BC60DA590D2A31F700B9918F /* XPathException.h */; };
</span><span class="cx">                 BC60DB490D2A3D1E00B9918F /* JSXPathException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC60DB470D2A3D1E00B9918F /* JSXPathException.cpp */; };
</span><span class="cx">                 BC60DB4A0D2A3D1E00B9918F /* JSXPathException.h in Headers */ = {isa = PBXBuildFile; fileRef = BC60DB480D2A3D1E00B9918F /* JSXPathException.h */; };
</span><del>-                BC64640911D7F304006455B0 /* DOMStringMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC64640711D7F304006455B0 /* DOMStringMap.cpp */; };
</del><span class="cx">                 BC64640A11D7F304006455B0 /* DOMStringMap.h in Headers */ = {isa = PBXBuildFile; fileRef = BC64640811D7F304006455B0 /* DOMStringMap.h */; };
</span><span class="cx">                 BC64641C11D7F416006455B0 /* DatasetDOMStringMap.h in Headers */ = {isa = PBXBuildFile; fileRef = BC64641A11D7F416006455B0 /* DatasetDOMStringMap.h */; };
</span><span class="cx">                 BC64641D11D7F416006455B0 /* DatasetDOMStringMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC64641B11D7F416006455B0 /* DatasetDOMStringMap.cpp */; };
</span><span class="lines">@@ -5186,7 +5175,6 @@
</span><span class="cx">                 BCC065890F3CE2A700CD2D87 /* JSClientRectList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC065850F3CE2A700CD2D87 /* JSClientRectList.cpp */; };
</span><span class="cx">                 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC065860F3CE2A700CD2D87 /* JSClientRectList.h */; };
</span><span class="cx">                 BCC438780E886CC700533DD5 /* JSHTMLInputElementCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC438770E886CC700533DD5 /* JSHTMLInputElementCustom.cpp */; };
</span><del>-                BCC52FD6151298D2003F914B /* RenderMultiColumnBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC52FD5151298D1003F914B /* RenderMultiColumnBlock.h */; };
</del><span class="cx">                 BCC573350D695BBE006EF517 /* DOMProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC573330D695BBE006EF517 /* DOMProgressEvent.h */; };
</span><span class="cx">                 BCC573360D695BBE006EF517 /* DOMProgressEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCC573340D695BBE006EF517 /* DOMProgressEvent.mm */; };
</span><span class="cx">                 BCC573380D695BD7006EF517 /* DOMProgressEventInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC573370D695BD7006EF517 /* DOMProgressEventInternal.h */; };
</span><span class="lines">@@ -6031,8 +6019,6 @@
</span><span class="cx">                 F3335BF812E07DC300D33011 /* InspectorConsoleAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3335BF612E07DC300D33011 /* InspectorConsoleAgent.cpp */; };
</span><span class="cx">                 F3335BF912E07DC300D33011 /* InspectorConsoleAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F3335BF712E07DC300D33011 /* InspectorConsoleAgent.h */; };
</span><span class="cx">                 F33F0282120947F200E5743A /* ScriptProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F33F0281120947F200E5743A /* ScriptProfile.cpp */; };
</span><del>-                F33F053D120B0DA500E5743A /* InspectorDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */; };
-                F33F053E120B0DA500E5743A /* InspectorDebuggerAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */; };
</del><span class="cx">                 F344C7141125B82C00F26EEE /* InspectorFrontendClient.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 F344C75311294D9D00F26EEE /* InspectorFrontendClientLocal.h in Headers */ = {isa = PBXBuildFile; fileRef = F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 F344C75811294FF600F26EEE /* InspectorFrontendClientLocal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F344C75711294FF600F26EEE /* InspectorFrontendClientLocal.cpp */; };
</span><span class="lines">@@ -7690,15 +7676,9 @@
</span><span class="cx">                 1C4C8F000AD85D87009475CE /* DeleteButtonController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeleteButtonController.h; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F630AD8655D009475CE /* DeleteButton.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeleteButton.cpp; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><span class="cx">                 1C4C8F640AD8655D009475CE /* DeleteButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeleteButton.h; sourceTree = &quot;&lt;group&gt;&quot;; tabWidth = 8; usesTabs = 0; };
</span><del>-                1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSJavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSJavaScriptCallFrameCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 1C81B9560E97330800266E07 /* InspectorController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorController.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1C81B9570E97330800266E07 /* InspectorController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorController.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1C81B9580E97330800266E07 /* InspectorClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JavaScriptCallFrame.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JavaScriptCallFrame.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = JavaScriptCallFrame.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 1C904DF90BA9D2C80081E9D0 /* Version.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Version.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1CA19E030DC255950065A994 /* EventLoopMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventLoopMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1CA19E150DC255CA0065A994 /* EventLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventLoop.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9219,7 +9199,6 @@
</span><span class="cx">                 7A74ECB8101839A500BF939E /* InspectorDOMStorageAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDOMStorageAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7A74ECB9101839A600BF939E /* InspectorDOMStorageAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDOMStorageAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInspectorFrontendHostCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                7AA365ED12E7265400DCA242 /* InspectorRuntimeAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorRuntimeAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 7AA51DD3148506A900AD2752 /* InspectorMemoryAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorMemoryAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7AA51DD4148506A900AD2752 /* InspectorMemoryAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorMemoryAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7AABA25714BC613300AA9A11 /* DOMEditor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMEditor.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9229,7 +9208,6 @@
</span><span class="cx">                 7ACD88D114C08BD60084EDD2 /* InspectorIndexedDBAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorIndexedDBAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7ACD88D214C08BD60084EDD2 /* InspectorIndexedDBAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorIndexedDBAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7ADE722510CBBB9B006B3B3A /* ContextMenuProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContextMenuProvider.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                7AF11A5912E727490061F23C /* InspectorRuntimeAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorRuntimeAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 7C2BDD3B17C7F98B0038FF15 /* JSDOMGlobalObjectTask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMGlobalObjectTask.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C2BDD3C17C7F98B0038FF15 /* JSDOMGlobalObjectTask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMGlobalObjectTask.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorOverlay.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -9255,9 +9233,9 @@
</span><span class="cx">                 7E428CE413E3407F003B661C /* ResourceHandleIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ResourceHandleIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7E46F6F81627A2C900062223 /* JSOESElementIndexUint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSOESElementIndexUint.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7E46F6F91627A2C900062223 /* JSOESElementIndexUint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSOESElementIndexUint.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                7E474E1B12494DC900235364 /* SQLiteDatabaseTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLiteDatabaseTrackerClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                7E474E1C12494DC900235364 /* SQLiteDatabaseTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SQLiteDatabaseTracker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SQLiteDatabaseTracker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                7E474E1B12494DC900235364 /* SQLiteDatabaseTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SQLiteDatabaseTrackerClient.h; path = sql/SQLiteDatabaseTrackerClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                7E474E1C12494DC900235364 /* SQLiteDatabaseTracker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SQLiteDatabaseTracker.h; path = sql/SQLiteDatabaseTracker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SQLiteDatabaseTracker.cpp; path = sql/SQLiteDatabaseTracker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7E5D7A73161D3F8F00896C34 /* OESElementIndexUint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OESElementIndexUint.cpp; path = canvas/OESElementIndexUint.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7E5D7A74161D3F8F00896C34 /* OESElementIndexUint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OESElementIndexUint.h; path = canvas/OESElementIndexUint.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7E66E23116D6EB6C00F7E7FF /* WebGLCompressedTextureATC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebGLCompressedTextureATC.cpp; path = canvas/WebGLCompressedTextureATC.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10478,8 +10456,6 @@
</span><span class="cx">                 9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorProfilerAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorProfilerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptHeapSnapshot.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptDebugServer.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptDebugServer.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 9F72304C11184B4100AD0126 /* ScriptProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfile.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F72304D11184B4100AD0126 /* ScriptProfiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfiler.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 9F72304E11184B4100AD0126 /* ScriptProfiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptProfiler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -10631,6 +10607,8 @@
</span><span class="cx">                 A5DEBD9F16FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitPlaybackTargetAvailabilityEvent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5DEBDA016FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitPlaybackTargetAvailabilityEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5DEBDA116FB908700836FE0 /* WebKitPlaybackTargetAvailabilityEvent.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebKitPlaybackTargetAvailabilityEvent.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A5E616711894581F009ADF50 /* WebDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebDebuggerAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A5E616721894581F009ADF50 /* WebDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebDebuggerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A5F6E16C132ED46E008EDAE3 /* Autocapitalize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Autocapitalize.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5F9EF6E1266750D00FCCF52 /* DiskImageCacheIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DiskImageCacheIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A5F9EF6F1266750D00FCCF52 /* DiskImageCacheIOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DiskImageCacheIOS.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -11702,8 +11680,6 @@
</span><span class="cx">                 B2C3DA190D006C1D00EF6F26 /* TextEncodingRegistry.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TextEncodingRegistry.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B2C3DA1A0D006C1D00EF6F26 /* TextStream.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TextStream.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B2C3DA1B0D006C1D00EF6F26 /* TextStream.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TextStream.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                B2C3DA1C0D006C1D00EF6F26 /* UnicodeRange.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UnicodeRange.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                B2C3DA1D0D006C1D00EF6F26 /* UnicodeRange.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UnicodeRange.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 B2C3DA4F0D006CD600EF6F26 /* Font.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = Font.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B2C3DA500D006CD600EF6F26 /* Font.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Font.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 B2C3DA510D006CD600EF6F26 /* FontCache.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = FontCache.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12124,7 +12100,6 @@
</span><span class="cx">                 BC3C39B40C0D3D8D005F4D7A /* JSMediaList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC3C39B50C0D3D8D005F4D7A /* JSMediaList.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSMediaList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC4368E70C226E32005EFB5F /* Rect.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = Rect.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BC45827E151299C10061A556 /* RenderMultiColumnBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMultiColumnBlock.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BC46C1ED0C0DDBDF0020CFC3 /* JSCSSRuleCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSRuleCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC46C1F00C0DDC8F0020CFC3 /* JSCSSCharsetRule.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSCSSCharsetRule.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC46C1F10C0DDC8F0020CFC3 /* JSCSSCharsetRule.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSCSSCharsetRule.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12229,7 +12204,6 @@
</span><span class="cx">                 BC60DA5A0D2A31F700B9918F /* XPathException.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = XPathException.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC60DB470D2A3D1E00B9918F /* JSXPathException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSXPathException.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC60DB480D2A3D1E00B9918F /* JSXPathException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSXPathException.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BC64640711D7F304006455B0 /* DOMStringMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMStringMap.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BC64640811D7F304006455B0 /* DOMStringMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMStringMap.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC64641A11D7F416006455B0 /* DatasetDOMStringMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DatasetDOMStringMap.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC64641B11D7F416006455B0 /* DatasetDOMStringMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DatasetDOMStringMap.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -12394,7 +12368,6 @@
</span><span class="cx">                 BCC065850F3CE2A700CD2D87 /* JSClientRectList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClientRectList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCC065860F3CE2A700CD2D87 /* JSClientRectList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSClientRectList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCC438770E886CC700533DD5 /* JSHTMLInputElementCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLInputElementCustom.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BCC52FD5151298D1003F914B /* RenderMultiColumnBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMultiColumnBlock.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BCC573330D695BBE006EF517 /* DOMProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMProgressEvent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCC573340D695BBE006EF517 /* DOMProgressEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMProgressEvent.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCC573370D695BD7006EF517 /* DOMProgressEventInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMProgressEventInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -13352,8 +13325,6 @@
</span><span class="cx">                 F3335BF612E07DC300D33011 /* InspectorConsoleAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorConsoleAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 F3335BF712E07DC300D33011 /* InspectorConsoleAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorConsoleAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 F33F0281120947F200E5743A /* ScriptProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptProfile.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDebuggerAgent.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
-                F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDebuggerAgent.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 F344C7121125B82C00F26EEE /* InspectorFrontendClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 F344C75211294D9D00F26EEE /* InspectorFrontendClientLocal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontendClientLocal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 F344C75711294FF600F26EEE /* InspectorFrontendClientLocal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontendClientLocal.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -14537,7 +14508,9 @@
</span><span class="cx">                 1A2E6E560CC551E0004A2062 /* sql */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                7E474E1912494DA900235364 /* ios */,
</del><ins>+                                7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */,
+                                7E474E1C12494DC900235364 /* SQLiteDatabaseTracker.h */,
+                                7E474E1B12494DC900235364 /* SQLiteDatabaseTrackerClient.h */,
</ins><span class="cx">                                 1A2E6E780CC556D5004A2062 /* SQLiteAuthorizer.cpp */,
</span><span class="cx">                                 1A2246430CC98DDB00C05240 /* SQLiteDatabase.cpp */,
</span><span class="cx">                                 1A2246440CC98DDB00C05240 /* SQLiteDatabase.h */,
</span><span class="lines">@@ -14776,8 +14749,6 @@
</span><span class="cx">                                 A584FE3A1864E2D800843B10 /* JSCommandLineAPIHost.h */,
</span><span class="cx">                                 7A0E771C10C00DB100A0276E /* JSInspectorFrontendHost.cpp */,
</span><span class="cx">                                 7A0E771D10C00DB100A0276E /* JSInspectorFrontendHost.h */,
</span><del>-                                1C5FAECF0DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp */,
-                                1C5FAED00DCFD90100D58F78 /* JSJavaScriptCallFrame.h */,
</del><span class="cx">                                 9FA37EF61172FD9300C4CD55 /* JSScriptProfile.cpp */,
</span><span class="cx">                                 9FA37EF71172FD9300C4CD55 /* JSScriptProfile.h */,
</span><span class="cx">                                 9FA37EF81172FD9300C4CD55 /* JSScriptProfileNode.cpp */,
</span><span class="lines">@@ -14830,8 +14801,6 @@
</span><span class="cx">                                 F3F5CF1212ED81B30084C569 /* InspectorDatabaseInstrumentation.h */,
</span><span class="cx">                                 41F062130F5F192600A07EAC /* InspectorDatabaseResource.cpp */,
</span><span class="cx">                                 41F062120F5F192600A07EAC /* InspectorDatabaseResource.h */,
</span><del>-                                F33F053B120B0DA500E5743A /* InspectorDebuggerAgent.cpp */,
-                                F33F053C120B0DA500E5743A /* InspectorDebuggerAgent.h */,
</del><span class="cx">                                 7A2458791021EAF4000A00AA /* InspectorDOMAgent.cpp */,
</span><span class="cx">                                 7A24587A1021EAF4000A00AA /* InspectorDOMAgent.h */,
</span><span class="cx">                                 F3D4C47612E07663003DA150 /* InspectorDOMDebuggerAgent.cpp */,
</span><span class="lines">@@ -14874,8 +14843,6 @@
</span><span class="cx">                                 9F0D6B2D121BFEBA006C0288 /* InspectorProfilerAgent.h */,
</span><span class="cx">                                 82AB1771125C826700C5069D /* InspectorResourceAgent.cpp */,
</span><span class="cx">                                 82AB1772125C826700C5069D /* InspectorResourceAgent.h */,
</span><del>-                                7AA365ED12E7265400DCA242 /* InspectorRuntimeAgent.cpp */,
-                                7AF11A5912E727490061F23C /* InspectorRuntimeAgent.h */,
</del><span class="cx">                                 82AB176F125C826700C5069D /* InspectorStyleSheet.cpp */,
</span><span class="cx">                                 82AB1770125C826700C5069D /* InspectorStyleSheet.h */,
</span><span class="cx">                                 82889B4A13C62392009A6156 /* InspectorStyleTextEditor.cpp */,
</span><span class="lines">@@ -14888,7 +14855,6 @@
</span><span class="cx">                                 F375CC061150D300008DDB81 /* InspectorWorkerResource.h */,
</span><span class="cx">                                 F350B73413F1377D00880C43 /* InstrumentingAgents.cpp */,
</span><span class="cx">                                 F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */,
</span><del>-                                1C81BA050E97348300266E07 /* JavaScriptCallFrame.idl */,
</del><span class="cx">                                 59C27F04138D28C10079B7E2 /* NetworkResourcesData.cpp */,
</span><span class="cx">                                 59C27F06138D28CF0079B7E2 /* NetworkResourcesData.h */,
</span><span class="cx">                                 F382088A147D35F90010BC06 /* PageConsoleAgent.cpp */,
</span><span class="lines">@@ -14911,6 +14877,8 @@
</span><span class="cx">                                 9FA37EF01172FD4100C4CD55 /* ScriptProfileNode.idl */,
</span><span class="cx">                                 7553CFE7108F473F00EA281E /* TimelineRecordFactory.cpp */,
</span><span class="cx">                                 7553CFE6108F473F00EA281E /* TimelineRecordFactory.h */,
</span><ins>+                                A5E616711894581F009ADF50 /* WebDebuggerAgent.cpp */,
+                                A5E616721894581F009ADF50 /* WebDebuggerAgent.h */,
</ins><span class="cx">                                 F382088E147D35F90010BC06 /* WorkerConsoleAgent.cpp */,
</span><span class="cx">                                 F382088F147D35F90010BC06 /* WorkerConsoleAgent.h */,
</span><span class="cx">                                 F34742DE1343631F00531BC2 /* WorkerDebuggerAgent.cpp */,
</span><span class="lines">@@ -16241,17 +16209,6 @@
</span><span class="cx">                         path = icu;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><del>-                7E474E1912494DA900235364 /* ios */ = {
-                        isa = PBXGroup;
-                        children = (
-                                7E474E1D12494DC900235364 /* SQLiteDatabaseTracker.cpp */,
-                                7E474E1C12494DC900235364 /* SQLiteDatabaseTracker.h */,
-                                7E474E1B12494DC900235364 /* SQLiteDatabaseTrackerClient.h */,
-                        );
-                        name = ios;
-                        path = sql/ios;
-                        sourceTree = &quot;&lt;group&gt;&quot;;
-                };
</del><span class="cx">                 7EE6847312D26E5500E79415 /* cf */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -20018,8 +19975,6 @@
</span><span class="cx">                                 B2C3DA1A0D006C1D00EF6F26 /* TextStream.cpp */,
</span><span class="cx">                                 B2C3DA1B0D006C1D00EF6F26 /* TextStream.h */,
</span><span class="cx">                                 A863E2001343412000274926 /* UnicodeBidi.h */,
</span><del>-                                B2C3DA1C0D006C1D00EF6F26 /* UnicodeRange.cpp */,
-                                B2C3DA1D0D006C1D00EF6F26 /* UnicodeRange.h */,
</del><span class="cx">                                 14476AA715DC4BB100305DB2 /* WritingMode.h */,
</span><span class="cx">                         );
</span><span class="cx">                         path = text;
</span><span class="lines">@@ -20144,8 +20099,6 @@
</span><span class="cx">                                 1432E8460C51493800B1500F /* GCController.h */,
</span><span class="cx">                                 C585A66011D4FAC5004C3E4B /* IDBBindingUtilities.cpp */,
</span><span class="cx">                                 C585A66111D4FAC5004C3E4B /* IDBBindingUtilities.h */,
</span><del>-                                1C81BA030E97348300266E07 /* JavaScriptCallFrame.cpp */,
-                                1C81BA040E97348300266E07 /* JavaScriptCallFrame.h */,
</del><span class="cx">                                 E157A8EE18185425009F821D /* JSCryptoAlgorithmBuilder.cpp */,
</span><span class="cx">                                 E157A8EF18185425009F821D /* JSCryptoAlgorithmBuilder.h */,
</span><span class="cx">                                 E125F83B182411E700D84CD9 /* JSCryptoOperationData.cpp */,
</span><span class="lines">@@ -20195,8 +20148,6 @@
</span><span class="cx">                                 93B70D5309EB0C7C009D8468 /* ScriptController.cpp */,
</span><span class="cx">                                 93B70D5409EB0C7C009D8468 /* ScriptController.h */,
</span><span class="cx">                                 A83E1C720E49042B00140B9C /* ScriptControllerMac.mm */,
</span><del>-                                9F6FC1941122E82A00E80196 /* ScriptDebugServer.cpp */,
-                                9F6FC1951122E82A00E80196 /* ScriptDebugServer.h */,
</del><span class="cx">                                 9F3B947D12241758005304E7 /* ScriptHeapSnapshot.h */,
</span><span class="cx">                                 41F066E30F64BCF600A07EAC /* ScriptGlobalObject.cpp */,
</span><span class="cx">                                 41F066E20F64BCF600A07EAC /* ScriptGlobalObject.h */,
</span><span class="lines">@@ -20340,7 +20291,6 @@
</span><span class="cx">                                 511EF2CE17F0FDF100E4FA16 /* JSIDBObjectStoreCustom.cpp */,
</span><span class="cx">                                 A7D0318D0E93540300E24ACD /* JSImageDataCustom.cpp */,
</span><span class="cx">                                 7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */,
</span><del>-                                1C5FAEE60DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp */,
</del><span class="cx">                                 BCE1C43F0D9830F4003B02F2 /* JSLocationCustom.cpp */,
</span><span class="cx">                                 AD726FE716D9F204003A4E6D /* JSMediaListCustom.h */,
</span><span class="cx">                                 E1A5F99A0E7EAA2500AF85EA /* JSMessageChannelCustom.cpp */,
</span><span class="lines">@@ -21743,8 +21693,6 @@
</span><span class="cx">                                 ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */,
</span><span class="cx">                                 A454424C119B3687009BE912 /* RenderMeter.cpp */,
</span><span class="cx">                                 A454424D119B3687009BE912 /* RenderMeter.h */,
</span><del>-                                BC45827E151299C10061A556 /* RenderMultiColumnBlock.cpp */,
-                                BCC52FD5151298D1003F914B /* RenderMultiColumnBlock.h */,
</del><span class="cx">                                 1A3586DD15264C450022A659 /* RenderMultiColumnFlowThread.cpp */,
</span><span class="cx">                                 1A3586DE15264C450022A659 /* RenderMultiColumnFlowThread.h */,
</span><span class="cx">                                 BCE32B9D1517C22700F542EC /* RenderMultiColumnSet.cpp */,
</span><span class="lines">@@ -21978,7 +21926,6 @@
</span><span class="cx">                                 C55610F011A704EB00B82D27 /* DOMStringList.cpp */,
</span><span class="cx">                                 C544274911A57E7A0063A749 /* DOMStringList.h */,
</span><span class="cx">                                 C544274A11A57E7A0063A749 /* DOMStringList.idl */,
</span><del>-                                BC64640711D7F304006455B0 /* DOMStringMap.cpp */,
</del><span class="cx">                                 BC64640811D7F304006455B0 /* DOMStringMap.h */,
</span><span class="cx">                                 BC64647911D800CD006455B0 /* DOMStringMap.idl */,
</span><span class="cx">                                 05FD69DF12845D4300B2BEB3 /* DOMTimeStamp.h */,
</span><span class="lines">@@ -23967,7 +23914,6 @@
</span><span class="cx">                                 7AB0B1C11211A62200A76940 /* InspectorDatabaseAgent.h in Headers */,
</span><span class="cx">                                 F3F5CF1312ED81B30084C569 /* InspectorDatabaseInstrumentation.h in Headers */,
</span><span class="cx">                                 41F062140F5F192600A07EAC /* InspectorDatabaseResource.h in Headers */,
</span><del>-                                F33F053E120B0DA500E5743A /* InspectorDebuggerAgent.h in Headers */,
</del><span class="cx">                                 7A24587C1021EAF4000A00AA /* InspectorDOMAgent.h in Headers */,
</span><span class="cx">                                 5164ED44183208C700EA8FF1 /* IDBServerConnectionLevelDB.h in Headers */,
</span><span class="cx">                                 F3D4C47912E07663003DA150 /* InspectorDOMDebuggerAgent.h in Headers */,
</span><span class="lines">@@ -23989,7 +23935,6 @@
</span><span class="cx">                                 4F6FDD651341DEDD001F8EE3 /* InspectorPageAgent.h in Headers */,
</span><span class="cx">                                 9F0D6B2F121BFEBA006C0288 /* InspectorProfilerAgent.h in Headers */,
</span><span class="cx">                                 82AB1776125C826700C5069D /* InspectorResourceAgent.h in Headers */,
</span><del>-                                7AF11A5A12E727490061F23C /* InspectorRuntimeAgent.h in Headers */,
</del><span class="cx">                                 82AB1774125C826700C5069D /* InspectorStyleSheet.h in Headers */,
</span><span class="cx">                                 82889B4D13C62392009A6156 /* InspectorStyleTextEditor.h in Headers */,
</span><span class="cx">                                 31EAF97E121435A400E7C1BF /* DeviceMotionClientIOS.h in Headers */,
</span><span class="lines">@@ -24006,7 +23951,6 @@
</span><span class="cx">                                 E134F5AB12EE343F004EC58D /* IntRectHash.h in Headers */,
</span><span class="cx">                                 B27535750B053814002CE64F /* IntSize.h in Headers */,
</span><span class="cx">                                 B27535760B053814002CE64F /* IntSizeHash.h in Headers */,
</span><del>-                                1C81BA0A0E97348300266E07 /* JavaScriptCallFrame.h in Headers */,
</del><span class="cx">                                 418F88050FF957AF0080F045 /* JSAbstractWorker.h in Headers */,
</span><span class="cx">                                 FDA15ECA12B03F50003A583A /* JSAnalyserNode.h in Headers */,
</span><span class="cx">                                 65DF31DB09D1C123000BE325 /* JSAttr.h in Headers */,
</span><span class="lines">@@ -24255,7 +24199,6 @@
</span><span class="cx">                                 BC6C49F40D7DBA0500FFA558 /* JSImageConstructor.h in Headers */,
</span><span class="cx">                                 A77979290D6B9E64003851B9 /* JSImageData.h in Headers */,
</span><span class="cx">                                 7A0E771F10C00DB100A0276E /* JSInspectorFrontendHost.h in Headers */,
</span><del>-                                1C5FAED20DCFD90100D58F78 /* JSJavaScriptCallFrame.h in Headers */,
</del><span class="cx">                                 A86629D309DA2B48009633A5 /* JSKeyboardEvent.h in Headers */,
</span><span class="cx">                                 1AE00D59182DAC8D00087DD7 /* KeyedCoding.h in Headers */,
</span><span class="cx">                                 935F45430F7C3B5F00D7C1FB /* JSLazyEventListener.h in Headers */,
</span><span class="lines">@@ -24742,6 +24685,7 @@
</span><span class="cx">                                 14115B5209F84B7100CA4FC1 /* Node.h in Headers */,
</span><span class="cx">                                 854FE7310A2297BE0058D7AD /* NodeFilter.h in Headers */,
</span><span class="cx">                                 854FE7330A2297BE0058D7AD /* NodeFilterCondition.h in Headers */,
</span><ins>+                                A5E616741894581F009ADF50 /* WebDebuggerAgent.h in Headers */,
</ins><span class="cx">                                 854FE7350A2297BE0058D7AD /* NodeIterator.h in Headers */,
</span><span class="cx">                                 A818721B0977D3C0005826D9 /* NodeList.h in Headers */,
</span><span class="cx">                                 63189AE30E83A33300012E41 /* NodeRareData.h in Headers */,
</span><span class="lines">@@ -25005,7 +24949,6 @@
</span><span class="cx">                                 41FA303F1316C29C00C0BFC5 /* RenderMediaControls.h in Headers */,
</span><span class="cx">                                 ABDDFE7A0A5C6E7000A3E11D /* RenderMenuList.h in Headers */,
</span><span class="cx">                                 A454424F119B3687009BE912 /* RenderMeter.h in Headers */,
</span><del>-                                BCC52FD6151298D2003F914B /* RenderMultiColumnBlock.h in Headers */,
</del><span class="cx">                                 1A3586E015264C450022A659 /* RenderMultiColumnFlowThread.h in Headers */,
</span><span class="cx">                                 BCE32B9C1517C0B200F542EC /* RenderMultiColumnSet.h in Headers */,
</span><span class="cx">                                 E1FE137B184D21BB00892F13 /* CryptoAlgorithmAES_KW.h in Headers */,
</span><span class="lines">@@ -25151,7 +25094,6 @@
</span><span class="cx">                                 416E75BE0EDF8FD700360E1D /* ScriptCallStack.h in Headers */,
</span><span class="cx">                                 F392249D126F11AE00A926D9 /* ScriptCallStackFactory.h in Headers */,
</span><span class="cx">                                 93B70D7009EB0C7C009D8468 /* ScriptController.h in Headers */,
</span><del>-                                9F6FC1971122E82A00E80196 /* ScriptDebugServer.h in Headers */,
</del><span class="cx">                                 4998AED213FB224D0090B1AA /* ScriptedAnimationController.h in Headers */,
</span><span class="cx">                                 08A484780E5272C500C3FE76 /* ScriptElement.h in Headers */,
</span><span class="cx">                                 E11C9D9B0EB3681200E409DB /* ScriptExecutionContext.h in Headers */,
</span><span class="lines">@@ -25745,7 +25687,6 @@
</span><span class="cx">                                 AA4739D21757AFEC00E76767 /* UIRequestEvent.h in Headers */,
</span><span class="cx">                                 9B2D8A7914997CCF00ECEF3E /* UndoStep.h in Headers */,
</span><span class="cx">                                 A863E2011343412000274926 /* UnicodeBidi.h in Headers */,
</span><del>-                                B2C3DA4D0D006C1D00EF6F26 /* UnicodeRange.h in Headers */,
</del><span class="cx">                                 E4AFCFA50DAF29A300F5F55C /* UnitBezier.h in Headers */,
</span><span class="cx">                                 D086FE9809D53AAB005BC74D /* UnlinkCommand.h in Headers */,
</span><span class="cx">                                 F55B3DDE1251F12D003EF269 /* URLInputType.h in Headers */,
</span><span class="lines">@@ -26870,7 +26811,6 @@
</span><span class="cx">                                 BC5A86840C33676000EEA649 /* DOMSelection.cpp in Sources */,
</span><span class="cx">                                 4ACBC0C312713CCA0094F9B2 /* DOMSettableTokenList.cpp in Sources */,
</span><span class="cx">                                 C55610F111A704EB00B82D27 /* DOMStringList.cpp in Sources */,
</span><del>-                                BC64640911D7F304006455B0 /* DOMStringMap.cpp in Sources */,
</del><span class="cx">                                 0FF5025C102BA9010066F39A /* DOMStyleMedia.mm in Sources */,
</span><span class="cx">                                 850657010AAB4763002D15C0 /* DOMStyleSheet.mm in Sources */,
</span><span class="cx">                                 850657030AAB4763002D15C0 /* DOMStyleSheetList.mm in Sources */,
</span><span class="lines">@@ -26973,6 +26913,7 @@
</span><span class="cx">                                 078E090B17D14CEE00420AA1 /* RTCPeerConnection.cpp in Sources */,
</span><span class="cx">                                 84730D7C1248F0B300D3A9C9 /* FEDisplacementMap.cpp in Sources */,
</span><span class="cx">                                 4358E8801360A31700E4748C /* FEDropShadow.cpp in Sources */,
</span><ins>+                                A5E616731894581F009ADF50 /* WebDebuggerAgent.cpp in Sources */,
</ins><span class="cx">                                 51D719F9181106E00016DC51 /* PageGroupIndexedDatabase.cpp in Sources */,
</span><span class="cx">                                 84730D7E1248F0B300D3A9C9 /* FEFlood.cpp in Sources */,
</span><span class="cx">                                 84801954108BAFB300CB2B1F /* FEGaussianBlur.cpp in Sources */,
</span><span class="lines">@@ -27301,7 +27242,6 @@
</span><span class="cx">                                 4A9CC82016BF9BB400EC645A /* InspectorCSSOMWrappers.cpp in Sources */,
</span><span class="cx">                                 7AB0B1C01211A62200A76940 /* InspectorDatabaseAgent.cpp in Sources */,
</span><span class="cx">                                 41F062150F5F192600A07EAC /* InspectorDatabaseResource.cpp in Sources */,
</span><del>-                                F33F053D120B0DA500E5743A /* InspectorDebuggerAgent.cpp in Sources */,
</del><span class="cx">                                 7A24587B1021EAF4000A00AA /* InspectorDOMAgent.cpp in Sources */,
</span><span class="cx">                                 0FC4E40F187F82E10045882C /* ScrollingTreeIOS.cpp in Sources */,
</span><span class="cx">                                 F3D4C47812E07663003DA150 /* InspectorDOMDebuggerAgent.cpp in Sources */,
</span><span class="lines">@@ -27322,7 +27262,6 @@
</span><span class="cx">                                 E1FF8F5F1807442100132674 /* SubtleCrypto.cpp in Sources */,
</span><span class="cx">                                 9F0D6B2E121BFEBA006C0288 /* InspectorProfilerAgent.cpp in Sources */,
</span><span class="cx">                                 82AB1775125C826700C5069D /* InspectorResourceAgent.cpp in Sources */,
</span><del>-                                7AA365EE12E7265400DCA242 /* InspectorRuntimeAgent.cpp in Sources */,
</del><span class="cx">                                 82AB1773125C826700C5069D /* InspectorStyleSheet.cpp in Sources */,
</span><span class="cx">                                 82889B4C13C62392009A6156 /* InspectorStyleTextEditor.cpp in Sources */,
</span><span class="cx">                                 07277E4E17D018CC0015534D /* JSMediaStreamAudioDestinationNode.cpp in Sources */,
</span><span class="lines">@@ -27339,7 +27278,6 @@
</span><span class="cx">                                 B275357D0B053814002CE64F /* IntRectMac.mm in Sources */,
</span><span class="cx">                                 B27535620B053814002CE64F /* IntSizeCG.cpp in Sources */,
</span><span class="cx">                                 B275357E0B053814002CE64F /* IntSizeMac.mm in Sources */,
</span><del>-                                1C81BA090E97348300266E07 /* JavaScriptCallFrame.cpp in Sources */,
</del><span class="cx">                                 418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */,
</span><span class="cx">                                 073BE34F17D18183002BD431 /* RTCIceCandidateDescriptor.cpp in Sources */,
</span><span class="cx">                                 E172AF6D180F24C600FBADB9 /* CryptoAlgorithm.cpp in Sources */,
</span><span class="lines">@@ -27621,10 +27559,8 @@
</span><span class="cx">                                 A7D0318E0E93540300E24ACD /* JSImageDataCustom.cpp in Sources */,
</span><span class="cx">                                 7A0E771E10C00DB100A0276E /* JSInspectorFrontendHost.cpp in Sources */,
</span><span class="cx">                                 7A74ECBD101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp in Sources */,
</span><del>-                                1C5FAED10DCFD90100D58F78 /* JSJavaScriptCallFrame.cpp in Sources */,
</del><span class="cx">                                 076306E017E16089005A7C4E /* JSSourceInfo.cpp in Sources */,
</span><span class="cx">                                 07969DB717D14151007FF842 /* JSRTCIceCandidateEvent.cpp in Sources */,
</span><del>-                                1C5FAEE70DCFDA6800D58F78 /* JSJavaScriptCallFrameCustom.cpp in Sources */,
</del><span class="cx">                                 A86629D409DA2B48009633A5 /* JSKeyboardEvent.cpp in Sources */,
</span><span class="cx">                                 935F45420F7C3B5F00D7C1FB /* JSLazyEventListener.cpp in Sources */,
</span><span class="cx">                                 BCE1C43B0D9830D3003B02F2 /* JSLocation.cpp in Sources */,
</span><span class="lines">@@ -28358,7 +28294,6 @@
</span><span class="cx">                                 41FA303E1316C29C00C0BFC5 /* RenderMediaControls.cpp in Sources */,
</span><span class="cx">                                 ABDDFE790A5C6E7000A3E11D /* RenderMenuList.cpp in Sources */,
</span><span class="cx">                                 A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */,
</span><del>-                                BC45827F151299C10061A556 /* RenderMultiColumnBlock.cpp in Sources */,
</del><span class="cx">                                 1A3586DF15264C450022A659 /* RenderMultiColumnFlowThread.cpp in Sources */,
</span><span class="cx">                                 BCE32B9E1517C22700F542EC /* RenderMultiColumnSet.cpp in Sources */,
</span><span class="cx">                                 1A3FF9C315265359002288A1 /* RenderNamedFlowThread.cpp in Sources */,
</span><span class="lines">@@ -28469,7 +28404,6 @@
</span><span class="cx">                                 F392249C126F11AE00A926D9 /* ScriptCallStackFactory.cpp in Sources */,
</span><span class="cx">                                 93B70D6F09EB0C7C009D8468 /* ScriptController.cpp in Sources */,
</span><span class="cx">                                 A83E1C740E49042C00140B9C /* ScriptControllerMac.mm in Sources */,
</span><del>-                                9F6FC1961122E82A00E80196 /* ScriptDebugServer.cpp in Sources */,
</del><span class="cx">                                 4998AED113FB224D0090B1AA /* ScriptedAnimationController.cpp in Sources */,
</span><span class="cx">                                 08A484770E5272C500C3FE76 /* ScriptElement.cpp in Sources */,
</span><span class="cx">                                 E11C9DB00EB3699500E409DB /* ScriptExecutionContext.cpp in Sources */,
</span><span class="lines">@@ -28966,7 +28900,6 @@
</span><span class="cx">                                 85031B4D0A44EFC700F992E0 /* UIEvent.cpp in Sources */,
</span><span class="cx">                                 93354A3C0B24F8C9003F6DEA /* UIEventWithKeyState.cpp in Sources */,
</span><span class="cx">                                 AA4739D11757AFEC00E76767 /* UIRequestEvent.cpp in Sources */,
</span><del>-                                B2C3DA4C0D006C1D00EF6F26 /* UnicodeRange.cpp in Sources */,
</del><span class="cx">                                 D086FE9909D53AAB005BC74D /* UnlinkCommand.cpp in Sources */,
</span><span class="cx">                                 F55B3DDD1251F12D003EF269 /* URLInputType.cpp in Sources */,
</span><span class="cx">                                 A769E96A16689D0C005D4529 /* UserActionElementSet.cpp in Sources */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAXObjectCacheh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/accessibility/AXObjectCache.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -128,6 +128,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if HAVE(ACCESSIBILITY)
</span><span class="cx">     static void enableAccessibility() { gAccessibilityEnabled = true; }
</span><ins>+    static void disableAccessibility() { gAccessibilityEnabled = false; }
+
</ins><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 class="cx">     
</span><span class="lines">@@ -135,6 +137,7 @@
</span><span class="cx">     static bool accessibilityEnhancedUserInterfaceEnabled() { return gAccessibilityEnhancedUserInterfaceEnabled; }
</span><span class="cx"> #else
</span><span class="cx">     static void enableAccessibility() { }
</span><ins>+    static void disableAccessibility() { }
</ins><span class="cx">     static void setEnhancedUserInterfaceAccessibility(bool) { }
</span><span class="cx">     static bool accessibilityEnabled() { return false; }
</span><span class="cx">     static bool accessibilityEnhancedUserInterfaceEnabled() { return false; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAccessibilityNodeObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/accessibility/AccessibilityNodeObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -133,7 +133,10 @@
</span><span class="cx">     if (!node() &amp;&amp; !renderer())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    axObjectCache()-&gt;postNotification(this, document(), AXObjectCache::AXChildrenChanged);
</del><ins>+    AXObjectCache* cache = axObjectCache();
+    if (!cache)
+        return;
+    cache-&gt;postNotification(this, document(), AXObjectCache::AXChildrenChanged);
</ins><span class="cx"> 
</span><span class="cx">     // Go up the accessibility parent chain, but only if the element already exists. This method is
</span><span class="cx">     // called during render layouts, minimal work should be done. 
</span><span class="lines">@@ -147,11 +150,11 @@
</span><span class="cx"> 
</span><span class="cx">         // If this element supports ARIA live regions, then notify the AT of changes.
</span><span class="cx">         if (parent-&gt;supportsARIALiveRegion())
</span><del>-            axObjectCache()-&gt;postNotification(parent, parent-&gt;document(), AXObjectCache::AXLiveRegionChanged);
</del><ins>+            cache-&gt;postNotification(parent, parent-&gt;document(), AXObjectCache::AXLiveRegionChanged);
</ins><span class="cx">         
</span><span class="cx">         // If this element is an ARIA text control, notify the AT of changes.
</span><span class="cx">         if (parent-&gt;isARIATextControl() &amp;&amp; !parent-&gt;isNativeTextControl() &amp;&amp; !parent-&gt;node()-&gt;hasEditableStyle())
</span><del>-            axObjectCache()-&gt;postNotification(parent, parent-&gt;document(), AXObjectCache::AXValueChanged);
</del><ins>+            cache-&gt;postNotification(parent, parent-&gt;document(), AXObjectCache::AXValueChanged);
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreaccessibilityAccessibilityRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/accessibility/AccessibilityRenderObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2796,44 +2796,47 @@
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(SVG)
</span><span class="cx">     if (!m_renderer || !m_renderer-&gt;isRenderImage())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><span class="cx">     CachedImage* cachedImage = toRenderImage(m_renderer)-&gt;cachedImage();
</span><span class="cx">     if (!cachedImage)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><span class="cx">     Image* image = cachedImage-&gt;image();
</span><span class="cx">     if (!image || !image-&gt;isSVGImage())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><span class="cx">     SVGImage* svgImage = static_cast&lt;SVGImage*&gt;(image);
</span><span class="cx">     FrameView* frameView = svgImage-&gt;frameView();
</span><span class="cx">     if (!frameView)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     Frame&amp; frame = frameView-&gt;frame();
</span><span class="cx">     
</span><span class="cx">     Document* doc = frame.document();
</span><span class="cx">     if (!doc || !doc-&gt;isSVGDocument())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><span class="cx">     SVGSVGElement* rootElement = toSVGDocument(doc)-&gt;rootElement();
</span><span class="cx">     if (!rootElement)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     RenderObject* rendererRoot = rootElement-&gt;renderer();
</span><span class="cx">     if (!rendererRoot)
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><del>-    AccessibilityObject* rootSVGObject = frame.document()-&gt;axObjectCache()-&gt;getOrCreate(rendererRoot);
</del><ins>+    AXObjectCache* cache = frame.document()-&gt;axObjectCache();
+    if (!cache)
+        return nullptr;
+    AccessibilityObject* rootSVGObject = cache-&gt;getOrCreate(rendererRoot);
</ins><span class="cx"> 
</span><span class="cx">     // In order to connect the AX hierarchy from the SVG root element from the loaded resource
</span><span class="cx">     // the parent must be set, because there's no other way to get back to who created the image.
</span><span class="cx">     ASSERT(rootSVGObject &amp;&amp; rootSVGObject-&gt;isAccessibilitySVGRoot());
</span><span class="cx">     if (!rootSVGObject-&gt;isAccessibilitySVGRoot())
</span><del>-        return 0;
</del><ins>+        return nullptr;
</ins><span class="cx">     
</span><span class="cx">     return toAccessibilitySVGRoot(rootSVGObject);
</span><span class="cx"> #else
</span><del>-    return 0;
</del><ins>+    return nullptr;
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -20,7 +20,7 @@
</span><span class="cx">  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
</span><span class="cx">  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
</span><del>- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</del><ins>+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</ins><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> // This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
</span><span class="lines">@@ -95,7 +95,6 @@
</span><span class="cx"> #include &quot;JSImageConstructor.cpp&quot;
</span><span class="cx"> #include &quot;JSImageDataCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSInspectorFrontendHostCustom.cpp&quot;
</span><del>-#include &quot;JSJavaScriptCallFrameCustom.cpp&quot;
</del><span class="cx"> #include &quot;JSLazyEventListener.cpp&quot;
</span><span class="cx"> #include &quot;JSLocationCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSMainThreadExecState.cpp&quot;
</span><span class="lines">@@ -141,13 +140,11 @@
</span><span class="cx"> #include &quot;JSXMLHttpRequestCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSXPathResultCustom.cpp&quot;
</span><span class="cx"> #include &quot;JSXSLTProcessorCustom.cpp&quot;
</span><del>-#include &quot;JavaScriptCallFrame.cpp&quot;
</del><span class="cx"> #include &quot;PageScriptDebugServer.cpp&quot;
</span><span class="cx"> #include &quot;ScheduledAction.cpp&quot;
</span><span class="cx"> #include &quot;ScriptCachedFrameData.cpp&quot;
</span><span class="cx"> #include &quot;ScriptCallStackFactory.cpp&quot;
</span><span class="cx"> #include &quot;ScriptController.cpp&quot;
</span><del>-#include &quot;ScriptDebugServer.cpp&quot;
</del><span class="cx"> #include &quot;ScriptProfiler.cpp&quot;
</span><span class="cx"> #include &quot;ScriptState.cpp&quot;
</span><span class="cx"> #include &quot;SerializedScriptValue.cpp&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJSDOMWindowCustomcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -344,7 +344,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (lookupPut(exec, propertyName, value, *s_info.propHashTable(exec), slot))
</del><ins>+    if (lookupPut(exec, propertyName, thisObject, value, *s_info.propHashTable(exec), slot))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     if (BindingSecurity::shouldAllowAccessToDOMWindow(exec, thisObject-&gt;impl()))
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJSJavaScriptCallFrameCustomcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,129 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 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. ``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
- * 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 &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;JSJavaScriptCallFrame.h&quot;
-
-#include &quot;JavaScriptCallFrame.h&quot;
-#include &lt;runtime/ArrayPrototype.h&gt;
-#include &lt;runtime/Error.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JSValue JSJavaScriptCallFrame::evaluate(ExecState* exec)
-{
-    JSValue exception;
-    JSValue result = impl().evaluate(exec-&gt;argument(0).toString(exec)-&gt;value(exec), exception);
-
-    if (exception)
-        exec-&gt;vm().throwException(exec, exception);
-
-    return result;
-}
-
-JSValue JSJavaScriptCallFrame::thisObject(ExecState*) const
-{
-    return impl().thisValue();
-}
-
-JSValue JSJavaScriptCallFrame::type(ExecState* exec) const
-{
-    switch (impl().type()) {
-    case DebuggerCallFrame::FunctionType:
-        return jsNontrivialString(exec, ASCIILiteral(&quot;function&quot;));
-    case DebuggerCallFrame::ProgramType:
-        return jsNontrivialString(exec, ASCIILiteral(&quot;program&quot;));
-    }
-
-    ASSERT_NOT_REACHED();
-    return jsNull();
-}
-
-JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
-{
-    if (!impl().scopeChain())
-        return jsNull();
-
-    JSScope* scopeChain = impl().scopeChain();
-    ScopeChainIterator iter = scopeChain-&gt;begin();
-    ScopeChainIterator end = scopeChain-&gt;end();
-
-    // we must always have something in the scope chain
-    ASSERT(iter != end);
-
-    MarkedArgumentBuffer list;
-    do {
-        list.append(iter.get());
-        ++iter;
-    } while (iter != end);
-
-    return constructArray(exec, 0, globalObject(), list);
-}
-
-JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
-{
-    if (!impl().scopeChain())
-        return jsUndefined();
-
-    if (!exec-&gt;argument(0).isInt32())
-        return jsUndefined();
-    int index = exec-&gt;argument(0).asInt32();
-
-    JSScope* scopeChain = impl().scopeChain();
-    ScopeChainIterator end = scopeChain-&gt;end();
-
-    bool foundLocalScope = false;
-    for (ScopeChainIterator iter = scopeChain-&gt;begin(); iter != end; ++iter) {
-        JSObject* scope = iter.get();
-        if (scope-&gt;isActivationObject()) {
-            if (!foundLocalScope) {
-                // First activation object is local scope, each successive activation object is closure.
-                if (!index)
-                    return JSValue::decode(jsJavaScriptCallFrameLOCAL_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
-                foundLocalScope = true;
-            } else if (!index)
-                return JSValue::decode(jsJavaScriptCallFrameCLOSURE_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
-        }
-
-        if (!index) {
-            // Last in the chain is global scope.
-            if (++iter == end)
-                return JSValue::decode(jsJavaScriptCallFrameGLOBAL_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
-            return JSValue::decode(jsJavaScriptCallFrameWITH_SCOPE(exec, EncodedJSValue(), EncodedJSValue(), Identifier()));
-        }
-
-        --index;
-    }
-    return jsUndefined();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJSNodeListCustomcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JSNodeListCustom.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JSNodeListCustom.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JSNodeListCustom.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 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">@@ -51,15 +51,13 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSNodeList::canGetItemsForName(ExecState*, NodeList* impl, PropertyName propertyName)
</del><ins>+bool JSNodeList::getOwnPropertySlotDelegate(ExecState* exec, PropertyName propertyName, PropertySlot&amp; slot)
</ins><span class="cx"> {
</span><del>-    return impl-&gt;namedItem(propertyNameToAtomicString(propertyName));
</del><ins>+    if (Node* item = impl().namedItem(propertyNameToAtomicString(propertyName))) {
+        slot.setValue(this, ReadOnly | DontDelete | DontEnum, toJS(exec, globalObject(), item));
+        return true;
+    }
+    return false;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-EncodedJSValue JSNodeList::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName)
-{
-    JSNodeList* thisObj = jsCast&lt;JSNodeList*&gt;(JSValue::decode(slotBase));
-    return JSValue::encode(toJS(exec, thisObj-&gt;globalObject(), thisObj-&gt;impl().namedItem(propertyNameToAtomicString(propertyName))));
-}
-
</del><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJavaScriptCallFramecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,58 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 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. ``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
- * 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 &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;JavaScriptCallFrame.h&quot;
-
-#include &lt;debugger/DebuggerCallFrame.h&gt;
-
-using namespace JSC;
-
-namespace WebCore {
-
-JavaScriptCallFrame::JavaScriptCallFrame(PassRefPtr&lt;DebuggerCallFrame&gt; debuggerCallFrame)
-    : m_debuggerCallFrame(debuggerCallFrame)
-{
-}
-
-JavaScriptCallFrame* JavaScriptCallFrame::caller()
-{
-    if (m_caller)
-        return m_caller.get();
-
-    RefPtr&lt;DebuggerCallFrame&gt; debuggerCallerFrame = m_debuggerCallFrame-&gt;callerFrame();
-    if (!debuggerCallerFrame)
-        return 0;
-
-    m_caller = create(debuggerCallerFrame);
-    return m_caller.get();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsJavaScriptCallFrameh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/JavaScriptCallFrame.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,72 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 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. ``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
- * 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 JavaScriptCallFrame_h
-#define JavaScriptCallFrame_h
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &lt;debugger/DebuggerCallFrame.h&gt;
-#include &lt;interpreter/CallFrame.h&gt;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/RefCounted.h&gt;
-#include &lt;wtf/text/TextPosition.h&gt;
-
-namespace WebCore {
-
-class JavaScriptCallFrame : public RefCounted&lt;JavaScriptCallFrame&gt; {
-public:
-    static PassRefPtr&lt;JavaScriptCallFrame&gt; create(PassRefPtr&lt;JSC::DebuggerCallFrame&gt; debuggerCallFrame)
-    {
-        return adoptRef(new JavaScriptCallFrame(debuggerCallFrame));
-    }
-
-    JavaScriptCallFrame* caller();
-    intptr_t sourceID() const { return m_debuggerCallFrame-&gt;sourceID(); }
-    const TextPosition position() const { return m_debuggerCallFrame-&gt;position(); }
-    int line() const { return m_debuggerCallFrame-&gt;line(); }
-    int column() const { return m_debuggerCallFrame-&gt;column(); }
-
-    String functionName() const { return m_debuggerCallFrame-&gt;functionName(); }
-    JSC::DebuggerCallFrame::Type type() const { return m_debuggerCallFrame-&gt;type(); }
-    JSC::JSScope* scopeChain() const { return m_debuggerCallFrame-&gt;scope(); }
-    JSC::JSGlobalObject* vmEntryGlobalObject() const { return m_debuggerCallFrame-&gt;vmEntryGlobalObject(); }
-
-    JSC::JSValue thisValue() const { return m_debuggerCallFrame-&gt;thisValue(); }
-    JSC::JSValue evaluate(const String&amp; script, JSC::JSValue&amp; exception) const  { return m_debuggerCallFrame-&gt;evaluate(script, exception); }
-    
-private:
-    JavaScriptCallFrame(PassRefPtr&lt;JSC::DebuggerCallFrame&gt;);
-
-    RefPtr&lt;JSC::DebuggerCallFrame&gt; m_debuggerCallFrame;
-    RefPtr&lt;JavaScriptCallFrame&gt; m_caller;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
-
-#endif // JavaScriptCallFrame_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsPageScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include &quot;PageGroup.h&quot;
</span><span class="cx"> #include &quot;PluginView.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><ins>+#include &quot;Timer.h&quot;
</ins><span class="cx"> #include &quot;Widget.h&quot;
</span><span class="cx"> #include &lt;runtime/JSLock.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="lines">@@ -193,6 +194,8 @@
</span><span class="cx">         WebRunLoopEnableNested();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    TimerBase::fireTimersInNestedEventLoop();
+
</ins><span class="cx">     EventLoop loop;
</span><span class="cx">     while (!m_doneProcessingDebuggerEvents &amp;&amp; !loop.ended())
</span><span class="cx">         loop.cycle();
</span><span class="lines">@@ -204,6 +207,16 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool PageScriptDebugServer::isContentScript(ExecState* exec) const
+{
+    return &amp;currentWorld(exec) != &amp;mainThreadNormalWorld();
+}
+
+void PageScriptDebugServer::reportException(ExecState* exec, JSValue exception) const
+{
+    WebCore::reportException(exec, exception);
+}
+
</ins><span class="cx"> void PageScriptDebugServer::setJavaScriptPaused(const PageGroup&amp; pageGroup, bool paused)
</span><span class="cx"> {
</span><span class="cx">     setMainThreadCallbacksPaused(paused);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsPageScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/PageScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx"> 
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> class Page;
</span><span class="cx"> class PageGroup;
</span><span class="cx"> 
</span><del>-class PageScriptDebugServer : public ScriptDebugServer {
</del><ins>+class PageScriptDebugServer : public Inspector::ScriptDebugServer {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(PageScriptDebugServer);
</span><span class="cx"> public:
</span><span class="cx">     static PageScriptDebugServer&amp; shared();
</span><span class="lines">@@ -62,9 +62,11 @@
</span><span class="cx">     virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*);
</span><span class="cx">     virtual void didPause(JSC::JSGlobalObject*);
</span><span class="cx">     virtual void didContinue(JSC::JSGlobalObject*);
</span><del>-
</del><span class="cx">     virtual void runEventLoopWhilePaused();
</span><ins>+    virtual bool isContentScript(JSC::ExecState*) const override;
+    virtual void reportException(JSC::ExecState*, JSC::JSValue) const override;
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx">     void didAddFirstListener(Page*);
</span><span class="cx">     void didRemoveLastListener(Page*, bool skipRecompile);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsScriptControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/ScriptController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/ScriptController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/ScriptController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -286,7 +286,7 @@
</span><span class="cx">     if (debugger)
</span><span class="cx">         debugger-&gt;attach(globalObject);
</span><span class="cx">     else if (JSC::Debugger* currentDebugger = globalObject-&gt;debugger())
</span><del>-        currentDebugger-&gt;detach(globalObject);
</del><ins>+        currentDebugger-&gt;detach(globalObject, JSC::Debugger::TerminatingDebuggingSession);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScriptController::updateDocument()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,330 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2009, 2013, 2014 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 Google Inc. All rights reserved.
- * Copyright (C) 2013 University of Washington. 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.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
- */
-
-#include &quot;config.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &quot;ScriptDebugServer.h&quot;
-
-#include &quot;EventLoop.h&quot;
-#include &quot;JSDOMWindowCustom.h&quot;
-#include &quot;JSJavaScriptCallFrame.h&quot;
-#include &quot;JavaScriptCallFrame.h&quot;
-#include &quot;PageConsole.h&quot;
-#include &quot;Sound.h&quot;
-#include &quot;Timer.h&quot;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;debugger/DebuggerCallFrame.h&gt;
-#include &lt;parser/SourceProvider.h&gt;
-#include &lt;runtime/JSLock.h&gt;
-#include &lt;wtf/MainThread.h&gt;
-#include &lt;wtf/NeverDestroyed.h&gt;
-#include &lt;wtf/TemporaryChange.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-using namespace JSC;
-using namespace Inspector;
-
-namespace WebCore {
-
-ScriptDebugServer::ScriptDebugServer(bool isInWorkerThread)
-    : Debugger(isInWorkerThread)
-    , m_doneProcessingDebuggerEvents(true)
-    , m_callingListeners(false)
-{
-}
-
-ScriptDebugServer::~ScriptDebugServer()
-{
-}
-
-JSC::BreakpointID ScriptDebugServer::setBreakpoint(JSC::SourceID sourceID, const ScriptBreakpoint&amp; scriptBreakpoint, unsigned* actualLineNumber, unsigned* actualColumnNumber)
-{
-    if (!sourceID)
-        return JSC::noBreakpointID;
-
-    JSC::Breakpoint breakpoint(sourceID, scriptBreakpoint.lineNumber, scriptBreakpoint.columnNumber, scriptBreakpoint.condition, scriptBreakpoint.autoContinue);
-    JSC::BreakpointID id = Debugger::setBreakpoint(breakpoint, *actualLineNumber, *actualColumnNumber);
-    if (id != JSC::noBreakpointID &amp;&amp; !scriptBreakpoint.actions.isEmpty()) {
-#ifndef NDEBUG
-        BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
-        ASSERT(it == m_breakpointIDToActions.end());
-#endif
-        const Vector&lt;ScriptBreakpointAction&gt; &amp;actions = scriptBreakpoint.actions;
-        m_breakpointIDToActions.set(id, actions);
-    }
-    return id;
-}
-
-void ScriptDebugServer::removeBreakpoint(JSC::BreakpointID id)
-{
-    ASSERT(id != JSC::noBreakpointID);
-    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(id);
-    if (it != m_breakpointIDToActions.end())
-        m_breakpointIDToActions.remove(it);
-
-    Debugger::removeBreakpoint(id);
-}
-
-bool ScriptDebugServer::evaluateBreakpointAction(const ScriptBreakpointAction&amp; breakpointAction)
-{
-    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
-    switch (breakpointAction.type) {
-    case ScriptBreakpointActionTypeLog: {
-        DOMWindow&amp; window = asJSDOMWindow(debuggerCallFrame-&gt;vmEntryGlobalObject())-&gt;impl();
-        if (PageConsole* console = window.pageConsole())
-            console-&gt;addMessage(JSMessageSource, LogMessageLevel, breakpointAction.data);
-        break;
-    }
-    case ScriptBreakpointActionTypeEvaluate: {
-        JSValue exception;
-        debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
-        if (exception)
-            reportException(debuggerCallFrame-&gt;exec(), exception);
-        break;
-    }
-    case ScriptBreakpointActionTypeSound:
-        systemBeep();
-        break;
-    case ScriptBreakpointActionTypeProbe: {
-        JSValue exception;
-        JSValue result = debuggerCallFrame-&gt;evaluate(breakpointAction.data, exception);
-        if (exception)
-            reportException(debuggerCallFrame-&gt;exec(), exception);
-
-        JSC::ExecState* state = debuggerCallFrame-&gt;scope()-&gt;globalObject()-&gt;globalExec();
-        Deprecated::ScriptValue wrappedResult = Deprecated::ScriptValue(state-&gt;vm(), exception ? exception : result);
-        dispatchDidSampleProbe(state, breakpointAction.identifier, wrappedResult);
-        break;
-    }
-    }
-
-    return true;
-}
-
-void ScriptDebugServer::clearBreakpoints()
-{
-    Debugger::clearBreakpoints();
-    m_breakpointIDToActions.clear();
-}
-
-void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
-{
-    ASSERT(isPaused());
-    DebuggerCallFrame* debuggerCallFrame = currentDebuggerCallFrame();
-    JSGlobalObject* globalObject = debuggerCallFrame-&gt;scope()-&gt;globalObject();
-    JSC::ExecState* state = globalObject-&gt;globalExec();
-    RefPtr&lt;JavaScriptCallFrame&gt; javaScriptCallFrame = JavaScriptCallFrame::create(debuggerCallFrame);
-    JSValue jsCallFrame;
-    {
-        if (globalObject-&gt;inherits(JSDOMGlobalObject::info())) {
-            JSDOMGlobalObject* domGlobalObject = jsCast&lt;JSDOMGlobalObject*&gt;(globalObject);
-            JSLockHolder lock(state);
-            jsCallFrame = toJS(state, domGlobalObject, javaScriptCallFrame.get());
-        } else
-            jsCallFrame = jsUndefined();
-    }
-    listener-&gt;didPause(state, Deprecated::ScriptValue(state-&gt;vm(), jsCallFrame), Deprecated::ScriptValue());
-}
-
-void ScriptDebugServer::dispatchDidSampleProbe(ExecState* exec, int identifier, const Deprecated::ScriptValue&amp; sample)
-{
-    if (m_callingListeners)
-        return;
-
-    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
-    if (!listeners)
-        return;
-    ASSERT(!listeners-&gt;isEmpty());
-
-    TemporaryChange&lt;bool&gt; change(m_callingListeners, true);
-
-    Vector&lt;ScriptDebugListener*&gt; listenersCopy;
-    copyToVector(*listeners, listenersCopy);
-    for (auto listener : listenersCopy)
-        listener-&gt;didSampleProbe(exec, identifier, m_hitCount, sample);
-}
-
-void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
-{
-    listener-&gt;didContinue();
-}
-
-void ScriptDebugServer::dispatchDidParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, bool isContentScript)
-{
-    JSC::SourceID sourceID = sourceProvider-&gt;asID();
-
-    ScriptDebugListener::Script script;
-    script.url = sourceProvider-&gt;url();
-    script.source = sourceProvider-&gt;source();
-    script.startLine = sourceProvider-&gt;startPosition().m_line.zeroBasedInt();
-    script.startColumn = sourceProvider-&gt;startPosition().m_column.zeroBasedInt();
-    script.isContentScript = isContentScript;
-
-    int sourceLength = script.source.length();
-    int lineCount = 1;
-    int lastLineStart = 0;
-    for (int i = 0; i &lt; sourceLength; ++i) {
-        if (script.source[i] == '\n') {
-            lineCount += 1;
-            lastLineStart = i + 1;
-        }
-    }
-
-    script.endLine = script.startLine + lineCount - 1;
-    if (lineCount == 1)
-        script.endColumn = script.startColumn + sourceLength;
-    else
-        script.endColumn = sourceLength - lastLineStart;
-
-    Vector&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        copy[i]-&gt;didParseSource(sourceID, script);
-}
-
-void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet&amp; listeners, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
-{
-    String url = sourceProvider-&gt;url();
-    const String&amp; data = sourceProvider-&gt;source();
-    int firstLine = sourceProvider-&gt;startPosition().m_line.oneBasedInt();
-
-    Vector&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        copy[i]-&gt;failedToParseSource(url, data, firstLine, errorLine, errorMessage);
-}
-
-bool ScriptDebugServer::isContentScript(ExecState* exec)
-{
-    return &amp;currentWorld(exec) != &amp;mainThreadNormalWorld();
-}
-
-void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String&amp; errorMessage)
-{
-    if (m_callingListeners)
-        return;
-
-    ListenerSet* listeners = getListenersForGlobalObject(exec-&gt;lexicalGlobalObject());
-    if (!listeners)
-        return;
-    ASSERT(!listeners-&gt;isEmpty());
-
-    m_callingListeners = true;
-
-    bool isError = errorLine != -1;
-    if (isError)
-        dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, errorMessage);
-    else
-        dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec));
-
-    m_callingListeners = false;
-}
-
-void ScriptDebugServer::dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback callback)
-{
-    Vector&lt;ScriptDebugListener*&gt; copy;
-    copyToVector(listeners, copy);
-    for (size_t i = 0; i &lt; copy.size(); ++i)
-        (this-&gt;*callback)(copy[i]);
-}
-
-void ScriptDebugServer::dispatchFunctionToListeners(JavaScriptExecutionCallback callback, JSGlobalObject* globalObject)
-{
-    if (m_callingListeners)
-        return;
-
-    m_callingListeners = true;
-
-    if (ListenerSet* listeners = getListenersForGlobalObject(globalObject)) {
-        ASSERT(!listeners-&gt;isEmpty());
-        dispatchFunctionToListeners(*listeners, callback);
-    }
-
-    m_callingListeners = false;
-}
-
-void ScriptDebugServer::notifyDoneProcessingDebuggerEvents()
-{
-    m_doneProcessingDebuggerEvents = true;
-}
-
-bool ScriptDebugServer::needPauseHandling(JSGlobalObject* globalObject)
-{
-    return !!getListenersForGlobalObject(globalObject);
-}
-
-void ScriptDebugServer::handleBreakpointHit(const JSC::Breakpoint&amp; breakpoint)
-{
-    m_hitCount++;
-    BreakpointIDToActionsMap::iterator it = m_breakpointIDToActions.find(breakpoint.id);
-    if (it != m_breakpointIDToActions.end()) {
-        BreakpointActions&amp; actions = it-&gt;value;
-        for (size_t i = 0; i &lt; actions.size(); ++i) {
-            if (!evaluateBreakpointAction(actions[i]))
-                return;
-        }
-    }
-}
-
-void ScriptDebugServer::handleExceptionInBreakpointCondition(JSC::ExecState* exec, JSC::JSValue exception) const
-{
-    reportException(exec, exception);
-}
-
-void ScriptDebugServer::handlePause(Debugger::ReasonForPause, JSGlobalObject* vmEntryGlobalObject)
-{
-    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidPause, vmEntryGlobalObject);
-    didPause(vmEntryGlobalObject);
-
-    TimerBase::fireTimersInNestedEventLoop();
-
-    m_doneProcessingDebuggerEvents = false;
-    runEventLoopWhilePaused();
-
-    didContinue(vmEntryGlobalObject);
-    dispatchFunctionToListeners(&amp;ScriptDebugServer::dispatchDidContinue, vmEntryGlobalObject);
-}
-
-const Vector&lt;ScriptBreakpointAction&gt;&amp; ScriptDebugServer::getActionsForBreakpoint(JSC::BreakpointID breakpointID)
-{
-    ASSERT(breakpointID != JSC::noBreakpointID);
-
-    if (m_breakpointIDToActions.contains(breakpointID))
-        return m_breakpointIDToActions.find(breakpointID)-&gt;value;
-    
-    static NeverDestroyed&lt;Vector&lt;ScriptBreakpointAction&gt;&gt; emptyActionVector = Vector&lt;ScriptBreakpointAction&gt;();
-    return emptyActionVector;
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/ScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,121 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008, 2013 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 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:
- *
- * 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.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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 ScriptDebugServer_h
-#define ScriptDebugServer_h
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-
-#include &lt;bindings/ScriptObject.h&gt;
-#include &lt;debugger/Debugger.h&gt;
-#include &lt;inspector/ScriptBreakpoint.h&gt;
-#include &lt;inspector/ScriptDebugListener.h&gt;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/HashSet.h&gt;
-#include &lt;wtf/RefPtr.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/TextPosition.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace JSC {
-class DebuggerCallFrame;
-class JSGlobalObject;
-class ExecState;
-}
-
-namespace WebCore {
-
-class ScriptDebugServer : public JSC::Debugger {
-    WTF_MAKE_NONCOPYABLE(ScriptDebugServer); WTF_MAKE_FAST_ALLOCATED;
-public:
-    JSC::BreakpointID setBreakpoint(JSC::SourceID, const Inspector::ScriptBreakpoint&amp;, unsigned* actualLineNumber, unsigned* actualColumnNumber);
-    void removeBreakpoint(JSC::BreakpointID);
-    void clearBreakpoints();
-
-    virtual void recompileAllJSFunctions() = 0;
-
-    const Vector&lt;Inspector::ScriptBreakpointAction&gt;&amp; getActionsForBreakpoint(JSC::BreakpointID);
-
-    class Task {
-        WTF_MAKE_FAST_ALLOCATED;
-    public:
-        virtual ~Task() { }
-        virtual void run() = 0;
-    };
-
-protected:
-    typedef HashSet&lt;Inspector::ScriptDebugListener*&gt; ListenerSet;
-    typedef void (ScriptDebugServer::*JavaScriptExecutionCallback)(Inspector::ScriptDebugListener*);
-
-    ScriptDebugServer(bool isInWorkerThread = false);
-    ~ScriptDebugServer();
-
-    virtual ListenerSet* getListenersForGlobalObject(JSC::JSGlobalObject*) = 0;
-    virtual void didPause(JSC::JSGlobalObject*) = 0;
-    virtual void didContinue(JSC::JSGlobalObject*) = 0;
-
-    virtual void runEventLoopWhilePaused() = 0;
-
-    virtual bool isContentScript(JSC::ExecState*);
-
-    bool evaluateBreakpointAction(const Inspector::ScriptBreakpointAction&amp;);
-
-    void dispatchFunctionToListeners(JavaScriptExecutionCallback, JSC::JSGlobalObject*);
-    void dispatchFunctionToListeners(const ListenerSet&amp; listeners, JavaScriptExecutionCallback callback);
-    void dispatchDidPause(Inspector::ScriptDebugListener*);
-    void dispatchDidContinue(Inspector::ScriptDebugListener*);
-    void dispatchDidParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, bool isContentScript);
-    void dispatchFailedToParseSource(const ListenerSet&amp; listeners, JSC::SourceProvider*, int errorLine, const String&amp; errorMessage);
-    void dispatchDidSampleProbe(JSC::ExecState*, int probeIdentifier, const Deprecated::ScriptValue&amp; sample);
-
-    bool m_doneProcessingDebuggerEvents;
-
-private:
-    typedef Vector&lt;Inspector::ScriptBreakpointAction&gt; BreakpointActions;
-    typedef HashMap&lt;JSC::BreakpointID, BreakpointActions&gt; BreakpointIDToActionsMap;
-
-    virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String&amp; errorMsg) override final;
-    virtual bool needPauseHandling(JSC::JSGlobalObject*) override final;
-    virtual void handleBreakpointHit(const JSC::Breakpoint&amp;) override final;
-    virtual void handleExceptionInBreakpointCondition(JSC::ExecState*, JSC::JSValue exception) const override final;
-    virtual void handlePause(JSC::Debugger::ReasonForPause, JSC::JSGlobalObject*) override final;
-    virtual void notifyDoneProcessingDebuggerEvents() override final;
-
-    unsigned m_hitCount;
-    bool m_callingListeners;
-    BreakpointIDToActionsMap m_breakpointIDToActions;
-
-    friend class DebuggerCallFrameScope;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
-
-#endif // ScriptDebugServer_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsScriptProfilecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/ScriptProfile.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/ScriptProfile.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/ScriptProfile.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -90,7 +90,6 @@
</span><span class="cx">         .setTotalTime(node-&gt;totalTime())
</span><span class="cx">         .setSelfTime(node-&gt;selfTime())
</span><span class="cx">         .setNumberOfCalls(node-&gt;numberOfCalls())
</span><del>-        .setVisible(node-&gt;visible())
</del><span class="cx">         .setCallUID(node-&gt;callIdentifier().hash())
</span><span class="cx">         .setChildren(children.release());
</span><span class="cx">     return result.release();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsWorkerScriptControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -200,7 +200,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WorkerScriptController::detachDebugger(JSC::Debugger* debugger)
</span><span class="cx"> {
</span><del>-    debugger-&gt;detach(m_workerGlobalScopeWrapper-&gt;globalObject());
</del><ins>+    debugger-&gt;detach(m_workerGlobalScopeWrapper-&gt;globalObject(), JSC::Debugger::TerminatingDebuggingSession);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsWorkerScriptDebugServercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,6 +34,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx"> 
</span><ins>+#include &quot;JSDOMBinding.h&quot;
+#include &quot;Timer.h&quot;
</ins><span class="cx"> #include &quot;WorkerDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;WorkerRunLoop.h&quot;
</span><span class="lines">@@ -90,6 +92,8 @@
</span><span class="cx"> 
</span><span class="cx"> void WorkerScriptDebugServer::runEventLoopWhilePaused()
</span><span class="cx"> {
</span><ins>+    TimerBase::fireTimersInNestedEventLoop();
+
</ins><span class="cx">     MessageQueueWaitResult result;
</span><span class="cx">     do {
</span><span class="cx">         result = m_workerGlobalScope-&gt;thread()-&gt;runLoop().runInMode(m_workerGlobalScope, m_debuggerTaskMode);
</span><span class="lines">@@ -97,6 +101,11 @@
</span><span class="cx">     } while (result != MessageQueueTerminated &amp;&amp; !m_doneProcessingDebuggerEvents);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void WorkerScriptDebugServer::reportException(JSC::ExecState* exec, JSC::JSValue exception) const
+{
+    WebCore::reportException(exec, exception);
+}
+
</ins><span class="cx"> void WorkerScriptDebugServer::interruptAndRunTask(PassOwnPtr&lt;ScriptDebugServer::Task&gt;)
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsjsWorkerScriptDebugServerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/js/WorkerScriptDebugServer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,13 +33,13 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx"> 
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class WorkerGlobalScope;
</span><span class="cx"> 
</span><del>-class WorkerScriptDebugServer final : public ScriptDebugServer {
</del><ins>+class WorkerScriptDebugServer final : public Inspector::ScriptDebugServer {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(WorkerScriptDebugServer);
</span><span class="cx"> public:
</span><span class="cx">     WorkerScriptDebugServer(WorkerGlobalScope*, const String&amp;);
</span><span class="lines">@@ -57,6 +57,8 @@
</span><span class="cx">     virtual void didPause(JSC::JSGlobalObject*) override { }
</span><span class="cx">     virtual void didContinue(JSC::JSGlobalObject*) override { }
</span><span class="cx">     virtual void runEventLoopWhilePaused() override;
</span><ins>+    virtual bool isContentScript(JSC::ExecState*) const override { return false; }
+    virtual void reportException(JSC::ExecState*, JSC::JSValue) const override;
</ins><span class="cx"> 
</span><span class="cx">     WorkerGlobalScope* m_workerGlobalScope;
</span><span class="cx">     ListenerSet m_listeners;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsobjcDOMmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/objc/DOM.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/objc/DOM.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/objc/DOM.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -644,7 +644,7 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Could we move this function to WebCore::Node and autogenerate?
</span><span class="cx">     WebCore::RenderObject* renderer = core(self)-&gt;renderer();
</span><del>-    if (!renderer || !renderer-&gt;isImage())
</del><ins>+    if (!renderer || !renderer-&gt;isRenderImage())
</ins><span class="cx">         return nil;
</span><span class="cx">     WebCore::CachedImage* cachedImage = toRenderImage(renderer)-&gt;cachedImage();
</span><span class="cx">     if (!cachedImage || cachedImage-&gt;errorOccurred())
</span><span class="lines">@@ -681,9 +681,9 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Could we move this function to WebCore::Element and autogenerate?
</span><span class="cx">     auto renderer = core(self)-&gt;renderer();
</span><del>-    if (!renderer || !renderer-&gt;isImage())
</del><ins>+    if (!renderer || !renderer-&gt;isRenderImage())
</ins><span class="cx">         return nil;
</span><del>-    WebCore::CachedImage* cachedImage = static_cast&lt;WebCore::RenderImage*&gt;(renderer)-&gt;cachedImage();
</del><ins>+    WebCore::CachedImage* cachedImage = toRenderImage(renderer)-&gt;cachedImage();
</ins><span class="cx">     if (!cachedImage || cachedImage-&gt;errorOccurred())
</span><span class="cx">         return nil;
</span><span class="cx">     return (NSData *)cachedImage-&gt;imageForRenderer(renderer)-&gt;getTIFFRepresentation();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsobjcWebScriptObjectmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/objc/WebScriptObject.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/objc/WebScriptObject.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/objc/WebScriptObject.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -551,7 +551,7 @@
</span><span class="cx">     if (value.isString()) {
</span><span class="cx">         ExecState* exec = rootObject-&gt;globalObject()-&gt;globalExec();
</span><span class="cx">         const String&amp; u = asString(value)-&gt;value(exec);
</span><del>-        return [NSString stringWithCharacters:u.characters() length:u.length()];
</del><ins>+        return [NSString stringWithCharacters:u.deprecatedCharacters() length:u.length()];
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (value.isNumber())
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorGObjectpm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -47,9 +47,15 @@
</span><span class="cx"> 
</span><span class="cx"> # List of function parameters that are allowed to be NULL
</span><span class="cx"> my $canBeNullParams = {
</span><ins>+    'webkit_dom_document_create_attribute_ns' =&gt; ['namespaceURI'],
+    'webkit_dom_document_create_element_ns' =&gt; ['namespaceURI'],
+    'webkit_dom_document_create_entity_reference' =&gt; ['name'],
</ins><span class="cx">     'webkit_dom_document_evaluate' =&gt; ['inResult', 'resolver'],
</span><ins>+    'webkit_dom_document_get_override_style' =&gt; ['pseudoElement'],
+    'webkit_dom_dom_implementation_create_document' =&gt; ['namespaceURI', 'doctype'],
+    'webkit_dom_dom_window_get_computed_style' =&gt; ['pseudoElement'],
+    'webkit_dom_element_set_attribute_ns' =&gt; ['namespaceURI'],
</ins><span class="cx">     'webkit_dom_node_insert_before' =&gt; ['refChild'],
</span><del>-    'webkit_dom_dom_window_get_computed_style' =&gt; ['pseudoElement']
</del><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> # Default constructor
</span><span class="lines">@@ -904,7 +910,7 @@
</span><span class="cx">     my($functionName, $paramName) = @_;
</span><span class="cx"> 
</span><span class="cx">     if (defined($functionName)) {
</span><del>-        return scalar(grep(/$paramName/, @{$canBeNullParams-&gt;{$functionName}}));
</del><ins>+        return scalar(grep {$_ eq $paramName} @{$canBeNullParams-&gt;{$functionName}});
</ins><span class="cx">     }
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptsCodeGeneratorJSpm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -339,7 +339,7 @@
</span><span class="cx">     my $noStaticTables = shift;
</span><span class="cx">     my $className = shift;
</span><span class="cx">     if ($noStaticTables) {
</span><del>-        return &quot;get${className}Table(exec)&quot;;
</del><ins>+        return &quot;get${className}Table(exec-&gt;vm())&quot;;
</ins><span class="cx">     } else {
</span><span class="cx">         return &quot;${className}Table&quot;;
</span><span class="cx">     }
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">     my $noStaticTables = shift;
</span><span class="cx">     my $className = shift;
</span><span class="cx">     if ($noStaticTables) {
</span><del>-        return &quot;get${className}PrototypeTable(exec)&quot;;
</del><ins>+        return &quot;get${className}PrototypeTable(exec-&gt;vm())&quot;;
</ins><span class="cx">     } else {
</span><span class="cx">         return &quot;${className}PrototypeTable&quot;;
</span><span class="cx">     }
</span><span class="lines">@@ -361,7 +361,7 @@
</span><span class="cx">     my $noStaticTables = shift;
</span><span class="cx">     my $constructorClassName = shift;
</span><span class="cx">     if ($noStaticTables) {
</span><del>-        return &quot;get${constructorClassName}Table(exec)&quot;;
</del><ins>+        return &quot;get${constructorClassName}Table(exec-&gt;vm())&quot;;
</ins><span class="cx">     } else {
</span><span class="cx">         return &quot;${constructorClassName}Table&quot;;
</span><span class="cx">     }
</span><span class="lines">@@ -627,6 +627,21 @@
</span><span class="cx">     return $numFunctions &gt; 0 || $numConstants &gt; 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+sub InstanceOverridesPutImplementation
+{
+    my $interface = shift;
+    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
+        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
+}
+
+sub InstanceOverridesPutDeclaration
+{
+    my $interface = shift;
+    return $interface-&gt;extendedAttributes-&gt;{&quot;CustomPutFunction&quot;}
+        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
+        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
+}
+
</ins><span class="cx"> sub GenerateHeader
</span><span class="cx"> {
</span><span class="cx">     my $object = shift;
</span><span class="lines">@@ -776,25 +791,12 @@
</span><span class="cx">         $structureFlags{&quot;JSC::InterceptsGetOwnPropertySlotByIndexEvenWhenLengthIsNotZero&quot;} = 1;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    # Check if we have any writable properties
-    my $hasReadWriteProperties = 0;
-    foreach (@{$interface-&gt;attributes}) {
-        if (!IsReadonly($_) &amp;&amp; !$_-&gt;isStatic) {
-            $hasReadWriteProperties = 1;
-        }
-    }
</del><ins>+    my $overridesPut = InstanceOverridesPutDeclaration($interface);
</ins><span class="cx"> 
</span><del>-    my $hasComplexSetter =
-        $interface-&gt;extendedAttributes-&gt;{&quot;CustomPutFunction&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
-        
-    my $hasSetter = $hasReadWriteProperties || $hasComplexSetter;
-
</del><span class="cx">     # Getters
</span><del>-    if ($hasSetter) {
</del><ins>+    if ($overridesPut) {
</ins><span class="cx">         push(@headerContent, &quot;    static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;);
</span><del>-        push(@headerContent, &quot;    static void putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool shouldThrow);\n&quot;) if ($hasComplexSetter);
</del><ins>+        push(@headerContent, &quot;    static void putByIndex(JSC::JSCell*, JSC::ExecState*, unsigned propertyName, JSC::JSValue, bool shouldThrow);\n&quot;);
</ins><span class="cx">         push(@headerContent, &quot;    bool putDelegate(JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);\n&quot;) if $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;};
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1135,7 +1137,7 @@
</span><span class="cx">             push(@headerContent, &quot;JSC::EncodedJSValue ${getter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);\n&quot;);
</span><span class="cx">             if (!IsReadonly($attribute)) {
</span><span class="cx">                 my $setter = GetAttributeSetterName($interfaceName, $className, $attribute);
</span><del>-                push(@headerContent, &quot;void ${setter}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</del><ins>+                push(@headerContent, &quot;void ${setter}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</ins><span class="cx">             }
</span><span class="cx">             push(@headerContent, &quot;#endif\n&quot;) if $conditionalString;
</span><span class="cx">         }
</span><span class="lines">@@ -1147,7 +1149,7 @@
</span><span class="cx"> 
</span><span class="cx">         if ($interface-&gt;extendedAttributes-&gt;{&quot;ReplaceableConstructor&quot;}) {
</span><span class="cx">             my $constructorFunctionName = &quot;setJS&quot; . $interfaceName . &quot;Constructor&quot;;
</span><del>-            push(@headerContent, &quot;void ${constructorFunctionName}(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</del><ins>+            push(@headerContent, &quot;void ${constructorFunctionName}(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);\n&quot;);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -1742,9 +1744,9 @@
</span><span class="cx">                                \%conditionals);
</span><span class="cx"> 
</span><span class="cx">     if ($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</span><del>-        push(@implContent, &quot;static const HashTable&amp; get${className}PrototypeTable(ExecState* exec)\n&quot;);
</del><ins>+        push(@implContent, &quot;static const HashTable&amp; get${className}PrototypeTable(VM&amp; vm)\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><del>-        push(@implContent, &quot;    return getHashTableForGlobalData(exec-&gt;vm(), ${className}PrototypeTable);\n&quot;);
</del><ins>+        push(@implContent, &quot;    return getHashTableForGlobalData(vm, ${className}PrototypeTable);\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">         push(@implContent, &quot;const ClassInfo ${className}Prototype::s_info = { \&quot;${visibleInterfaceName}Prototype\&quot;, &amp;Base::s_info, 0, get${className}PrototypeTable, CREATE_METHOD_TABLE(${className}Prototype) };\n\n&quot;);
</span><span class="cx">     } else {
</span><span class="lines">@@ -1786,9 +1788,9 @@
</span><span class="cx"> 
</span><span class="cx">     # - Initialize static ClassInfo object
</span><span class="cx">     if ($numAttributes &gt; 0 &amp;&amp; $interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</span><del>-        push(@implContent, &quot;static const HashTable&amp; get${className}Table(ExecState* exec)\n&quot;);
</del><ins>+        push(@implContent, &quot;static const HashTable&amp; get${className}Table(VM&amp; vm)\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;{\n&quot;);
</span><del>-        push(@implContent, &quot;    return getHashTableForGlobalData(exec-&gt;vm(), ${className}Table);\n&quot;);
</del><ins>+        push(@implContent, &quot;    return getHashTableForGlobalData(vm, ${className}Table);\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -2143,7 +2145,7 @@
</span><span class="cx">             push(@implContent, &quot;EncodedJSValue ${constructorFunctionName}(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue, PropertyName)\n&quot;);
</span><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             if ($interfaceName eq &quot;DOMWindow&quot;) {
</span><del>-                push(@implContent, &quot;    ${className}* domObject = jsCast&lt;$className*&gt;(JSValue::decode(thisValue));\n&quot;);
</del><ins>+                push(@implContent, &quot;    ${className}* domObject = jsDynamicCast&lt;$className*&gt;(JSValue::decode(thisValue));\n&quot;);
</ins><span class="cx">                 push(@implContent, &quot;    if (!domObject) {\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;        if (JSDOMWindowShell* shell = jsDynamicCast&lt;JSDOMWindowShell*&gt;(JSValue::decode(thisValue)))\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;            domObject = shell-&gt;window();\n&quot;);
</span><span class="lines">@@ -2172,12 +2174,11 @@
</span><span class="cx">             $hasReadWriteProperties = 1 if !IsReadonly($attribute) &amp;&amp; !$attribute-&gt;isStatic;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        my $hasSetter = $hasReadWriteProperties
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}
-        || $interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;};
</del><ins>+        my $overridesPutImplementation = InstanceOverridesPutImplementation($interface);
+        my $hasSetter = $hasReadWriteProperties;
</ins><span class="cx"> 
</span><del>-        if ($hasSetter) {
-            if (!$interface-&gt;extendedAttributes-&gt;{&quot;CustomPutFunction&quot;}) {
</del><ins>+        if ($hasSetter || $overridesPutImplementation) {
+            if ($overridesPutImplementation) {
</ins><span class="cx">                 push(@implContent, &quot;void ${className}::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;{\n&quot;);
</span><span class="cx">                 push(@implContent, &quot;    ${className}* thisObject = jsCast&lt;${className}*&gt;(cell);\n&quot;);
</span><span class="lines">@@ -2194,11 +2195,8 @@
</span><span class="cx">                     push(@implContent, &quot;        return;\n&quot;);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                if ($hasReadWriteProperties) {
-                    push(@implContent, &quot;    lookupPut&lt;$className, Base&gt;(exec, propertyName, value, &quot; . hashTableAccessor($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}, $className) . &quot;, thisObject, slot);\n&quot;);
-                } else {
-                    push(@implContent, &quot;    Base::put(thisObject, exec, propertyName, value, slot);\n&quot;);
-                }
</del><ins>+                push(@implContent, &quot;    Base::put(thisObject, exec, propertyName, value, slot);\n&quot;);
+
</ins><span class="cx">                 push(@implContent, &quot;}\n\n&quot;);
</span><span class="cx"> 
</span><span class="cx">                 if ($interface-&gt;extendedAttributes-&gt;{&quot;CustomIndexedSetter&quot;} || $interface-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;}) {
</span><span class="lines">@@ -2238,7 +2236,7 @@
</span><span class="cx">                         my $attributeConditionalString = $codeGenerator-&gt;GenerateConditionalString($attribute-&gt;signature);
</span><span class="cx">                         push(@implContent, &quot;#if ${attributeConditionalString}\n&quot;) if $attributeConditionalString;
</span><span class="cx"> 
</span><del>-                        push(@implContent, &quot;void ${putFunctionName}(ExecState* exec, EncodedJSValue&quot;);
</del><ins>+                        push(@implContent, &quot;void ${putFunctionName}(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue&quot;);
</ins><span class="cx">                         push(@implContent, &quot; thisValue&quot;) if !$attribute-&gt;isStatic;
</span><span class="cx">                         push(@implContent, &quot;, EncodedJSValue encodedValue)\n&quot;);
</span><span class="cx">                         push(@implContent, &quot;{\n&quot;);
</span><span class="lines">@@ -2400,7 +2398,7 @@
</span><span class="cx">         if ($interface-&gt;extendedAttributes-&gt;{&quot;ReplaceableConstructor&quot;}) {
</span><span class="cx">             my $constructorFunctionName = &quot;setJS&quot; . $interfaceName . &quot;Constructor&quot;;
</span><span class="cx"> 
</span><del>-            push(@implContent, &quot;void ${constructorFunctionName}(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)\n&quot;);
</del><ins>+            push(@implContent, &quot;void ${constructorFunctionName}(ExecState* exec, JSObject*, EncodedJSValue thisValue, EncodedJSValue encodedValue)\n&quot;);
</ins><span class="cx">             push(@implContent, &quot;{\n&quot;);
</span><span class="cx">             push(@implContent, &quot;    JSValue value = JSValue::decode(encodedValue);&quot;);
</span><span class="cx">             push(@implContent, &quot;    ${className}* castedThis = jsDynamicCast&lt;${className}*&gt;(JSValue::decode(thisValue));\n&quot;);
</span><span class="lines">@@ -3774,6 +3772,7 @@
</span><span class="cx">     # Start outputing the hashtables
</span><span class="cx">     my $nameEntries = &quot;${name}Values&quot;;
</span><span class="cx">     $nameEntries =~ s/:/_/g;
</span><ins>+    my $hasSetter = &quot;false&quot;;
</ins><span class="cx"> 
</span><span class="cx">     if (($name =~ /Prototype/) or ($name =~ /Constructor/)) {
</span><span class="cx">         my $type = $name;
</span><span class="lines">@@ -3797,7 +3796,8 @@
</span><span class="cx">     $i = 0;
</span><span class="cx">     foreach my $key (@{$keys}) {
</span><span class="cx">         my $conditional;
</span><del>-        my $targetType;
</del><ins>+        my $firstTargetType;
+        my $secondTargetType = &quot;&quot;;
</ins><span class="cx"> 
</span><span class="cx">         if ($conditionals) {
</span><span class="cx">             $conditional = $conditionals-&gt;{$key};
</span><span class="lines">@@ -3808,18 +3808,21 @@
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         if (&quot;@$specials[$i]&quot; =~ m/Function/) {
</span><del>-            $targetType = &quot;static_cast&lt;NativeFunction&gt;&quot;;
</del><ins>+            $firstTargetType = &quot;static_cast&lt;NativeFunction&gt;&quot;;
</ins><span class="cx">         } else {
</span><del>-            $targetType = &quot;static_cast&lt;PropertySlot::GetValueFunc&gt;&quot;;
</del><ins>+            $firstTargetType = &quot;static_cast&lt;PropertySlot::GetValueFunc&gt;&quot;;
+            $secondTargetType = &quot;static_cast&lt;PutPropertySlot::PutValueFunc&gt;&quot;;
+            $hasSetter = &quot;true&quot;;
</ins><span class="cx">         }
</span><del>-        push(@implContent, &quot;    { \&quot;$key\&quot;, @$specials[$i], NoIntrinsic, (intptr_t)&quot; . $targetType . &quot;(@$value1[$i]), (intptr_t)@$value2[$i] },\n&quot;);
</del><ins>+        push(@implContent, &quot;    { \&quot;$key\&quot;, @$specials[$i], NoIntrinsic, (intptr_t)&quot; . $firstTargetType . &quot;(@$value1[$i]), (intptr_t) &quot; . $secondTargetType . &quot;(@$value2[$i]) },\n&quot;);
</ins><span class="cx">         push(@implContent, &quot;#endif\n&quot;) if $conditional;
</span><span class="cx">         ++$i;
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     push(@implContent, &quot;    { 0, 0, NoIntrinsic, 0, 0 }\n&quot;);
</span><span class="cx">     push(@implContent, &quot;};\n\n&quot;);
</span><span class="cx">     my $compactSizeMask = $numEntries - 1;
</span><del>-    push(@implContent, &quot;static const HashTable $name = { $compactSize, $compactSizeMask, $nameEntries, 0 };\n&quot;);
</del><ins>+    push(@implContent, &quot;static const HashTable $name = { $compactSize, $compactSizeMask, $hasSetter, $nameEntries, 0 };\n&quot;);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> sub WriteData
</span><span class="lines">@@ -4249,9 +4252,9 @@
</span><span class="cx">         push(@$outputArray, &quot;}\n\n&quot;);
</span><span class="cx">     } else {
</span><span class="cx">         if ($interface-&gt;extendedAttributes-&gt;{&quot;JSNoStaticTables&quot;}) {
</span><del>-            push(@$outputArray, &quot;static const HashTable&amp; get${constructorClassName}Table(ExecState* exec)\n&quot;);
</del><ins>+            push(@$outputArray, &quot;static const HashTable&amp; get${constructorClassName}Table(VM&amp; vm)\n&quot;);
</ins><span class="cx">             push(@$outputArray, &quot;{\n&quot;);
</span><del>-            push(@$outputArray, &quot;    return getHashTableForGlobalData(exec-&gt;vm(), ${constructorClassName}Table);\n&quot;);
</del><ins>+            push(@$outputArray, &quot;    return getHashTableForGlobalData(vm, ${constructorClassName}Table);\n&quot;);
</ins><span class="cx">             push(@$outputArray, &quot;}\n\n&quot;);
</span><span class="cx">             push(@$outputArray, &quot;const ClassInfo ${constructorClassName}::s_info = { \&quot;${visibleInterfaceName}Constructor\&quot;, &amp;Base::s_info, 0, get${constructorClassName}Table, CREATE_METHOD_TABLE($constructorClassName) };\n\n&quot;);
</span><span class="cx">         } else {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestActiveDOMObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,12 +36,12 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestActiveDOMObjectTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;excitingAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectExcitingAttr), (intptr_t)0 },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectConstructor), (intptr_t)0 },
</del><ins>+    { &quot;excitingAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectExcitingAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestActiveDOMObjectConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectTable = { 4, 3, JSTestActiveDOMObjectTableValues, 0 };
</del><ins>+static const HashTable JSTestActiveDOMObjectTable = { 4, 3, true, JSTestActiveDOMObjectTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestActiveDOMObjectConstructorTableValues[] =
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectConstructorTable = { 1, 0, JSTestActiveDOMObjectConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestActiveDOMObjectConstructorTable = { 1, 0, false, JSTestActiveDOMObjectConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestActiveDOMObjectConstructor::s_info = { &quot;TestActiveDOMObjectConstructor&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectConstructorTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestActiveDOMObjectConstructor::JSTestActiveDOMObjectConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -74,12 +74,12 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestActiveDOMObjectPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;excitingFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionExcitingFunction), (intptr_t)1 },
-    { &quot;postMessage&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionPostMessage), (intptr_t)1 },
</del><ins>+    { &quot;excitingFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionExcitingFunction), (intptr_t) (1) },
+    { &quot;postMessage&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestActiveDOMObjectPrototypeFunctionPostMessage), (intptr_t) (1) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestActiveDOMObjectPrototypeTable = { 4, 3, JSTestActiveDOMObjectPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestActiveDOMObjectPrototypeTable = { 4, 3, false, JSTestActiveDOMObjectPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestActiveDOMObjectPrototype::s_info = { &quot;TestActiveDOMObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestActiveDOMObjectPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestActiveDOMObjectPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestActiveDOMObjectPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestCustomNamedGettercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,11 +36,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestCustomNamedGetterTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestCustomNamedGetterConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestCustomNamedGetterConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterTable = { 2, 1, JSTestCustomNamedGetterTableValues, 0 };
</del><ins>+static const HashTable JSTestCustomNamedGetterTable = { 2, 1, true, JSTestCustomNamedGetterTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestCustomNamedGetterConstructorTableValues[] =
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterConstructorTable = { 1, 0, JSTestCustomNamedGetterConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestCustomNamedGetterConstructorTable = { 1, 0, false, JSTestCustomNamedGetterConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestCustomNamedGetterConstructor::s_info = { &quot;TestCustomNamedGetterConstructor&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterConstructorTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -73,11 +73,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestCustomNamedGetterPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;anotherFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestCustomNamedGetterPrototypeFunctionAnotherFunction), (intptr_t)1 },
</del><ins>+    { &quot;anotherFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestCustomNamedGetterPrototypeFunctionAnotherFunction), (intptr_t) (1) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestCustomNamedGetterPrototypeTable = { 2, 1, JSTestCustomNamedGetterPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestCustomNamedGetterPrototypeTable = { 2, 1, false, JSTestCustomNamedGetterPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestCustomNamedGetterPrototype::s_info = { &quot;TestCustomNamedGetterPrototype&quot;, &amp;Base::s_info, &amp;JSTestCustomNamedGetterPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestCustomNamedGetterPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestCustomNamedGetterPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestEventConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,13 +36,13 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventConstructorTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;attr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr1), (intptr_t)0 },
-    { &quot;attr2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr2), (intptr_t)0 },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorConstructor), (intptr_t)0 },
</del><ins>+    { &quot;attr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;attr2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorTable = { 9, 7, JSTestEventConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestEventConstructorTable = { 9, 7, true, JSTestEventConstructorTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventConstructorConstructorTableValues[] =
</span><span class="lines">@@ -50,7 +50,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorConstructorTable = { 1, 0, JSTestEventConstructorConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestEventConstructorConstructorTable = { 1, 0, false, JSTestEventConstructorConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestEventConstructorConstructor::constructJSTestEventConstructor(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestEventConstructorConstructor* jsConstructor = jsCast&lt;JSTestEventConstructorConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventConstructorPrototypeTable = { 1, 0, JSTestEventConstructorPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestEventConstructorPrototypeTable = { 1, 0, false, JSTestEventConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventConstructorPrototype::s_info = { &quot;TestEventConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestEventConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestEventTargetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -42,11 +42,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventTargetTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventTargetConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestEventTargetConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetTable = { 2, 1, JSTestEventTargetTableValues, 0 };
</del><ins>+static const HashTable JSTestEventTargetTable = { 2, 1, true, JSTestEventTargetTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventTargetConstructorTableValues[] =
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetConstructorTable = { 1, 0, JSTestEventTargetConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestEventTargetConstructorTable = { 1, 0, false, JSTestEventTargetConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventTargetConstructor::s_info = { &quot;TestEventTargetConstructor&quot;, &amp;Base::s_info, &amp;JSTestEventTargetConstructorTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestEventTargetConstructor::JSTestEventTargetConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -79,14 +79,14 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestEventTargetPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;item&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionItem), (intptr_t)1 },
-    { &quot;addEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionAddEventListener), (intptr_t)2 },
-    { &quot;removeEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionRemoveEventListener), (intptr_t)2 },
-    { &quot;dispatchEvent&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionDispatchEvent), (intptr_t)1 },
</del><ins>+    { &quot;item&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionItem), (intptr_t) (1) },
+    { &quot;addEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionAddEventListener), (intptr_t) (2) },
+    { &quot;removeEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionRemoveEventListener), (intptr_t) (2) },
+    { &quot;dispatchEvent&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestEventTargetPrototypeFunctionDispatchEvent), (intptr_t) (1) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestEventTargetPrototypeTable = { 8, 7, JSTestEventTargetPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestEventTargetPrototypeTable = { 8, 7, false, JSTestEventTargetPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestEventTargetPrototype::s_info = { &quot;TestEventTargetPrototype&quot;, &amp;Base::s_info, &amp;JSTestEventTargetPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestEventTargetPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestEventTargetPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestExceptioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,12 +34,12 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestExceptionTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;name&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionName), (intptr_t)0 },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionConstructor), (intptr_t)0 },
</del><ins>+    { &quot;name&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionName), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestExceptionConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionTable = { 5, 3, JSTestExceptionTableValues, 0 };
</del><ins>+static const HashTable JSTestExceptionTable = { 5, 3, true, JSTestExceptionTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestExceptionConstructorTableValues[] =
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionConstructorTable = { 1, 0, JSTestExceptionConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestExceptionConstructorTable = { 1, 0, false, JSTestExceptionConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestExceptionConstructor::s_info = { &quot;TestExceptionConstructor&quot;, &amp;Base::s_info, &amp;JSTestExceptionConstructorTable, 0, CREATE_METHOD_TABLE(JSTestExceptionConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestExceptionConstructor::JSTestExceptionConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestExceptionPrototypeTable = { 1, 0, JSTestExceptionPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestExceptionPrototypeTable = { 1, 0, false, JSTestExceptionPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestExceptionPrototype::s_info = { &quot;TestExceptionPrototype&quot;, &amp;Base::s_info, &amp;JSTestExceptionPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestExceptionPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestExceptionPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestGenerateIsReachablecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,11 +32,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestGenerateIsReachableTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestGenerateIsReachableConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestGenerateIsReachableConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachableTable = { 2, 1, JSTestGenerateIsReachableTableValues, 0 };
</del><ins>+static const HashTable JSTestGenerateIsReachableTable = { 2, 1, true, JSTestGenerateIsReachableTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestGenerateIsReachableConstructorTableValues[] =
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachableConstructorTable = { 1, 0, JSTestGenerateIsReachableConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestGenerateIsReachableConstructorTable = { 1, 0, false, JSTestGenerateIsReachableConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestGenerateIsReachableConstructor::s_info = { &quot;TestGenerateIsReachableConstructor&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachableConstructorTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachableConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestGenerateIsReachableConstructor::JSTestGenerateIsReachableConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 0, JSTestGenerateIsReachablePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestGenerateIsReachablePrototypeTable = { 1, 0, false, JSTestGenerateIsReachablePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestGenerateIsReachablePrototype::s_info = { &quot;TestGenerateIsReachablePrototype&quot;, &amp;Base::s_info, &amp;JSTestGenerateIsReachablePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestGenerateIsReachablePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestGenerateIsReachablePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestInterfacecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -52,72 +52,72 @@
</span><span class="cx"> static const HashTableValue JSTestInterfaceTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr1), (intptr_t)0 },
</del><ins>+    { &quot;implementsStr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr2), (intptr_t)setJSTestInterfaceImplementsStr2 },
</del><ins>+    { &quot;implementsStr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr2) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr3), (intptr_t)setJSTestInterfaceImplementsStr3 },
</del><ins>+    { &quot;implementsStr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsStr3) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsNode&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsNode), (intptr_t)setJSTestInterfaceImplementsNode },
</del><ins>+    { &quot;implementsNode&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceImplementsNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceImplementsNode) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalStr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr1), (intptr_t)0 },
</del><ins>+    { &quot;supplementalStr1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalStr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr2), (intptr_t)setJSTestInterfaceSupplementalStr2 },
</del><ins>+    { &quot;supplementalStr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr2) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalStr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr3), (intptr_t)setJSTestInterfaceSupplementalStr3 },
</del><ins>+    { &quot;supplementalStr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalStr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalStr3) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalNode&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalNode), (intptr_t)setJSTestInterfaceSupplementalNode },
</del><ins>+    { &quot;supplementalNode&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSupplementalNode), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceSupplementalNode) },
</ins><span class="cx"> #endif
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceTable = { 33, 31, JSTestInterfaceTableValues, 0 };
</del><ins>+static const HashTable JSTestInterfaceTable = { 33, 31, true, JSTestInterfaceTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestInterfaceConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t)0 },
</del><ins>+    { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t)0 },
</del><ins>+    { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t)0 },
</del><ins>+    { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t)0 },
</del><ins>+    { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticReadOnlyAttr), (intptr_t)0 },
</del><ins>+    { &quot;implementsStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticReadOnlyAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticAttr), (intptr_t)setJSTestInterfaceConstructorImplementsStaticAttr },
</del><ins>+    { &quot;implementsStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorImplementsStaticAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceConstructorImplementsStaticAttr) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr), (intptr_t)0 },
</del><ins>+    { &quot;supplementalStaticReadOnlyAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticAttr), (intptr_t)setJSTestInterfaceConstructorSupplementalStaticAttr },
</del><ins>+    { &quot;supplementalStaticAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceConstructorSupplementalStaticAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestInterfaceConstructorSupplementalStaticAttr) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionImplementsMethod4), (intptr_t)0 },
</del><ins>+    { &quot;implementsMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionImplementsMethod4), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionSupplementalMethod4), (intptr_t)0 },
</del><ins>+    { &quot;supplementalMethod4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfaceConstructorFunctionSupplementalMethod4), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfaceConstructorTable = { 11, 7, JSTestInterfaceConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestInterfaceConstructorTable = { 11, 7, true, JSTestInterfaceConstructorTableValues, 0 };
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> COMPILE_ASSERT(1 == TestInterface::IMPLEMENTSCONSTANT1, TestInterfaceEnumIMPLEMENTSCONSTANT1IsWrongUseDoNotCheckConstants);
</span><span class="lines">@@ -188,39 +188,39 @@
</span><span class="cx"> static const HashTableValue JSTestInterfacePrototypeTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t)0 },
</del><ins>+    { &quot;IMPLEMENTSCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t)0 },
</del><ins>+    { &quot;IMPLEMENTSCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceIMPLEMENTSCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t)0 },
</del><ins>+    { &quot;SUPPLEMENTALCONSTANT1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t)0 },
</del><ins>+    { &quot;SUPPLEMENTALCONSTANT2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestInterfaceSUPPLEMENTALCONSTANT2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod1), (intptr_t)0 },
</del><ins>+    { &quot;implementsMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod1), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod2), (intptr_t)2 },
</del><ins>+    { &quot;implementsMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod2), (intptr_t) (2) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-    { &quot;implementsMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod3), (intptr_t)0 },
</del><ins>+    { &quot;implementsMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionImplementsMethod3), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod1), (intptr_t)0 },
</del><ins>+    { &quot;supplementalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod1), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod2), (intptr_t)2 },
</del><ins>+    { &quot;supplementalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod2), (intptr_t) (2) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-    { &quot;supplementalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod3), (intptr_t)0 },
</del><ins>+    { &quot;supplementalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestInterfacePrototypeFunctionSupplementalMethod3), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestInterfacePrototypeTable = { 34, 31, JSTestInterfacePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestInterfacePrototypeTable = { 34, 31, true, JSTestInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestInterfacePrototype::s_info = { &quot;TestInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -449,7 +449,7 @@
</span><span class="cx">     ASSERT_GC_OBJECT_INHERITS(thisObject, info());
</span><span class="cx">     if (thisObject-&gt;putDelegate(exec, propertyName, value, slot))
</span><span class="cx">         return;
</span><del>-    lookupPut&lt;JSTestInterface, Base&gt;(exec, propertyName, value, JSTestInterfaceTable, thisObject, slot);
</del><ins>+    Base::put(thisObject, exec, propertyName, value, slot);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSTestInterface::putByIndex(JSCell* cell, ExecState* exec, unsigned index, JSValue value, bool shouldThrow)
</span><span class="lines">@@ -464,7 +464,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-void setJSTestInterfaceConstructorImplementsStaticAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceConstructorImplementsStaticAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -477,7 +477,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-void setJSTestInterfaceImplementsStr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceImplementsStr2(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -496,7 +496,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-void setJSTestInterfaceImplementsStr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceImplementsStr3(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -511,7 +511,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><del>-void setJSTestInterfaceImplementsNode(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceImplementsNode(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -530,7 +530,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-void setJSTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -543,7 +543,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-void setJSTestInterfaceSupplementalStr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceSupplementalStr2(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -562,7 +562,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-void setJSTestInterfaceSupplementalStr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceSupplementalStr3(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -577,7 +577,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><del>-void setJSTestInterfaceSupplementalNode(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestInterfaceSupplementalNode(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestInterfaceh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -202,44 +202,44 @@
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceConstructorImplementsStaticAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceImplementsStr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceImplementsStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceImplementsStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceImplementsStr2(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceImplementsStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceImplementsStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceImplementsStr3(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition22) || ENABLE(Condition23)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceImplementsNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceImplementsNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceImplementsNode(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceConstructorSupplementalStaticReadOnlyAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceConstructorSupplementalStaticAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceSupplementalStr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceSupplementalStr2(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceSupplementalStr3(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition11) || ENABLE(Condition12)
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceSupplementalNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestInterfaceSupplementalNode(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> JSC::EncodedJSValue jsTestInterfaceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> // Constants
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestMediaQueryListListenercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,11 +36,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestMediaQueryListListenerConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestMediaQueryListListenerConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerTable = { 2, 1, JSTestMediaQueryListListenerTableValues, 0 };
</del><ins>+static const HashTable JSTestMediaQueryListListenerTable = { 2, 1, true, JSTestMediaQueryListListenerTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerConstructorTableValues[] =
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerConstructorTable = { 1, 0, JSTestMediaQueryListListenerConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestMediaQueryListListenerConstructorTable = { 1, 0, false, JSTestMediaQueryListListenerConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestMediaQueryListListenerConstructor::s_info = { &quot;TestMediaQueryListListenerConstructor&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerConstructorTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -73,11 +73,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestMediaQueryListListenerPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;method&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t)1 },
</del><ins>+    { &quot;method&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestMediaQueryListListenerPrototypeFunctionMethod), (intptr_t) (1) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 1, JSTestMediaQueryListListenerPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestMediaQueryListListenerPrototypeTable = { 2, 1, false, JSTestMediaQueryListListenerPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestMediaQueryListListenerPrototype::s_info = { &quot;TestMediaQueryListListenerPrototype&quot;, &amp;Base::s_info, &amp;JSTestMediaQueryListListenerPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestMediaQueryListListenerPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestMediaQueryListListenerPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestNamedConstructorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNamedConstructorTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNamedConstructorConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNamedConstructorConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorTable = { 2, 1, JSTestNamedConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestNamedConstructorTable = { 2, 1, true, JSTestNamedConstructorTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNamedConstructorConstructorTableValues[] =
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorConstructorTable = { 1, 0, JSTestNamedConstructorConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestNamedConstructorConstructorTable = { 1, 0, false, JSTestNamedConstructorConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNamedConstructorConstructor::s_info = { &quot;TestNamedConstructorConstructor&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorConstructorTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 0, JSTestNamedConstructorPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestNamedConstructorPrototypeTable = { 1, 0, false, JSTestNamedConstructorPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNamedConstructorPrototype::s_info = { &quot;TestNamedConstructorPrototype&quot;, &amp;Base::s_info, &amp;JSTestNamedConstructorPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNamedConstructorPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNamedConstructorPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestNode.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,11 +35,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNodeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNodeConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestNodeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodeTable = { 2, 1, JSTestNodeTableValues, 0 };
</del><ins>+static const HashTable JSTestNodeTable = { 2, 1, true, JSTestNodeTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestNodeConstructorTableValues[] =
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodeConstructorTable = { 1, 0, JSTestNodeConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestNodeConstructorTable = { 1, 0, false, JSTestNodeConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestNodeConstructor::constructJSTestNode(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestNodeConstructor* castedThis = jsCast&lt;JSTestNodeConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestNodePrototypeTable = { 1, 0, JSTestNodePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestNodePrototypeTable = { 1, 0, false, JSTestNodePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestNodePrototype::s_info = { &quot;TestNodePrototype&quot;, &amp;Base::s_info, &amp;JSTestNodePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestNodePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestNodePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestObjcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -77,123 +77,123 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestObjTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;readOnlyLongAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyLongAttr), (intptr_t)0 },
-    { &quot;readOnlyStringAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyStringAttr), (intptr_t)0 },
-    { &quot;readOnlyTestObjAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyTestObjAttr), (intptr_t)0 },
-    { &quot;TestSubObjEnabledBySetting&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestSubObjEnabledBySettingConstructor), (intptr_t)setJSTestObjTestSubObjEnabledBySettingConstructor },
-    { &quot;enumAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjEnumAttr), (intptr_t)setJSTestObjEnumAttr },
-    { &quot;byteAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjByteAttr), (intptr_t)setJSTestObjByteAttr },
-    { &quot;octetAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjOctetAttr), (intptr_t)setJSTestObjOctetAttr },
-    { &quot;shortAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjShortAttr), (intptr_t)setJSTestObjShortAttr },
-    { &quot;unsignedShortAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedShortAttr), (intptr_t)setJSTestObjUnsignedShortAttr },
-    { &quot;longAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongAttr), (intptr_t)setJSTestObjLongAttr },
-    { &quot;longLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongLongAttr), (intptr_t)setJSTestObjLongLongAttr },
-    { &quot;unsignedLongLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedLongLongAttr), (intptr_t)setJSTestObjUnsignedLongLongAttr },
-    { &quot;stringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttr), (intptr_t)setJSTestObjStringAttr },
-    { &quot;testObjAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestObjAttr), (intptr_t)setJSTestObjTestObjAttr },
-    { &quot;XMLObjAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjXMLObjAttr), (intptr_t)setJSTestObjXMLObjAttr },
-    { &quot;create&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCreate), (intptr_t)setJSTestObjCreate },
-    { &quot;reflectedStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t)setJSTestObjReflectedStringAttr },
-    { &quot;reflectedIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedIntegralAttr), (intptr_t)setJSTestObjReflectedIntegralAttr },
-    { &quot;reflectedUnsignedIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedUnsignedIntegralAttr), (intptr_t)setJSTestObjReflectedUnsignedIntegralAttr },
-    { &quot;reflectedBooleanAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedBooleanAttr), (intptr_t)setJSTestObjReflectedBooleanAttr },
-    { &quot;reflectedURLAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedURLAttr), (intptr_t)setJSTestObjReflectedURLAttr },
-    { &quot;reflectedStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t)setJSTestObjReflectedStringAttr },
-    { &quot;reflectedCustomIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomIntegralAttr), (intptr_t)setJSTestObjReflectedCustomIntegralAttr },
-    { &quot;reflectedCustomBooleanAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomBooleanAttr), (intptr_t)setJSTestObjReflectedCustomBooleanAttr },
-    { &quot;reflectedCustomURLAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomURLAttr), (intptr_t)setJSTestObjReflectedCustomURLAttr },
-    { &quot;typedArrayAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTypedArrayAttr), (intptr_t)setJSTestObjTypedArrayAttr },
-    { &quot;attrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithGetterException), (intptr_t)setJSTestObjAttrWithGetterException },
-    { &quot;attrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithSetterException), (intptr_t)setJSTestObjAttrWithSetterException },
-    { &quot;stringAttrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithGetterException), (intptr_t)setJSTestObjStringAttrWithGetterException },
-    { &quot;stringAttrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithSetterException), (intptr_t)setJSTestObjStringAttrWithSetterException },
-    { &quot;customAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCustomAttr), (intptr_t)setJSTestObjCustomAttr },
-    { &quot;withScriptStateAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttribute), (intptr_t)setJSTestObjWithScriptStateAttribute },
-    { &quot;withScriptExecutionContextAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttribute), (intptr_t)setJSTestObjWithScriptExecutionContextAttribute },
-    { &quot;withScriptStateAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttributeRaises), (intptr_t)setJSTestObjWithScriptStateAttributeRaises },
-    { &quot;withScriptExecutionContextAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttributeRaises), (intptr_t)setJSTestObjWithScriptExecutionContextAttributeRaises },
-    { &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttribute), (intptr_t)setJSTestObjWithScriptExecutionContextAndScriptStateAttribute },
-    { &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises), (intptr_t)setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises },
-    { &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute), (intptr_t)setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute },
-    { &quot;withScriptArgumentsAndCallStackAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptArgumentsAndCallStackAttribute), (intptr_t)setJSTestObjWithScriptArgumentsAndCallStackAttribute },
</del><ins>+    { &quot;readOnlyLongAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readOnlyStringAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readOnlyTestObjAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadOnlyTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;TestSubObjEnabledBySetting&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestSubObjEnabledBySettingConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestSubObjEnabledBySettingConstructor) },
+    { &quot;enumAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjEnumAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjEnumAttr) },
+    { &quot;byteAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjByteAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjByteAttr) },
+    { &quot;octetAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjOctetAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjOctetAttr) },
+    { &quot;shortAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjShortAttr) },
+    { &quot;unsignedShortAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedShortAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedShortAttr) },
+    { &quot;longAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongAttr) },
+    { &quot;longLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjLongLongAttr) },
+    { &quot;unsignedLongLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjUnsignedLongLongAttr) },
+    { &quot;stringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttr) },
+    { &quot;testObjAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTestObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTestObjAttr) },
+    { &quot;XMLObjAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjXMLObjAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjXMLObjAttr) },
+    { &quot;create&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCreate), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCreate) },
+    { &quot;reflectedStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
+    { &quot;reflectedIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedIntegralAttr) },
+    { &quot;reflectedUnsignedIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedUnsignedIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedUnsignedIntegralAttr) },
+    { &quot;reflectedBooleanAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedBooleanAttr) },
+    { &quot;reflectedURLAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedURLAttr) },
+    { &quot;reflectedStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedStringAttr) },
+    { &quot;reflectedCustomIntegralAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomIntegralAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomIntegralAttr) },
+    { &quot;reflectedCustomBooleanAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomBooleanAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomBooleanAttr) },
+    { &quot;reflectedCustomURLAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReflectedCustomURLAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReflectedCustomURLAttr) },
+    { &quot;typedArrayAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjTypedArrayAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjTypedArrayAttr) },
+    { &quot;attrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithGetterException) },
+    { &quot;attrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttrWithSetterException) },
+    { &quot;stringAttrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithGetterException) },
+    { &quot;stringAttrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStringAttrWithSetterException) },
+    { &quot;customAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCustomAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjCustomAttr) },
+    { &quot;withScriptStateAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttribute) },
+    { &quot;withScriptExecutionContextAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttribute) },
+    { &quot;withScriptStateAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptStateAttributeRaises) },
+    { &quot;withScriptExecutionContextAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAttributeRaises) },
+    { &quot;withScriptExecutionContextAndScriptStateAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttribute) },
+    { &quot;withScriptExecutionContextAndScriptStateAttributeRaises&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises) },
+    { &quot;withScriptExecutionContextAndScriptStateWithSpacesAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute) },
+    { &quot;withScriptArgumentsAndCallStackAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjWithScriptArgumentsAndCallStackAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjWithScriptArgumentsAndCallStackAttribute) },
</ins><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;conditionalAttr1&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr1), (intptr_t)setJSTestObjConditionalAttr1 },
</del><ins>+    { &quot;conditionalAttr1&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr1) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-    { &quot;conditionalAttr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr2), (intptr_t)setJSTestObjConditionalAttr2 },
</del><ins>+    { &quot;conditionalAttr2&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr2) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-    { &quot;conditionalAttr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr3), (intptr_t)setJSTestObjConditionalAttr3 },
</del><ins>+    { &quot;conditionalAttr3&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr3), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr3) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;conditionalAttr4&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr4Constructor), (intptr_t)setJSTestObjConditionalAttr4Constructor },
</del><ins>+    { &quot;conditionalAttr4&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr4Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr4Constructor) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-    { &quot;conditionalAttr5&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr5Constructor), (intptr_t)setJSTestObjConditionalAttr5Constructor },
</del><ins>+    { &quot;conditionalAttr5&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr5Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr5Constructor) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-    { &quot;conditionalAttr6&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr6Constructor), (intptr_t)setJSTestObjConditionalAttr6Constructor },
</del><ins>+    { &quot;conditionalAttr6&quot;, DontEnum, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConditionalAttr6Constructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConditionalAttr6Constructor) },
</ins><span class="cx"> #endif
</span><del>-    { &quot;cachedAttribute1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute1), (intptr_t)0 },
-    { &quot;cachedAttribute2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute2), (intptr_t)0 },
-    { &quot;anyAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAnyAttribute), (intptr_t)setJSTestObjAnyAttribute },
-    { &quot;contentDocument&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjContentDocument), (intptr_t)0 },
-    { &quot;mutablePoint&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjMutablePoint), (intptr_t)setJSTestObjMutablePoint },
-    { &quot;immutablePoint&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjImmutablePoint), (intptr_t)setJSTestObjImmutablePoint },
-    { &quot;strawberry&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrawberry), (intptr_t)setJSTestObjStrawberry },
-    { &quot;strictFloat&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrictFloat), (intptr_t)setJSTestObjStrictFloat },
-    { &quot;description&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjDescription), (intptr_t)0 },
-    { &quot;id&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjId), (intptr_t)setJSTestObjId },
-    { &quot;hash&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjHash), (intptr_t)0 },
-    { &quot;replaceableAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReplaceableAttribute), (intptr_t)setJSTestObjReplaceableAttribute },
-    { &quot;nullableDoubleAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableDoubleAttribute), (intptr_t)0 },
-    { &quot;nullableLongAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongAttribute), (intptr_t)0 },
-    { &quot;nullableBooleanAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableBooleanAttribute), (intptr_t)0 },
-    { &quot;nullableStringAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringAttribute), (intptr_t)0 },
-    { &quot;nullableLongSettableAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongSettableAttribute), (intptr_t)setJSTestObjNullableLongSettableAttribute },
-    { &quot;nullableStringValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringValue), (intptr_t)setJSTestObjNullableStringValue },
-    { &quot;attribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttribute), (intptr_t)0 },
-    { &quot;attributeWithReservedEnumType&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithReservedEnumType), (intptr_t)setJSTestObjAttributeWithReservedEnumType },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructor), (intptr_t)0 },
</del><ins>+    { &quot;cachedAttribute1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedAttribute2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCachedAttribute2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;anyAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAnyAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAnyAttribute) },
+    { &quot;contentDocument&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjContentDocument), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;mutablePoint&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjMutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjMutablePoint) },
+    { &quot;immutablePoint&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjImmutablePoint), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjImmutablePoint) },
+    { &quot;strawberry&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrawberry), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrawberry) },
+    { &quot;strictFloat&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjStrictFloat), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjStrictFloat) },
+    { &quot;description&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjDescription), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;id&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjId), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjId) },
+    { &quot;hash&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjHash), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;replaceableAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReplaceableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjReplaceableAttribute) },
+    { &quot;nullableDoubleAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableDoubleAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableLongAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableBooleanAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableBooleanAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableStringAttribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;nullableLongSettableAttribute&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableLongSettableAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableLongSettableAttribute) },
+    { &quot;nullableStringValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjNullableStringValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjNullableStringValue) },
+    { &quot;attribute&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttribute), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;attributeWithReservedEnumType&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjAttributeWithReservedEnumType), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjAttributeWithReservedEnumType) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjTable = { 266, 255, JSTestObjTableValues, 0 };
</del><ins>+static const HashTable JSTestObjTable = { 266, 255, true, JSTestObjTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestObjConstructorTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t)0 },
</del><ins>+    { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><del>-    { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t)0 },
-    { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t)0 },
-    { &quot;CONST_VALUE_2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_2), (intptr_t)0 },
-    { &quot;CONST_VALUE_4&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_4), (intptr_t)0 },
-    { &quot;CONST_VALUE_8&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_8), (intptr_t)0 },
-    { &quot;CONST_VALUE_9&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_9), (intptr_t)0 },
-    { &quot;CONST_VALUE_10&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_10), (intptr_t)0 },
-    { &quot;CONST_VALUE_11&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_11), (intptr_t)0 },
-    { &quot;CONST_VALUE_12&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_12), (intptr_t)0 },
-    { &quot;CONST_VALUE_13&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_13), (intptr_t)0 },
-    { &quot;CONST_VALUE_14&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_14), (intptr_t)0 },
-    { &quot;CONST_JAVASCRIPT&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_JAVASCRIPT), (intptr_t)0 },
-    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadonly), (intptr_t)0 },
-    { &quot;staticReadOnlyLongAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorStaticReadOnlyLongAttr), (intptr_t)0 },
-    { &quot;staticStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorStaticStringAttr), (intptr_t)setJSTestObjConstructorStaticStringAttr },
-    { &quot;TestSubObj&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorTestSubObj), (intptr_t)0 },
-    { &quot;staticMethodWithCallbackAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg), (intptr_t)0 },
-    { &quot;staticMethodWithCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionStaticMethodWithCallbackArg), (intptr_t)1 },
-    { &quot;classMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethod), (intptr_t)0 },
-    { &quot;classMethodWithOptional&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethodWithOptional), (intptr_t)0 },
-    { &quot;classMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethod2), (intptr_t)1 },
</del><ins>+    { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_4&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_4), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_8&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_8), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_9&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_9), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_10&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_10), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_11&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_11), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_12&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_12), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_13&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_13), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_14&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_14), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_JAVASCRIPT&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_JAVASCRIPT), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;staticReadOnlyLongAttr&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorStaticReadOnlyLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;staticStringAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorStaticStringAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestObjConstructorStaticStringAttr) },
+    { &quot;TestSubObj&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjConstructorTestSubObj), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;staticMethodWithCallbackAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionStaticMethodWithCallbackAndOptionalArg), (intptr_t) (0) },
+    { &quot;staticMethodWithCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionStaticMethodWithCallbackArg), (intptr_t) (1) },
+    { &quot;classMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethod), (intptr_t) (0) },
+    { &quot;classMethodWithOptional&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethodWithOptional), (intptr_t) (0) },
+    { &quot;classMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionClassMethod2), (intptr_t) (1) },
</ins><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;overloadedMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionOverloadedMethod1), (intptr_t)1 },
</del><ins>+    { &quot;overloadedMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjConstructorFunctionOverloadedMethod1), (intptr_t) (1) },
</ins><span class="cx"> #endif
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjConstructorTable = { 39, 31, JSTestObjConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestObjConstructorTable = { 39, 31, true, JSTestObjConstructorTableValues, 0 };
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx"> COMPILE_ASSERT(0 == TestObj::CONDITIONAL_CONST, TestObjEnumCONDITIONAL_CONSTIsWrongUseDoNotCheckConstants);
</span><span class="lines">@@ -255,93 +255,93 @@
</span><span class="cx"> static const HashTableValue JSTestObjPrototypeTableValues[] =
</span><span class="cx"> {
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t)0 },
</del><ins>+    { &quot;CONDITIONAL_CONST&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONDITIONAL_CONST), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx"> #endif
</span><del>-    { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t)0 },
-    { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t)0 },
-    { &quot;CONST_VALUE_2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_2), (intptr_t)0 },
-    { &quot;CONST_VALUE_4&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_4), (intptr_t)0 },
-    { &quot;CONST_VALUE_8&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_8), (intptr_t)0 },
-    { &quot;CONST_VALUE_9&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_9), (intptr_t)0 },
-    { &quot;CONST_VALUE_10&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_10), (intptr_t)0 },
-    { &quot;CONST_VALUE_11&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_11), (intptr_t)0 },
-    { &quot;CONST_VALUE_12&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_12), (intptr_t)0 },
-    { &quot;CONST_VALUE_13&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_13), (intptr_t)0 },
-    { &quot;CONST_VALUE_14&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_14), (intptr_t)0 },
-    { &quot;CONST_JAVASCRIPT&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_JAVASCRIPT), (intptr_t)0 },
-    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadonly), (intptr_t)0 },
-    { &quot;voidMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVoidMethod), (intptr_t)0 },
-    { &quot;voidMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVoidMethodWithArgs), (intptr_t)3 },
-    { &quot;byteMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionByteMethod), (intptr_t)0 },
-    { &quot;byteMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionByteMethodWithArgs), (intptr_t)3 },
-    { &quot;octetMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOctetMethod), (intptr_t)0 },
-    { &quot;octetMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOctetMethodWithArgs), (intptr_t)3 },
-    { &quot;longMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionLongMethod), (intptr_t)0 },
-    { &quot;longMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionLongMethodWithArgs), (intptr_t)3 },
-    { &quot;objMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionObjMethod), (intptr_t)0 },
-    { &quot;objMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionObjMethodWithArgs), (intptr_t)3 },
-    { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithSequenceArg), (intptr_t)1 },
-    { &quot;methodReturningSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodReturningSequence), (intptr_t)1 },
-    { &quot;methodWithEnumArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithEnumArg), (intptr_t)1 },
-    { &quot;methodThatRequiresAllArgsAndThrows&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows), (intptr_t)2 },
-    { &quot;serializedValue&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionSerializedValue), (intptr_t)1 },
-    { &quot;optionsObject&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOptionsObject), (intptr_t)1 },
-    { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithException), (intptr_t)0 },
-    { &quot;customMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethod), (intptr_t)0 },
-    { &quot;customMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethodWithArgs), (intptr_t)3 },
-    { &quot;addEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAddEventListener), (intptr_t)2 },
-    { &quot;removeEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionRemoveEventListener), (intptr_t)2 },
-    { &quot;withScriptStateVoid&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateVoid), (intptr_t)0 },
-    { &quot;withScriptStateObj&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateObj), (intptr_t)0 },
-    { &quot;withScriptStateVoidException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateVoidException), (intptr_t)0 },
-    { &quot;withScriptStateObjException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateObjException), (intptr_t)0 },
-    { &quot;withScriptExecutionContext&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContext), (intptr_t)0 },
-    { &quot;withScriptExecutionContextAndScriptState&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState), (intptr_t)0 },
-    { &quot;withScriptExecutionContextAndScriptStateObjException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException), (intptr_t)0 },
-    { &quot;withScriptExecutionContextAndScriptStateWithSpaces&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces), (intptr_t)0 },
-    { &quot;withScriptArgumentsAndCallStack&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack), (intptr_t)0 },
-    { &quot;methodWithOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalArg), (intptr_t)0 },
-    { &quot;methodWithNonOptionalArgAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg), (intptr_t)1 },
-    { &quot;methodWithNonOptionalArgAndTwoOptionalArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs), (intptr_t)1 },
-    { &quot;methodWithOptionalString&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalString), (intptr_t)0 },
-    { &quot;methodWithOptionalStringIsUndefined&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined), (intptr_t)0 },
-    { &quot;methodWithOptionalStringIsNullString&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString), (intptr_t)0 },
-    { &quot;methodWithCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithCallbackArg), (intptr_t)1 },
-    { &quot;methodWithNonCallbackArgAndCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg), (intptr_t)2 },
-    { &quot;methodWithCallbackAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg), (intptr_t)0 },
</del><ins>+    { &quot;CONST_VALUE_0&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_0), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_1&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_1), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_2&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_2), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_4&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_4), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_8&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_8), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_9&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_9), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_10&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_10), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_11&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_11), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_12&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_12), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_13&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_13), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_VALUE_14&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_VALUE_14), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;CONST_JAVASCRIPT&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjCONST_JAVASCRIPT), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestObjReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;voidMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVoidMethod), (intptr_t) (0) },
+    { &quot;voidMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVoidMethodWithArgs), (intptr_t) (3) },
+    { &quot;byteMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionByteMethod), (intptr_t) (0) },
+    { &quot;byteMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionByteMethodWithArgs), (intptr_t) (3) },
+    { &quot;octetMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOctetMethod), (intptr_t) (0) },
+    { &quot;octetMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOctetMethodWithArgs), (intptr_t) (3) },
+    { &quot;longMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionLongMethod), (intptr_t) (0) },
+    { &quot;longMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionLongMethodWithArgs), (intptr_t) (3) },
+    { &quot;objMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionObjMethod), (intptr_t) (0) },
+    { &quot;objMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionObjMethodWithArgs), (intptr_t) (3) },
+    { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithSequenceArg), (intptr_t) (1) },
+    { &quot;methodReturningSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodReturningSequence), (intptr_t) (1) },
+    { &quot;methodWithEnumArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithEnumArg), (intptr_t) (1) },
+    { &quot;methodThatRequiresAllArgsAndThrows&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows), (intptr_t) (2) },
+    { &quot;serializedValue&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionSerializedValue), (intptr_t) (1) },
+    { &quot;optionsObject&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOptionsObject), (intptr_t) (1) },
+    { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithException), (intptr_t) (0) },
+    { &quot;customMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethod), (intptr_t) (0) },
+    { &quot;customMethodWithArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionCustomMethodWithArgs), (intptr_t) (3) },
+    { &quot;addEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAddEventListener), (intptr_t) (2) },
+    { &quot;removeEventListener&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionRemoveEventListener), (intptr_t) (2) },
+    { &quot;withScriptStateVoid&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateVoid), (intptr_t) (0) },
+    { &quot;withScriptStateObj&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateObj), (intptr_t) (0) },
+    { &quot;withScriptStateVoidException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateVoidException), (intptr_t) (0) },
+    { &quot;withScriptStateObjException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptStateObjException), (intptr_t) (0) },
+    { &quot;withScriptExecutionContext&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContext), (intptr_t) (0) },
+    { &quot;withScriptExecutionContextAndScriptState&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState), (intptr_t) (0) },
+    { &quot;withScriptExecutionContextAndScriptStateObjException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException), (intptr_t) (0) },
+    { &quot;withScriptExecutionContextAndScriptStateWithSpaces&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces), (intptr_t) (0) },
+    { &quot;withScriptArgumentsAndCallStack&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack), (intptr_t) (0) },
+    { &quot;methodWithOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalArg), (intptr_t) (0) },
+    { &quot;methodWithNonOptionalArgAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg), (intptr_t) (1) },
+    { &quot;methodWithNonOptionalArgAndTwoOptionalArgs&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs), (intptr_t) (1) },
+    { &quot;methodWithOptionalString&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalString), (intptr_t) (0) },
+    { &quot;methodWithOptionalStringIsUndefined&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined), (intptr_t) (0) },
+    { &quot;methodWithOptionalStringIsNullString&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString), (intptr_t) (0) },
+    { &quot;methodWithCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithCallbackArg), (intptr_t) (1) },
+    { &quot;methodWithNonCallbackArgAndCallbackArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg), (intptr_t) (2) },
+    { &quot;methodWithCallbackAndOptionalArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg), (intptr_t) (0) },
</ins><span class="cx"> #if ENABLE(Condition1)
</span><del>-    { &quot;conditionalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod1), (intptr_t)0 },
</del><ins>+    { &quot;conditionalMethod1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod1), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-    { &quot;conditionalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod2), (intptr_t)0 },
</del><ins>+    { &quot;conditionalMethod2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod2), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-    { &quot;conditionalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod3), (intptr_t)0 },
</del><ins>+    { &quot;conditionalMethod3&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConditionalMethod3), (intptr_t) (0) },
</ins><span class="cx"> #endif
</span><del>-    { &quot;overloadedMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOverloadedMethod), (intptr_t)2 },
-    { &quot;classMethodWithClamp&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionClassMethodWithClamp), (intptr_t)2 },
-    { &quot;methodWithUnsignedLongSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence), (intptr_t)1 },
-    { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStringArrayFunction), (intptr_t)1 },
-    { &quot;domStringListFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionDomStringListFunction), (intptr_t)1 },
-    { &quot;getSVGDocument&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionGetSVGDocument), (intptr_t)0 },
-    { &quot;convert1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert1), (intptr_t)1 },
-    { &quot;convert2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert2), (intptr_t)1 },
-    { &quot;convert4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert4), (intptr_t)1 },
-    { &quot;convert5&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert5), (intptr_t)1 },
-    { &quot;mutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMutablePointFunction), (intptr_t)0 },
-    { &quot;immutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionImmutablePointFunction), (intptr_t)0 },
-    { &quot;orange&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOrange), (intptr_t)0 },
-    { &quot;strictFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunction), (intptr_t)3 },
-    { &quot;strictFunctionWithSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunctionWithSequence), (intptr_t)2 },
-    { &quot;strictFunctionWithArray&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunctionWithArray), (intptr_t)2 },
-    { &quot;variadicStringMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicStringMethod), (intptr_t)2 },
-    { &quot;variadicDoubleMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicDoubleMethod), (intptr_t)2 },
-    { &quot;variadicNodeMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicNodeMethod), (intptr_t)2 },
-    { &quot;any&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAny), (intptr_t)2 },
</del><ins>+    { &quot;overloadedMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOverloadedMethod), (intptr_t) (2) },
+    { &quot;classMethodWithClamp&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionClassMethodWithClamp), (intptr_t) (2) },
+    { &quot;methodWithUnsignedLongSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence), (intptr_t) (1) },
+    { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStringArrayFunction), (intptr_t) (1) },
+    { &quot;domStringListFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionDomStringListFunction), (intptr_t) (1) },
+    { &quot;getSVGDocument&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionGetSVGDocument), (intptr_t) (0) },
+    { &quot;convert1&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert1), (intptr_t) (1) },
+    { &quot;convert2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert2), (intptr_t) (1) },
+    { &quot;convert4&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert4), (intptr_t) (1) },
+    { &quot;convert5&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionConvert5), (intptr_t) (1) },
+    { &quot;mutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionMutablePointFunction), (intptr_t) (0) },
+    { &quot;immutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionImmutablePointFunction), (intptr_t) (0) },
+    { &quot;orange&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionOrange), (intptr_t) (0) },
+    { &quot;strictFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunction), (intptr_t) (3) },
+    { &quot;strictFunctionWithSequence&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunctionWithSequence), (intptr_t) (2) },
+    { &quot;strictFunctionWithArray&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionStrictFunctionWithArray), (intptr_t) (2) },
+    { &quot;variadicStringMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicStringMethod), (intptr_t) (2) },
+    { &quot;variadicDoubleMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicDoubleMethod), (intptr_t) (2) },
+    { &quot;variadicNodeMethod&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionVariadicNodeMethod), (intptr_t) (2) },
+    { &quot;any&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestObjPrototypeFunctionAny), (intptr_t) (2) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestObjPrototypeTable = { 267, 255, JSTestObjPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestObjPrototypeTable = { 267, 255, true, JSTestObjPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestObjPrototype::s_info = { &quot;TestObjectPrototype&quot;, &amp;Base::s_info, &amp;JSTestObjPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestObjPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestObjPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -1317,15 +1317,8 @@
</span><span class="cx">     return JSValue::encode(JSTestObj::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSTestObj::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+void setJSTestObjConstructorStaticStringAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><del>-    JSTestObj* thisObject = jsCast&lt;JSTestObj*&gt;(cell);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    lookupPut&lt;JSTestObj, Base&gt;(exec, propertyName, value, JSTestObjTable, thisObject, slot);
-}
-
-void setJSTestObjConstructorStaticStringAttr(ExecState* exec, EncodedJSValue, EncodedJSValue encodedValue)
-{
</del><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="cx">     const String&amp; nativeValue(value.isEmpty() ? String() : value.toString(exec)-&gt;value(exec));
</span><span class="lines">@@ -1335,7 +1328,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjTestSubObjEnabledBySettingConstructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjTestSubObjEnabledBySettingConstructor(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1349,7 +1342,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjEnumAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjEnumAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1368,7 +1361,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjByteAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjByteAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1385,7 +1378,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjOctetAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjOctetAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1402,7 +1395,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjShortAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjShortAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1419,7 +1412,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjUnsignedShortAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjUnsignedShortAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1436,7 +1429,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjLongAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1453,7 +1446,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjLongLongAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1470,7 +1463,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjUnsignedLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjUnsignedLongLongAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1487,7 +1480,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjStringAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1504,7 +1497,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjTestObjAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjTestObjAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1521,7 +1514,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjXMLObjAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjXMLObjAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1538,7 +1531,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjCreate(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjCreate(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1555,7 +1548,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedStringAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1572,7 +1565,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedIntegralAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1589,7 +1582,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedUnsignedIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedUnsignedIntegralAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1606,7 +1599,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedBooleanAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedBooleanAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1623,7 +1616,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedURLAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedURLAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1640,7 +1633,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedStringAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedStringAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1657,7 +1650,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedCustomIntegralAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedCustomIntegralAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1674,7 +1667,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedCustomBooleanAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedCustomBooleanAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1691,7 +1684,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReflectedCustomURLAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReflectedCustomURLAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1708,7 +1701,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjTypedArrayAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjTypedArrayAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1725,7 +1718,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjAttrWithGetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1742,7 +1735,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjAttrWithSetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1761,7 +1754,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjStringAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjStringAttrWithGetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1778,7 +1771,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjStringAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjStringAttrWithSetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1797,7 +1790,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjCustomAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjCustomAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1810,7 +1803,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptStateAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptStateAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1827,7 +1820,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptExecutionContextAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptExecutionContextAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1847,7 +1840,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptStateAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptStateAttributeRaises(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1864,7 +1857,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptExecutionContextAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptExecutionContextAttributeRaises(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1884,7 +1877,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1904,7 +1897,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1924,7 +1917,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1944,7 +1937,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjWithScriptArgumentsAndCallStackAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjWithScriptArgumentsAndCallStackAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1962,7 +1955,7 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-void setJSTestObjConditionalAttr1(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr1(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -1981,7 +1974,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-void setJSTestObjConditionalAttr2(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr2(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2000,7 +1993,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-void setJSTestObjConditionalAttr3(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr3(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2019,7 +2012,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1)
</span><del>-void setJSTestObjConditionalAttr4Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr4Constructor(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2035,7 +2028,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><del>-void setJSTestObjConditionalAttr5Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr5Constructor(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2051,7 +2044,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><del>-void setJSTestObjConditionalAttr6Constructor(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjConditionalAttr6Constructor(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2066,7 +2059,7 @@
</span><span class="cx"> 
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void setJSTestObjAnyAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjAnyAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2083,7 +2076,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjMutablePoint(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjMutablePoint(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2100,7 +2093,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjImmutablePoint(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjImmutablePoint(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2117,7 +2110,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjStrawberry(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjStrawberry(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2134,7 +2127,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjStrictFloat(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjStrictFloat(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2151,7 +2144,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjId(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjId(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2168,7 +2161,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjReplaceableAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjReplaceableAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2182,7 +2175,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjNullableLongSettableAttribute(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjNullableLongSettableAttribute(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2199,7 +2192,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjNullableStringValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjNullableStringValue(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -2216,7 +2209,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestObjAttributeWithReservedEnumType(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestObjAttributeWithReservedEnumType(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestObjh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><del>-    static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);
</del><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestObj();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -239,134 +238,134 @@
</span><span class="cx"> JSC::EncodedJSValue jsTestObjReadOnlyTestObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConstructorStaticReadOnlyLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConstructorStaticStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjConstructorTestSubObj(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjTestSubObjEnabledBySettingConstructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjEnumAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjEnumAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjEnumAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjByteAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjByteAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjByteAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjOctetAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjOctetAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjOctetAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjShortAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjUnsignedShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjUnsignedShortAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjUnsignedShortAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjUnsignedLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjTestObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjTestObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjTestObjAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjXMLObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjXMLObjAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjXMLObjAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjCreate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjCreate(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjCreate(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedUnsignedIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedBooleanAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedStringAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedCustomIntegralAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedCustomBooleanAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReflectedCustomURLAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjTypedArrayAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjTypedArrayAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjTypedArrayAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjStringAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjCustomAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjCustomAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjCustomAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptStateAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptExecutionContextAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptStateAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptExecutionContextAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjWithScriptArgumentsAndCallStackAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr1(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr2(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr3(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr3(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr4Constructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) &amp;&amp; ENABLE(Condition2)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr5Constructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(Condition1) || ENABLE(Condition2)
</span><span class="cx"> JSC::EncodedJSValue jsTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjConditionalAttr6Constructor(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> #endif
</span><span class="cx"> JSC::EncodedJSValue jsTestObjCachedAttribute1(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjCachedAttribute2(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjAnyAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjAnyAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjAnyAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjContentDocument(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjMutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjMutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjMutablePoint(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjImmutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjImmutablePoint(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjImmutablePoint(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjStrawberry(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjStrawberry(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjStrawberry(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjStrictFloat(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjStrictFloat(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjStrictFloat(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjDescription(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjId(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjId(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjId(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjHash(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjReplaceableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjReplaceableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjReplaceableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjNullableDoubleAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjNullableLongAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjNullableBooleanAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjNullableStringAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjNullableLongSettableAttribute(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjNullableStringValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjNullableStringValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjNullableStringValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjAttribute(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestObjAttributeWithReservedEnumType(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestObjConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> // Constants
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestOverloadedConstructorscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,11 +36,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestOverloadedConstructorsTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestOverloadedConstructorsConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestOverloadedConstructorsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsTable = { 2, 1, JSTestOverloadedConstructorsTableValues, 0 };
</del><ins>+static const HashTable JSTestOverloadedConstructorsTable = { 2, 1, true, JSTestOverloadedConstructorsTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestOverloadedConstructorsConstructorTableValues[] =
</span><span class="lines">@@ -48,7 +48,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsConstructorTable = { 1, 0, JSTestOverloadedConstructorsConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestOverloadedConstructorsConstructorTable = { 1, 0, false, JSTestOverloadedConstructorsConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors1(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestOverloadedConstructorsConstructor* castedThis = jsCast&lt;JSTestOverloadedConstructorsConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -147,7 +147,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 0, JSTestOverloadedConstructorsPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestOverloadedConstructorsPrototypeTable = { 1, 0, false, JSTestOverloadedConstructorsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestOverloadedConstructorsPrototype::s_info = { &quot;TestOverloadedConstructorsPrototype&quot;, &amp;Base::s_info, &amp;JSTestOverloadedConstructorsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestOverloadedConstructorsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestOverloadedConstructorsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfacecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,16 +39,16 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestSerializedScriptValueInterfaceTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;value&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceValue), (intptr_t)setJSTestSerializedScriptValueInterfaceValue },
-    { &quot;readonlyValue&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceReadonlyValue), (intptr_t)0 },
-    { &quot;cachedValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t)setJSTestSerializedScriptValueInterfaceCachedValue },
-    { &quot;ports&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfacePorts), (intptr_t)0 },
-    { &quot;cachedReadonlyValue&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedReadonlyValue), (intptr_t)0 },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t)0 },
</del><ins>+    { &quot;value&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceValue) },
+    { &quot;readonlyValue&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestSerializedScriptValueInterfaceCachedValue) },
+    { &quot;ports&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfacePorts), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;cachedReadonlyValue&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceCachedReadonlyValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestSerializedScriptValueInterfaceConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfaceTable = { 17, 15, JSTestSerializedScriptValueInterfaceTableValues, 0 };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfaceTable = { 17, 15, true, JSTestSerializedScriptValueInterfaceTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestSerializedScriptValueInterfaceConstructorTableValues[] =
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfaceConstructorTable = { 1, 0, JSTestSerializedScriptValueInterfaceConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfaceConstructorTable = { 1, 0, false, JSTestSerializedScriptValueInterfaceConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestSerializedScriptValueInterfaceConstructor::s_info = { &quot;TestSerializedScriptValueInterfaceConstructor&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfaceConstructorTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfaceConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 1, 0, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestSerializedScriptValueInterfacePrototypeTable = { 1, 0, false, JSTestSerializedScriptValueInterfacePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestSerializedScriptValueInterfacePrototype::s_info = { &quot;TestSerializedScriptValueInterfacePrototype&quot;, &amp;Base::s_info, &amp;JSTestSerializedScriptValueInterfacePrototypeTable, 0, CREATE_METHOD_TABLE(JSTestSerializedScriptValueInterfacePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestSerializedScriptValueInterfacePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -210,15 +210,8 @@
</span><span class="cx">     return JSValue::encode(JSTestSerializedScriptValueInterface::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSTestSerializedScriptValueInterface::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+void setJSTestSerializedScriptValueInterfaceValue(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><del>-    JSTestSerializedScriptValueInterface* thisObject = jsCast&lt;JSTestSerializedScriptValueInterface*&gt;(cell);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    lookupPut&lt;JSTestSerializedScriptValueInterface, Base&gt;(exec, propertyName, value, JSTestSerializedScriptValueInterfaceTable, thisObject, slot);
-}
-
-void setJSTestSerializedScriptValueInterfaceValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
-{
</del><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="cx">     JSTestSerializedScriptValueInterface* castedThis = jsDynamicCast&lt;JSTestSerializedScriptValueInterface*&gt;(JSValue::decode(thisValue));
</span><span class="lines">@@ -234,7 +227,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestSerializedScriptValueInterfaceCachedValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestSerializedScriptValueInterfaceCachedValue(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestSerializedScriptValueInterfaceh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><del>-    static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);
</del><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestSerializedScriptValueInterface();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -147,10 +146,10 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestSerializedScriptValueInterfaceValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceReadonlyValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestSerializedScriptValueInterfaceCachedValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfacePorts(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceCachedReadonlyValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestSerializedScriptValueInterfaceConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestTypedefscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -47,26 +47,26 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;unsignedLongLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsUnsignedLongLongAttr), (intptr_t)setJSTestTypedefsUnsignedLongLongAttr },
-    { &quot;immutableSerializedScriptValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsImmutableSerializedScriptValue), (intptr_t)setJSTestTypedefsImmutableSerializedScriptValue },
-    { &quot;attrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithGetterException), (intptr_t)setJSTestTypedefsAttrWithGetterException },
-    { &quot;attrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithSetterException), (intptr_t)setJSTestTypedefsAttrWithSetterException },
-    { &quot;stringAttrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithGetterException), (intptr_t)setJSTestTypedefsStringAttrWithGetterException },
-    { &quot;stringAttrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithSetterException), (intptr_t)setJSTestTypedefsStringAttrWithSetterException },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructor), (intptr_t)0 },
</del><ins>+    { &quot;unsignedLongLongAttr&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsUnsignedLongLongAttr), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsUnsignedLongLongAttr) },
+    { &quot;immutableSerializedScriptValue&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsImmutableSerializedScriptValue), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsImmutableSerializedScriptValue) },
+    { &quot;attrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithGetterException) },
+    { &quot;attrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsAttrWithSetterException) },
+    { &quot;stringAttrWithGetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithGetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithGetterException) },
+    { &quot;stringAttrWithSetterException&quot;, DontDelete, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsStringAttrWithSetterException), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(setJSTestTypedefsStringAttrWithSetterException) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsTable = { 18, 15, JSTestTypedefsTableValues, 0 };
</del><ins>+static const HashTable JSTestTypedefsTable = { 18, 15, true, JSTestTypedefsTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsConstructorTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;TestSubObj&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructorTestSubObj), (intptr_t)0 },
</del><ins>+    { &quot;TestSubObj&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsTestTypedefsConstructorTestSubObj), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsConstructorTable = { 1, 0, JSTestTypedefsConstructorTableValues, 0 };
</del><ins>+static const HashTable JSTestTypedefsConstructorTable = { 1, 0, true, JSTestTypedefsConstructorTableValues, 0 };
</ins><span class="cx"> EncodedJSValue JSC_HOST_CALL JSTestTypedefsConstructor::constructJSTestTypedefs(ExecState* exec)
</span><span class="cx"> {
</span><span class="cx">     JSTestTypedefsConstructor* castedThis = jsCast&lt;JSTestTypedefsConstructor*&gt;(exec-&gt;callee());
</span><span class="lines">@@ -112,20 +112,20 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSTestTypedefsPrototypeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;func&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFunc), (intptr_t)0 },
-    { &quot;setShadow&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionSetShadow), (intptr_t)3 },
-    { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithSequenceArg), (intptr_t)1 },
-    { &quot;nullableArrayArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionNullableArrayArg), (intptr_t)1 },
-    { &quot;funcWithClamp&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFuncWithClamp), (intptr_t)1 },
-    { &quot;immutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionImmutablePointFunction), (intptr_t)0 },
-    { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction), (intptr_t)1 },
-    { &quot;stringArrayFunction2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction2), (intptr_t)1 },
-    { &quot;callWithSequenceThatRequiresInclude&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude), (intptr_t)1 },
-    { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t)0 },
</del><ins>+    { &quot;func&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFunc), (intptr_t) (0) },
+    { &quot;setShadow&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionSetShadow), (intptr_t) (3) },
+    { &quot;methodWithSequenceArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithSequenceArg), (intptr_t) (1) },
+    { &quot;nullableArrayArg&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionNullableArrayArg), (intptr_t) (1) },
+    { &quot;funcWithClamp&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionFuncWithClamp), (intptr_t) (1) },
+    { &quot;immutablePointFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionImmutablePointFunction), (intptr_t) (0) },
+    { &quot;stringArrayFunction&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction), (intptr_t) (1) },
+    { &quot;stringArrayFunction2&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionStringArrayFunction2), (intptr_t) (1) },
+    { &quot;callWithSequenceThatRequiresInclude&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude), (intptr_t) (1) },
+    { &quot;methodWithException&quot;, JSC::Function, NoIntrinsic, (intptr_t)static_cast&lt;NativeFunction&gt;(jsTestTypedefsPrototypeFunctionMethodWithException), (intptr_t) (0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSTestTypedefsPrototypeTable = { 33, 31, JSTestTypedefsPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSTestTypedefsPrototypeTable = { 33, 31, false, JSTestTypedefsPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSTestTypedefsPrototype::s_info = { &quot;TestTypedefsPrototype&quot;, &amp;Base::s_info, &amp;JSTestTypedefsPrototypeTable, 0, CREATE_METHOD_TABLE(JSTestTypedefsPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSTestTypedefsPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span><span class="lines">@@ -276,15 +276,8 @@
</span><span class="cx">     return JSValue::encode(JSTestTypedefs::getConstructor(exec-&gt;vm(), domObject-&gt;globalObject()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSTestTypedefs::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&amp; slot)
</del><ins>+void setJSTestTypedefsUnsignedLongLongAttr(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><del>-    JSTestTypedefs* thisObject = jsCast&lt;JSTestTypedefs*&gt;(cell);
-    ASSERT_GC_OBJECT_INHERITS(thisObject, info());
-    lookupPut&lt;JSTestTypedefs, Base&gt;(exec, propertyName, value, JSTestTypedefsTable, thisObject, slot);
-}
-
-void setJSTestTypedefsUnsignedLongLongAttr(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
-{
</del><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="cx">     JSTestTypedefs* castedThis = jsDynamicCast&lt;JSTestTypedefs*&gt;(JSValue::decode(thisValue));
</span><span class="lines">@@ -300,7 +293,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestTypedefsImmutableSerializedScriptValue(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestTypedefsImmutableSerializedScriptValue(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -317,7 +310,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestTypedefsAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestTypedefsAttrWithGetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -334,7 +327,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestTypedefsAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestTypedefsAttrWithSetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -353,7 +346,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestTypedefsStringAttrWithGetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestTypedefsStringAttrWithGetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span><span class="lines">@@ -370,7 +363,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><del>-void setJSTestTypedefsStringAttrWithSetterException(ExecState* exec, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</del><ins>+void setJSTestTypedefsStringAttrWithSetterException(ExecState* exec, JSObject* /* baseObject */, EncodedJSValue thisValue, EncodedJSValue encodedValue)
</ins><span class="cx"> {
</span><span class="cx">     JSValue value = JSValue::decode(encodedValue);
</span><span class="cx">     UNUSED_PARAM(exec);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSTestTypedefsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSTestTypedefs.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx"> 
</span><span class="cx">     static JSC::JSObject* createPrototype(JSC::VM&amp;, JSC::JSGlobalObject*);
</span><span class="cx">     static bool getOwnPropertySlot(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;);
</span><del>-    static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&amp;);
</del><span class="cx">     static void destroy(JSC::JSCell*);
</span><span class="cx">     ~JSTestTypedefs();
</span><span class="cx">     DECLARE_INFO;
</span><span class="lines">@@ -156,18 +155,18 @@
</span><span class="cx"> // Attributes
</span><span class="cx"> 
</span><span class="cx"> JSC::EncodedJSValue jsTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsUnsignedLongLongAttr(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsImmutableSerializedScriptValue(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsConstructorTestSubObj(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> JSC::EncodedJSValue jsTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsStringAttrWithGetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><del>-void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</del><ins>+void setJSTestTypedefsStringAttrWithSetterException(JSC::ExecState*, JSC::JSObject*, JSC::EncodedJSValue, JSC::EncodedJSValue);
</ins><span class="cx"> JSC::EncodedJSValue jsTestTypedefsConstructor(JSC::ExecState*, JSC::EncodedJSValue, JSC::EncodedJSValue, JSC::PropertyName);
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSattributecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSattribute.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,12 +34,12 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSattributeTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeReadonly), (intptr_t)0 },
-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeConstructor), (intptr_t)0 },
</del><ins>+    { &quot;readonly&quot;, DontDelete | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeReadonly), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsattributeConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributeTable = { 4, 3, JSattributeTableValues, 0 };
</del><ins>+static const HashTable JSattributeTable = { 4, 3, true, JSattributeTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSattributeConstructorTableValues[] =
</span><span class="lines">@@ -47,7 +47,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributeConstructorTable = { 1, 0, JSattributeConstructorTableValues, 0 };
</del><ins>+static const HashTable JSattributeConstructorTable = { 1, 0, false, JSattributeConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSattributeConstructor::s_info = { &quot;attributeConstructor&quot;, &amp;Base::s_info, &amp;JSattributeConstructorTable, 0, CREATE_METHOD_TABLE(JSattributeConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSattributeConstructor::JSattributeConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSattributePrototypeTable = { 1, 0, JSattributePrototypeTableValues, 0 };
</del><ins>+static const HashTable JSattributePrototypeTable = { 1, 0, false, JSattributePrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSattributePrototype::s_info = { &quot;attributePrototype&quot;, &amp;Base::s_info, &amp;JSattributePrototypeTable, 0, CREATE_METHOD_TABLE(JSattributePrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSattributePrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorebindingsscriptstestJSJSreadonlycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/bindings/scripts/test/JS/JSreadonly.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,11 +32,11 @@
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSreadonlyTableValues[] =
</span><span class="cx"> {
</span><del>-    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsreadonlyConstructor), (intptr_t)0 },
</del><ins>+    { &quot;constructor&quot;, DontEnum | ReadOnly, NoIntrinsic, (intptr_t)static_cast&lt;PropertySlot::GetValueFunc&gt;(jsreadonlyConstructor), (intptr_t) static_cast&lt;PutPropertySlot::PutValueFunc&gt;(0) },
</ins><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyTable = { 2, 1, JSreadonlyTableValues, 0 };
</del><ins>+static const HashTable JSreadonlyTable = { 2, 1, true, JSreadonlyTableValues, 0 };
</ins><span class="cx"> /* Hash table for constructor */
</span><span class="cx"> 
</span><span class="cx"> static const HashTableValue JSreadonlyConstructorTableValues[] =
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyConstructorTable = { 1, 0, JSreadonlyConstructorTableValues, 0 };
</del><ins>+static const HashTable JSreadonlyConstructorTable = { 1, 0, false, JSreadonlyConstructorTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSreadonlyConstructor::s_info = { &quot;readonlyConstructor&quot;, &amp;Base::s_info, &amp;JSreadonlyConstructorTable, 0, CREATE_METHOD_TABLE(JSreadonlyConstructor) };
</span><span class="cx"> 
</span><span class="cx"> JSreadonlyConstructor::JSreadonlyConstructor(Structure* structure, JSDOMGlobalObject* globalObject)
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     { 0, 0, NoIntrinsic, 0, 0 }
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static const HashTable JSreadonlyPrototypeTable = { 1, 0, JSreadonlyPrototypeTableValues, 0 };
</del><ins>+static const HashTable JSreadonlyPrototypeTable = { 1, 0, false, JSreadonlyPrototypeTableValues, 0 };
</ins><span class="cx"> const ClassInfo JSreadonlyPrototype::s_info = { &quot;readonlyPrototype&quot;, &amp;Base::s_info, &amp;JSreadonlyPrototypeTable, 0, CREATE_METHOD_TABLE(JSreadonlyPrototype) };
</span><span class="cx"> 
</span><span class="cx"> JSObject* JSreadonlyPrototype::self(VM&amp; vm, JSGlobalObject* globalObject)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSComputedStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSComputedStyleDeclaration.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -377,9 +377,6 @@
</span><span class="cx">     CSSPropertyWebkitRegionBreakInside,
</span><span class="cx">     CSSPropertyWebkitRegionFragment,
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    CSSPropertyWebkitAppRegion,
-#endif
</del><span class="cx"> #if ENABLE(CSS_EXCLUSIONS)
</span><span class="cx">     CSSPropertyWebkitWrapFlow,
</span><span class="cx">     CSSPropertyWebkitWrapThrough,
</span><span class="lines">@@ -2476,10 +2473,6 @@
</span><span class="cx">             return cssValuePool().createValue(firstRegion.release());
</span><span class="cx">         }
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-        case CSSPropertyWebkitAppRegion:
-            return cssValuePool().createIdentifierValue(style-&gt;getDraggableRegionMode() == DraggableRegionDrag ? CSSValueDrag : CSSValueNoDrag);
-#endif
</del><span class="cx">         case CSSPropertyWebkitAnimationDelay:
</span><span class="cx">             return getDelayValue(style-&gt;animations());
</span><span class="cx">         case CSSPropertyWebkitAnimationDirection: {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSFontFacecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSFontFace.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSFontFace.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSFontFace.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -67,10 +67,10 @@
</span><span class="cx">     m_segmentedFontFaces.remove(segmentedFontFace);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CSSFontFace::addSource(PassOwnPtr&lt;CSSFontFaceSource&gt; source)
</del><ins>+void CSSFontFace::addSource(std::unique_ptr&lt;CSSFontFaceSource&gt; source)
</ins><span class="cx"> {
</span><span class="cx">     source-&gt;setFontFace(this);
</span><del>-    m_sources.append(source);
</del><ins>+    m_sources.append(std::move(source));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void CSSFontFace::fontLoaded(CSSFontFaceSource* source)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSFontFaceh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSFontFace.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSFontFace.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSFontFace.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;CSSFontFaceRule.h&quot;
</span><span class="cx"> #include &quot;CSSFontFaceSource.h&quot;
</span><span class="cx"> #include &quot;FontTraitsMask.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="lines">@@ -61,7 +62,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool isLocalFallback() const { return m_isLocalFallback; }
</span><span class="cx"> 
</span><del>-    void addSource(PassOwnPtr&lt;CSSFontFaceSource&gt;);
</del><ins>+    void addSource(std::unique_ptr&lt;CSSFontFaceSource&gt;);
</ins><span class="cx"> 
</span><span class="cx">     void fontLoaded(CSSFontFaceSource*);
</span><span class="cx"> 
</span><span class="lines">@@ -107,7 +108,7 @@
</span><span class="cx">     FontTraitsMask m_traitsMask;
</span><span class="cx">     Vector&lt;UnicodeRange&gt; m_ranges;
</span><span class="cx">     HashSet&lt;CSSSegmentedFontFace*&gt; m_segmentedFontFaces;
</span><del>-    Vector&lt;OwnPtr&lt;CSSFontFaceSource&gt;&gt; m_sources;
</del><ins>+    Vector&lt;std::unique_ptr&lt;CSSFontFaceSource&gt;&gt; m_sources;
</ins><span class="cx">     CSSFontFaceSource* m_activeSource;
</span><span class="cx">     bool m_isLocalFallback;
</span><span class="cx"> #if ENABLE(FONT_LOAD_EVENTS)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSFontSelectorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSFontSelector.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSFontSelector.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSFontSelector.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -206,7 +206,7 @@
</span><span class="cx">     for (int i = 0; i &lt; srcLength; i++) {
</span><span class="cx">         // An item in the list either specifies a string (local font name) or a URL (remote font to download).
</span><span class="cx">         CSSFontFaceSrcValue* item = toCSSFontFaceSrcValue(srcList-&gt;itemWithoutBoundsCheck(i));
</span><del>-        OwnPtr&lt;CSSFontFaceSource&gt; source;
</del><ins>+        std::unique_ptr&lt;CSSFontFaceSource&gt; source;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">         foundSVGFont = item-&gt;isSVGFontFaceSrc() || item-&gt;svgFontFaceElement();
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx">             if (allowDownloading &amp;&amp; item-&gt;isSupportedFormat() &amp;&amp; m_document) {
</span><span class="cx">                 CachedFont* cachedFont = item-&gt;cachedFont(m_document);
</span><span class="cx">                 if (cachedFont) {
</span><del>-                    source = adoptPtr(new CSSFontFaceSource(item-&gt;resource(), cachedFont));
</del><ins>+                    source = std::make_unique&lt;CSSFontFaceSource&gt;(item-&gt;resource(), cachedFont);
</ins><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">                     if (foundSVGFont)
</span><span class="cx">                         source-&gt;setHasExternalSVGFont(true);
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx">                 }
</span><span class="cx">             }
</span><span class="cx">         } else {
</span><del>-            source = adoptPtr(new CSSFontFaceSource(item-&gt;resource()));
</del><ins>+            source = std::make_unique&lt;CSSFontFaceSource&gt;(item-&gt;resource());
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         if (!fontFace) {
</span><span class="lines">@@ -242,7 +242,7 @@
</span><span class="cx"> #if ENABLE(SVG_FONTS)
</span><span class="cx">             source-&gt;setSVGFontFaceElement(item-&gt;svgFontFaceElement());
</span><span class="cx"> #endif
</span><del>-            fontFace-&gt;addSource(source.release());
</del><ins>+            fontFace-&gt;addSource(std::move(source));
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -296,25 +296,25 @@
</span><span class="cx">         if (familyName.isEmpty())
</span><span class="cx">             continue;
</span><span class="cx"> 
</span><del>-        OwnPtr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;&amp; familyFontFaces = m_fontFaces.add(familyName, nullptr).iterator-&gt;value;
</del><ins>+        std::unique_ptr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;&amp; familyFontFaces = m_fontFaces.add(familyName, nullptr).iterator-&gt;value;
</ins><span class="cx">         if (!familyFontFaces) {
</span><del>-            familyFontFaces = adoptPtr(new Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;);
</del><ins>+            familyFontFaces = std::make_unique&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;();
</ins><span class="cx"> 
</span><span class="cx">             ASSERT(!m_locallyInstalledFontFaces.contains(familyName));
</span><span class="cx"> 
</span><span class="cx">             Vector&lt;unsigned&gt; locallyInstalledFontsTraitsMasks;
</span><span class="cx">             fontCache()-&gt;getTraitsInFamily(familyName, locallyInstalledFontsTraitsMasks);
</span><span class="cx">             if (unsigned numLocallyInstalledFaces = locallyInstalledFontsTraitsMasks.size()) {
</span><del>-                OwnPtr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt; familyLocallyInstalledFaces = adoptPtr(new Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;);
</del><ins>+                auto familyLocallyInstalledFaces = std::make_unique&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;();
</ins><span class="cx"> 
</span><span class="cx">                 for (unsigned i = 0; i &lt; numLocallyInstalledFaces; ++i) {
</span><span class="cx">                     RefPtr&lt;CSSFontFace&gt; locallyInstalledFontFace = CSSFontFace::create(static_cast&lt;FontTraitsMask&gt;(locallyInstalledFontsTraitsMasks[i]), 0, true);
</span><del>-                    locallyInstalledFontFace-&gt;addSource(adoptPtr(new CSSFontFaceSource(familyName)));
</del><ins>+                    locallyInstalledFontFace-&gt;addSource(std::make_unique&lt;CSSFontFaceSource&gt;(familyName));
</ins><span class="cx">                     ASSERT(locallyInstalledFontFace-&gt;isValid());
</span><span class="cx">                     familyLocallyInstalledFaces-&gt;append(locallyInstalledFontFace);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><del>-                m_locallyInstalledFontFaces.set(familyName, familyLocallyInstalledFaces.release());
</del><ins>+                m_locallyInstalledFontFaces.set(familyName, std::move(familyLocallyInstalledFaces));
</ins><span class="cx">             }
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -506,9 +506,9 @@
</span><span class="cx">     if (!familyFontFaces || familyFontFaces-&gt;isEmpty())
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;&gt;&amp; segmentedFontFaceCache = m_fonts.add(family, nullptr).iterator-&gt;value;
</del><ins>+    std::unique_ptr&lt;HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;&gt;&amp; segmentedFontFaceCache = m_fonts.add(family, nullptr).iterator-&gt;value;
</ins><span class="cx">     if (!segmentedFontFaceCache)
</span><del>-        segmentedFontFaceCache = adoptPtr(new HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;);
</del><ins>+        segmentedFontFaceCache = std::make_unique&lt;HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;&gt;();
</ins><span class="cx"> 
</span><span class="cx">     FontTraitsMask traitsMask = fontDescription.traitsMask();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSFontSelectorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSFontSelector.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSFontSelector.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSFontSelector.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #include &quot;FontSelector.h&quot;
</span><span class="cx"> #include &quot;SimpleFontData.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="lines">@@ -88,9 +89,9 @@
</span><span class="cx">     void beginLoadTimerFired(Timer&lt;CSSFontSelector&gt;&amp;);
</span><span class="cx"> 
</span><span class="cx">     Document* m_document;
</span><del>-    HashMap&lt;String, OwnPtr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_fontFaces;
-    HashMap&lt;String, OwnPtr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_locallyInstalledFontFaces;
-    HashMap&lt;String, OwnPtr&lt;HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_fonts;
</del><ins>+    HashMap&lt;String, std::unique_ptr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_fontFaces;
+    HashMap&lt;String, std::unique_ptr&lt;Vector&lt;RefPtr&lt;CSSFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_locallyInstalledFontFaces;
+    HashMap&lt;String, std::unique_ptr&lt;HashMap&lt;unsigned, RefPtr&lt;CSSSegmentedFontFace&gt;&gt;&gt;, CaseFoldingHash&gt; m_fonts;
</ins><span class="cx">     HashSet&lt;FontSelectorClient*&gt; m_clients;
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;CachedResourceHandle&lt;CachedFont&gt;&gt; m_fontsToBeginLoading;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSFunctionValuecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSFunctionValue.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSFunctionValue.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSFunctionValue.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSParserValues.h&quot;
</span><span class="cx"> #include &quot;CSSValueList.h&quot;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSGroupingRulecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSGroupingRule.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSGroupingRule.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSGroupingRule.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> CSSRuleList* CSSGroupingRule::cssRules() const
</span><span class="cx"> {
</span><span class="cx">     if (!m_ruleListCSSOMWrapper)
</span><del>-        m_ruleListCSSOMWrapper = adoptPtr(new LiveCSSRuleList&lt;CSSGroupingRule&gt;(const_cast&lt;CSSGroupingRule*&gt;(this)));
</del><ins>+        m_ruleListCSSOMWrapper = std::make_unique&lt;LiveCSSRuleList&lt;CSSGroupingRule&gt;&gt;(const_cast&lt;CSSGroupingRule*&gt;(this));
</ins><span class="cx">     return m_ruleListCSSOMWrapper.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSGroupingRuleh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSGroupingRule.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSGroupingRule.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSGroupingRule.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSRule.h&quot;
</span><span class="cx"> #include &quot;StyleRule.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -53,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;StyleRuleGroup&gt; m_groupRule;
</span><span class="cx">     mutable Vector&lt;RefPtr&lt;CSSRule&gt;&gt; m_childRuleCSSOMWrappers;
</span><del>-    mutable OwnPtr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</del><ins>+    mutable std::unique_ptr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSParsercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSParser.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSParser.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSParser.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2748,15 +2748,6 @@
</span><span class="cx">             validPrimitive = true;
</span><span class="cx">         break;
</span><span class="cx"> #endif
</span><del>-    // End Apple-specific properties
-
-#if ENABLE(DRAGGABLE_REGION)
-    case CSSPropertyWebkitAppRegion:
-        if (id &gt;= CSSValueDrag &amp;&amp; id &lt;= CSSValueNoDrag)
-            validPrimitive = true;
-        break;
-#endif
-
</del><span class="cx"> #if ENABLE(TOUCH_EVENTS)
</span><span class="cx">     case CSSPropertyWebkitTapHighlightColor:
</span><span class="cx">         if ((id &gt;= CSSValueAqua &amp;&amp; id &lt;= CSSValueWindowtext) || id == CSSValueMenu
</span><span class="lines">@@ -2769,6 +2760,7 @@
</span><span class="cx">         }
</span><span class="cx">         break;
</span><span class="cx"> #endif
</span><ins>+    // End Apple-specific properties
</ins><span class="cx"> 
</span><span class="cx">         /* shorthand properties */
</span><span class="cx">     case CSSPropertyBackground: {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSPropertyNamesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSPropertyNames.in (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSPropertyNames.in        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSPropertyNames.in        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -452,9 +452,6 @@
</span><span class="cx"> #if defined(ENABLE_DASHBOARD_SUPPORT) &amp;&amp; ENABLE_DASHBOARD_SUPPORT
</span><span class="cx"> -webkit-dashboard-region
</span><span class="cx"> #endif
</span><del>-#if defined(ENABLE_DRAGGABLE_REGION) &amp;&amp; ENABLE_DRAGGABLE_REGION
--webkit-app-region
-#endif
</del><span class="cx"> #if defined(ENABLE_ACCELERATED_OVERFLOW_SCROLLING) &amp;&amp; ENABLE_ACCELERATED_OVERFLOW_SCROLLING
</span><span class="cx"> -webkit-overflow-scrolling [Inherited]
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSStyleSheet.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSStyleSheet.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSStyleSheet.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -360,7 +360,7 @@
</span><span class="cx">     if (!canAccessRules())
</span><span class="cx">         return 0;
</span><span class="cx">     if (!m_ruleListCSSOMWrapper)
</span><del>-        m_ruleListCSSOMWrapper = adoptPtr(new StyleSheetCSSRuleList(this));
</del><ins>+        m_ruleListCSSOMWrapper = std::make_unique&lt;StyleSheetCSSRuleList&gt;(this);
</ins><span class="cx">     return m_ruleListCSSOMWrapper.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSStyleSheeth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSStyleSheet.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSStyleSheet.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSStyleSheet.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;CSSParserMode.h&quot;
</span><span class="cx"> #include &quot;CSSRule.h&quot;
</span><span class="cx"> #include &quot;StyleSheet.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/text/AtomicStringHash.h&gt;
</span><span class="lines">@@ -135,7 +136,7 @@
</span><span class="cx"> 
</span><span class="cx">     mutable RefPtr&lt;MediaList&gt; m_mediaCSSOMWrapper;
</span><span class="cx">     mutable Vector&lt;RefPtr&lt;CSSRule&gt;&gt; m_childRuleCSSOMWrappers;
</span><del>-    mutable OwnPtr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</del><ins>+    mutable std::unique_ptr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssCSSValueKeywordsin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/CSSValueKeywords.in (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/CSSValueKeywords.in        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/CSSValueKeywords.in        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1042,12 +1042,6 @@
</span><span class="cx"> -webkit-paged-x
</span><span class="cx"> -webkit-paged-y
</span><span class="cx"> 
</span><del>-// -webkit-app-region
-#if defined(ENABLE_DRAGGABLE_REGION) &amp;&amp; ENABLE_DRAGGABLE_REGION
-drag
-no-drag
-#endif
-
</del><span class="cx"> // -webkit-grid-{column-start|column-end|row-start|row-end}
</span><span class="cx"> span
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssElementRuleCollectorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/ElementRuleCollector.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/ElementRuleCollector.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/ElementRuleCollector.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -90,7 +90,7 @@
</span><span class="cx"> inline void ElementRuleCollector::addMatchedRule(const RuleData* rule)
</span><span class="cx"> {
</span><span class="cx">     if (!m_matchedRules)
</span><del>-        m_matchedRules = adoptPtr(new Vector&lt;const RuleData*, 32&gt;);
</del><ins>+        m_matchedRules = std::make_unique&lt;Vector&lt;const RuleData*, 32&gt;&gt;();
</ins><span class="cx">     m_matchedRules-&gt;append(rule);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssElementRuleCollectorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/ElementRuleCollector.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/ElementRuleCollector.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/ElementRuleCollector.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> #include &quot;MediaQueryEvaluator.h&quot;
</span><span class="cx"> #include &quot;SelectorChecker.h&quot;
</span><span class="cx"> #include &quot;StyleResolver.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -99,7 +100,7 @@
</span><span class="cx">     SelectorChecker::Mode m_mode;
</span><span class="cx">     bool m_canUseFastReject;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;Vector&lt;const RuleData*, 32&gt;&gt; m_matchedRules;
</del><ins>+    std::unique_ptr&lt;Vector&lt;const RuleData*, 32&gt;&gt; m_matchedRules;
</ins><span class="cx"> 
</span><span class="cx">     // Output.
</span><span class="cx">     Vector&lt;RefPtr&lt;StyleRuleBase&gt;&gt; m_matchedRuleList;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssMediaQueryMatchercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     return m_document-&gt;frame()-&gt;view()-&gt;mediaType();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassOwnPtr&lt;MediaQueryEvaluator&gt; MediaQueryMatcher::prepareEvaluator() const
</del><ins>+std::unique_ptr&lt;MediaQueryEvaluator&gt; MediaQueryMatcher::prepareEvaluator() const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_document || !m_document-&gt;frame())
</span><span class="cx">         return nullptr;
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;RenderStyle&gt; rootStyle = m_document-&gt;ensureStyleResolver().styleForElement(documentElement, 0 /*defaultParent*/, DisallowStyleSharing, MatchOnlyUserAgentRules);
</span><span class="cx"> 
</span><del>-    return adoptPtr(new MediaQueryEvaluator(mediaType(), m_document-&gt;frame(), rootStyle.get()));
</del><ins>+    return std::make_unique&lt;MediaQueryEvaluator&gt;(mediaType(), m_document-&gt;frame(), rootStyle.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool MediaQueryMatcher::evaluate(const MediaQuerySet* media)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">     if (!media)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MediaQueryEvaluator&gt; evaluator(prepareEvaluator());
</del><ins>+    std::unique_ptr&lt;MediaQueryEvaluator&gt; evaluator = prepareEvaluator();
</ins><span class="cx">     return evaluator &amp;&amp; evaluator-&gt;eval(media);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -121,7 +121,7 @@
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    m_listeners.append(adoptPtr(new Listener(listener, query)));
</del><ins>+    m_listeners.append(std::make_unique&lt;Listener&gt;(listener, query));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void MediaQueryMatcher::removeListener(MediaQueryListListener* listener, MediaQueryList* query)
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx">     ASSERT(m_document);
</span><span class="cx"> 
</span><span class="cx">     ++m_evaluationRound;
</span><del>-    OwnPtr&lt;MediaQueryEvaluator&gt; evaluator = prepareEvaluator();
</del><ins>+    std::unique_ptr&lt;MediaQueryEvaluator&gt; evaluator = prepareEvaluator();
</ins><span class="cx">     if (!evaluator)
</span><span class="cx">         return;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssMediaQueryMatcherh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/MediaQueryMatcher.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -20,6 +20,7 @@
</span><span class="cx"> #ifndef MediaQueryMatcher_h
</span><span class="cx"> #define MediaQueryMatcher_h
</span><span class="cx"> 
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="lines">@@ -69,11 +70,11 @@
</span><span class="cx">     };
</span><span class="cx"> 
</span><span class="cx">     MediaQueryMatcher(Document*);
</span><del>-    PassOwnPtr&lt;MediaQueryEvaluator&gt; prepareEvaluator() const;
</del><ins>+    std::unique_ptr&lt;MediaQueryEvaluator&gt; prepareEvaluator() const;
</ins><span class="cx">     String mediaType() const;
</span><span class="cx"> 
</span><span class="cx">     Document* m_document;
</span><del>-    Vector&lt;OwnPtr&lt;Listener&gt;&gt; m_listeners;
</del><ins>+    Vector&lt;std::unique_ptr&lt;Listener&gt;&gt; m_listeners;
</ins><span class="cx"> 
</span><span class="cx">     // This value is incremented at style selector changes.
</span><span class="cx">     // It is used to avoid evaluating queries more then once and to make sure
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssPropertySetCSSStyleDeclarationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -274,7 +274,7 @@
</span><span class="cx">     // The map is here to maintain the object identity of the CSSValues over multiple invocations.
</span><span class="cx">     // FIXME: It is likely that the identity is not important for web compatibility and this code should be removed.
</span><span class="cx">     if (!m_cssomCSSValueClones)
</span><del>-        m_cssomCSSValueClones = adoptPtr(new HashMap&lt;CSSValue*, RefPtr&lt;CSSValue&gt;&gt;);
</del><ins>+        m_cssomCSSValueClones = std::make_unique&lt;HashMap&lt;CSSValue*, RefPtr&lt;CSSValue&gt;&gt;&gt;();
</ins><span class="cx">     
</span><span class="cx">     RefPtr&lt;CSSValue&gt;&amp; clonedValue = m_cssomCSSValueClones-&gt;add(internalValue, RefPtr&lt;CSSValue&gt;()).iterator-&gt;value;
</span><span class="cx">     if (!clonedValue)
</span><span class="lines">@@ -327,7 +327,7 @@
</span><span class="cx"> void StyleRuleCSSStyleDeclaration::didMutate(MutationType type)
</span><span class="cx"> {
</span><span class="cx">     if (type == PropertyChanged)
</span><del>-        m_cssomCSSValueClones.clear();
</del><ins>+        m_cssomCSSValueClones = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     // Style sheet mutation needs to be signaled even if the change failed. willMutate*/didMutate* must pair.
</span><span class="cx">     if (m_parentRule &amp;&amp; m_parentRule-&gt;parentStyleSheet())
</span><span class="lines">@@ -351,7 +351,7 @@
</span><span class="cx">     if (type == NoChanges)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_cssomCSSValueClones.clear();
</del><ins>+    m_cssomCSSValueClones = nullptr;
</ins><span class="cx"> 
</span><span class="cx">     if (!m_parentElement)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssPropertySetCSSStyleDeclarationh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/PropertySetCSSStyleDeclaration.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,8 +27,8 @@
</span><span class="cx"> #define PropertySetCSSStyleDeclaration_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSStyleDeclaration.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><del>-#include &lt;wtf/OwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">     virtual void didMutate(MutationType) { }
</span><span class="cx"> 
</span><span class="cx">     MutableStyleProperties* m_propertySet;
</span><del>-    OwnPtr&lt;HashMap&lt;CSSValue*, RefPtr&lt;CSSValue&gt;&gt;&gt; m_cssomCSSValueClones;
</del><ins>+    std::unique_ptr&lt;HashMap&lt;CSSValue*, RefPtr&lt;CSSValue&gt;&gt;&gt; m_cssomCSSValueClones;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> class StyleRuleCSSStyleDeclaration : public PropertySetCSSStyleDeclaration
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssSelectorFiltercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/SelectorFilter.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/SelectorFilter.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/SelectorFilter.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">     m_parentStack.removeLast();
</span><span class="cx">     if (m_parentStack.isEmpty()) {
</span><span class="cx">         ASSERT(m_ancestorIdentifierFilter-&gt;likelyEmpty());
</span><del>-        m_ancestorIdentifierFilter.clear();
</del><ins>+        m_ancestorIdentifierFilter = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     ASSERT(m_parentStack.isEmpty() == !m_ancestorIdentifierFilter);
</span><span class="cx">     // Kill whatever we stored before.
</span><span class="cx">     m_parentStack.shrink(0);
</span><del>-    m_ancestorIdentifierFilter = adoptPtr(new BloomFilter&lt;bloomFilterKeyBits&gt;);
</del><ins>+    m_ancestorIdentifierFilter = std::make_unique&lt;BloomFilter&lt;bloomFilterKeyBits&gt;&gt;();
</ins><span class="cx">     // Fast version if parent is a root element:
</span><span class="cx">     if (!parent-&gt;parentNode() &amp;&amp; !parent-&gt;isShadowRoot()) {
</span><span class="cx">         pushParentStackFrame(parent);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssSelectorFilterh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/SelectorFilter.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/SelectorFilter.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/SelectorFilter.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> #define SelectorFilter_h
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Element.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/BloomFilter.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -63,7 +64,7 @@
</span><span class="cx"> 
</span><span class="cx">     // With 100 unique strings in the filter, 2^12 slot table has false positive rate of ~0.2%.
</span><span class="cx">     static const unsigned bloomFilterKeyBits = 12;
</span><del>-    OwnPtr&lt;BloomFilter&lt;bloomFilterKeyBits&gt;&gt; m_ancestorIdentifierFilter;
</del><ins>+    std::unique_ptr&lt;BloomFilter&lt;bloomFilterKeyBits&gt;&gt; m_ancestorIdentifierFilter;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> template &lt;unsigned maximumIdentifierCount&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStyleInvalidationAnalysish"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleInvalidationAnalysis.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleInvalidationAnalysis.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/StyleInvalidationAnalysis.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define StyleInvalidationAnalysis_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><del>-#include &lt;wtf/PassOwnPtr.h&gt;
</del><span class="cx"> #include &lt;wtf/text/AtomicStringImpl.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStylePropertiescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleProperties.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleProperties.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/StyleProperties.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1212,7 +1212,7 @@
</span><span class="cx">         ASSERT(!m_cssomWrapper-&gt;parentElement());
</span><span class="cx">         return m_cssomWrapper.get();
</span><span class="cx">     }
</span><del>-    m_cssomWrapper = adoptPtr(new PropertySetCSSStyleDeclaration(this));
</del><ins>+    m_cssomWrapper = std::make_unique&lt;PropertySetCSSStyleDeclaration&gt;(this);
</ins><span class="cx">     return m_cssomWrapper.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1222,7 +1222,7 @@
</span><span class="cx">         ASSERT(m_cssomWrapper-&gt;parentElement() == parentElement);
</span><span class="cx">         return m_cssomWrapper.get();
</span><span class="cx">     }
</span><del>-    m_cssomWrapper = adoptPtr(new InlineCSSStyleDeclaration(this, parentElement));
</del><ins>+    m_cssomWrapper = std::make_unique&lt;InlineCSSStyleDeclaration&gt;(this, parentElement);
</ins><span class="cx">     return m_cssomWrapper.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStylePropertiesh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleProperties.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleProperties.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/StyleProperties.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;CSSProperty.h&quot;
</span><span class="cx"> #include &quot;CSSPropertyNames.h&quot;
</span><span class="cx"> #include &quot;CSSValueKeywords.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/ListHashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -230,7 +231,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool removeShorthandProperty(CSSPropertyID);
</span><span class="cx">     CSSProperty* findCSSPropertyWithID(CSSPropertyID);
</span><del>-    OwnPtr&lt;PropertySetCSSStyleDeclaration&gt; m_cssomWrapper;
</del><ins>+    std::unique_ptr&lt;PropertySetCSSStyleDeclaration&gt; m_cssomWrapper;
</ins><span class="cx"> 
</span><span class="cx">     friend class StyleProperties;
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStyleResolvercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleResolver.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleResolver.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/StyleResolver.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -277,15 +277,15 @@
</span><span class="cx">     // is always from the document that owns the style selector
</span><span class="cx">     FrameView* view = m_document.view();
</span><span class="cx">     if (view)
</span><del>-        m_medium = adoptPtr(new MediaQueryEvaluator(view-&gt;mediaType()));
</del><ins>+        m_medium = std::make_unique&lt;MediaQueryEvaluator&gt;(view-&gt;mediaType());
</ins><span class="cx">     else
</span><del>-        m_medium = adoptPtr(new MediaQueryEvaluator(&quot;all&quot;));
</del><ins>+        m_medium = std::make_unique&lt;MediaQueryEvaluator&gt;(&quot;all&quot;);
</ins><span class="cx"> 
</span><span class="cx">     if (root)
</span><span class="cx">         m_rootDefaultStyle = styleForElement(root, 0, DisallowStyleSharing, MatchOnlyUserAgentRules);
</span><span class="cx"> 
</span><span class="cx">     if (m_rootDefaultStyle &amp;&amp; view)
</span><del>-        m_medium = adoptPtr(new MediaQueryEvaluator(view-&gt;mediaType(), &amp;view-&gt;frame(), m_rootDefaultStyle.get()));
</del><ins>+        m_medium = std::make_unique&lt;MediaQueryEvaluator&gt;(view-&gt;mediaType(), &amp;view-&gt;frame(), m_rootDefaultStyle.get());
</ins><span class="cx"> 
</span><span class="cx">     m_ruleSets.resetAuthorStyle();
</span><span class="cx"> 
</span><span class="lines">@@ -2507,15 +2507,6 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    case CSSPropertyWebkitAppRegion: {
-        if (!primitiveValue || !primitiveValue-&gt;getValueID())
-            return;
-        state.style()-&gt;setDraggableRegionMode(primitiveValue-&gt;getValueID() == CSSValueDrag ? DraggableRegionDrag : DraggableRegionNoDrag);
-        state.document().setHasAnnotatedRegions(true);
-        return;
-    }
-#endif
</del><span class="cx">     case CSSPropertyWebkitTextStrokeWidth: {
</span><span class="cx">         HANDLE_INHERIT_AND_INITIAL(textStrokeWidth, TextStrokeWidth)
</span><span class="cx">         float width = 0;
</span><span class="lines">@@ -3332,7 +3323,7 @@
</span><span class="cx"> 
</span><span class="cx"> void StyleResolver::addViewportDependentMediaQueryResult(const MediaQueryExp* expr, bool result)
</span><span class="cx"> {
</span><del>-    m_viewportDependentMediaQueryResults.append(adoptPtr(new MediaQueryResult(*expr, result)));
</del><ins>+    m_viewportDependentMediaQueryResults.append(std::make_unique&lt;MediaQueryResult&gt;(*expr, result));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool StyleResolver::affectedByViewportChange() const
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssStyleResolverh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/StyleResolver.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/StyleResolver.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/StyleResolver.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include &quot;StyleInheritedData.h&quot;
</span><span class="cx"> #include &quot;StyleScopeResolver.h&quot;
</span><span class="cx"> #include &quot;ViewportStyleResolver.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -183,7 +184,7 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(RuntimeEnabledFeatures::sharedFeatures().shadowDOMEnabled());
</span><span class="cx">         if (!m_scopeResolver)
</span><del>-            m_scopeResolver = adoptPtr(new StyleScopeResolver());
</del><ins>+            m_scopeResolver = std::make_unique&lt;StyleScopeResolver&gt;();
</ins><span class="cx">         return m_scopeResolver.get();
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="lines">@@ -527,7 +528,7 @@
</span><span class="cx"> 
</span><span class="cx">     Timer&lt;StyleResolver&gt; m_matchedPropertiesCacheSweepTimer;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;MediaQueryEvaluator&gt; m_medium;
</del><ins>+    std::unique_ptr&lt;MediaQueryEvaluator&gt; m_medium;
</ins><span class="cx">     RefPtr&lt;RenderStyle&gt; m_rootDefaultStyle;
</span><span class="cx"> 
</span><span class="cx">     Document&amp; m_document;
</span><span class="lines">@@ -536,7 +537,7 @@
</span><span class="cx">     bool m_matchAuthorAndUserStyles;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;CSSFontSelector&gt; m_fontSelector;
</span><del>-    Vector&lt;OwnPtr&lt;MediaQueryResult&gt;&gt; m_viewportDependentMediaQueryResults;
</del><ins>+    Vector&lt;std::unique_ptr&lt;MediaQueryResult&gt;&gt; m_viewportDependentMediaQueryResults;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(CSS_DEVICE_ADAPTATION)
</span><span class="cx">     RefPtr&lt;ViewportStyleResolver&gt; m_viewportStyleResolver;
</span><span class="lines">@@ -544,7 +545,7 @@
</span><span class="cx"> 
</span><span class="cx">     const DeprecatedStyleBuilder&amp; m_deprecatedStyleBuilder;
</span><span class="cx"> 
</span><del>-    OwnPtr&lt;StyleScopeResolver&gt; m_scopeResolver;
</del><ins>+    std::unique_ptr&lt;StyleScopeResolver&gt; m_scopeResolver;
</ins><span class="cx">     CSSToStyleMap m_styleMap;
</span><span class="cx">     InspectorCSSOMWrappers m_inspectorCSSOMWrappers;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssWebKitCSSKeyframesRulecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -188,7 +188,7 @@
</span><span class="cx"> CSSRuleList* WebKitCSSKeyframesRule::cssRules()
</span><span class="cx"> {
</span><span class="cx">     if (!m_ruleListCSSOMWrapper)
</span><del>-        m_ruleListCSSOMWrapper = adoptPtr(new LiveCSSRuleList&lt;WebKitCSSKeyframesRule&gt;(this));
</del><ins>+        m_ruleListCSSOMWrapper = std::make_unique&lt;LiveCSSRuleList&lt;WebKitCSSKeyframesRule&gt;&gt;(this);
</ins><span class="cx">     return m_ruleListCSSOMWrapper.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecssWebKitCSSKeyframesRuleh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/WebKitCSSKeyframesRule.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CSSRule.h&quot;
</span><span class="cx"> #include &quot;StyleRule.h&quot;
</span><ins>+#include &lt;memory&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -92,7 +93,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;StyleRuleKeyframes&gt; m_keyframesRule;
</span><span class="cx">     mutable Vector&lt;RefPtr&lt;WebKitCSSKeyframeRule&gt;&gt; m_childRuleCSSOMWrappers;
</span><del>-    mutable OwnPtr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</del><ins>+    mutable std::unique_ptr&lt;CSSRuleList&gt; m_ruleListCSSOMWrapper;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorecsshtmlcss"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/css/html.css (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/css/html.css        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/css/html.css        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -679,7 +679,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> input[type=&quot;radio&quot;], input[type=&quot;checkbox&quot;] {
</span><del>-    margin: 3px 0.5ex;
</del><ins>+    margin: 3px 2px;
</ins><span class="cx"> #if defined(WTF_PLATFORM_IOS) &amp;&amp; WTF_PLATFORM_IOS
</span><span class="cx">     border: 1px solid #4c4c4c;
</span><span class="cx">     box-sizing: border-box;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDOMAllInOnecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/DOMAllInOne.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/DOMAllInOne.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/DOMAllInOne.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -49,7 +49,6 @@
</span><span class="cx"> #include &quot;DOMImplementation.cpp&quot;
</span><span class="cx"> #include &quot;DOMNamedFlowCollection.cpp&quot;
</span><span class="cx"> #include &quot;DOMStringList.cpp&quot;
</span><del>-#include &quot;DOMStringMap.cpp&quot;
</del><span class="cx"> #include &quot;DatasetDOMStringMap.cpp&quot;
</span><span class="cx"> #include &quot;DecodedDataDocumentParser.cpp&quot;
</span><span class="cx"> #include &quot;DeviceMotionController.cpp&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDOMStringMapcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/DOMStringMap.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/DOMStringMap.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/DOMStringMap.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,39 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;DOMStringMap.h&quot;
-
-namespace WebCore {
-
-DOMStringMap::DOMStringMap()
-{
-}
-
-DOMStringMap::~DOMStringMap()
-{
-}
-
-} // namespace WebCore
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDOMStringMaph"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/DOMStringMap.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/DOMStringMap.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/DOMStringMap.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 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,36 +26,12 @@
</span><span class="cx"> #ifndef DOMStringMap_h
</span><span class="cx"> #define DOMStringMap_h
</span><span class="cx"> 
</span><del>-#include &quot;ScriptWrappable.h&quot;
-#include &lt;wtf/Noncopyable.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
</del><ins>+#include &quot;DatasetDOMStringMap.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class Element;
-typedef int ExceptionCode;
</del><ins>+typedef DatasetDOMStringMap DOMStringMap;
</ins><span class="cx"> 
</span><del>-class DOMStringMap : public ScriptWrappable {
-    WTF_MAKE_NONCOPYABLE(DOMStringMap); WTF_MAKE_FAST_ALLOCATED;
-public:
-    virtual ~DOMStringMap();
-
-    virtual void ref() = 0;
-    virtual void deref() = 0;
-
-    virtual void getNames(Vector&lt;String&gt;&amp;) = 0;
-    virtual String item(const String&amp; name) = 0;
-    virtual bool contains(const String&amp; name) = 0;
-    virtual void setItem(const String&amp; name, const String&amp; value, ExceptionCode&amp;) = 0;
-    virtual void deleteItem(const String&amp; name, ExceptionCode&amp;) = 0;
-
-    virtual Element* element() = 0;
-
-protected:
-    DOMStringMap();
-};
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // DOMStringMap_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDatasetDOMStringMaph"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/DatasetDOMStringMap.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/DatasetDOMStringMap.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/DatasetDOMStringMap.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2010 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2010, 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,29 +26,34 @@
</span><span class="cx"> #ifndef DatasetDOMStringMap_h
</span><span class="cx"> #define DatasetDOMStringMap_h
</span><span class="cx"> 
</span><del>-#include &quot;DOMStringMap.h&quot;
</del><ins>+#include &quot;ScriptWrappable.h&quot;
+#include &lt;wtf/Noncopyable.h&gt;
+#include &lt;wtf/Vector.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class Element;
</span><ins>+typedef int ExceptionCode;
</ins><span class="cx"> 
</span><del>-class DatasetDOMStringMap final : public DOMStringMap {
</del><ins>+class DatasetDOMStringMap final : public ScriptWrappable {
+    WTF_MAKE_NONCOPYABLE(DatasetDOMStringMap); WTF_MAKE_FAST_ALLOCATED;
</ins><span class="cx"> public:
</span><span class="cx">     explicit DatasetDOMStringMap(Element&amp; element)
</span><span class="cx">         : m_element(element)
</span><span class="cx">     {
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    virtual void ref() override;
-    virtual void deref() override;
</del><ins>+    void ref();
+    void deref();
</ins><span class="cx"> 
</span><del>-    virtual void getNames(Vector&lt;String&gt;&amp;) override;
-    virtual String item(const String&amp; name) override;
-    virtual bool contains(const String&amp; name) override;
-    virtual void setItem(const String&amp; name, const String&amp; value, ExceptionCode&amp;) override;
-    virtual void deleteItem(const String&amp; name, ExceptionCode&amp;) override;
</del><ins>+    void getNames(Vector&lt;String&gt;&amp;);
+    String item(const String&amp; name);
+    bool contains(const String&amp; name);
+    void setItem(const String&amp; name, const String&amp; value, ExceptionCode&amp;);
+    void deleteItem(const String&amp; name, ExceptionCode&amp;);
</ins><span class="cx"> 
</span><del>-    virtual Element* element() override { return &amp;m_element; }
</del><ins>+    Element* element() { return &amp;m_element; }
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     Element&amp; m_element;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/Document.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/Document.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/Document.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -441,14 +441,14 @@
</span><span class="cx">     , m_cssTarget(nullptr)
</span><span class="cx">     , m_processingLoadEvent(false)
</span><span class="cx">     , m_loadEventFinished(false)
</span><del>-    , m_startTime(monotonicallyIncreasingTimeMS())
</del><ins>+    , m_startTime(std::chrono::steady_clock::now())
</ins><span class="cx">     , m_overMinimumLayoutThreshold(false)
</span><span class="cx">     , m_scriptRunner(std::make_unique&lt;ScriptRunner&gt;(*this))
</span><span class="cx">     , m_xmlVersion(ASCIILiteral(&quot;1.0&quot;))
</span><span class="cx">     , m_xmlStandalone(StandaloneUnspecified)
</span><span class="cx">     , m_hasXMLDeclaration(false)
</span><span class="cx">     , m_designMode(inherit)
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     , m_hasAnnotatedRegions(false)
</span><span class="cx">     , m_annotatedRegionsDirty(false)
</span><span class="cx"> #endif
</span><span class="lines">@@ -1739,8 +1739,6 @@
</span><span class="cx">         PostAttachCallbackDisabler disabler(*this);
</span><span class="cx">         WidgetHierarchyUpdatesSuspensionScope suspendWidgetHierarchyUpdates;
</span><span class="cx"> 
</span><del>-        frameView.beginDeferredRepaints();
-
</del><span class="cx">         if (m_pendingStyleRecalcShouldForce)
</span><span class="cx">             change = Style::Force;
</span><span class="cx"> 
</span><span class="lines">@@ -1764,8 +1762,6 @@
</span><span class="cx">         // Pseudo element removal and similar may only work with these flags still set. Reset them after the style recalc.
</span><span class="cx">         if (m_styleResolver)
</span><span class="cx">             m_styleSheetCollection.resetCSSFeatureFlags();
</span><del>-
-        frameView.endDeferredRepaints();
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // If we wanted to call implicitClose() during recalcStyle, do so now that we're finished.
</span><span class="lines">@@ -2175,9 +2171,6 @@
</span><span class="cx"> 
</span><span class="cx"> AXObjectCache* Document::existingAXObjectCache() const
</span><span class="cx"> {
</span><del>-    if (!AXObjectCache::accessibilityEnabled())
-        return nullptr;
-
</del><span class="cx">     if (!topDocument()-&gt;hasLivingRenderTree())
</span><span class="cx">         return nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -2427,7 +2420,7 @@
</span><span class="cx">         f-&gt;loader().handledOnloadEvents();
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement())
</span><del>-        printf(&quot;onload fired at %d\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;onload fired at %lld\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // An event handler may have removed the frame
</span><span class="lines">@@ -2499,7 +2492,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement() &amp;&amp; !m_bParsing)
</span><del>-        printf(&quot;Parsing finished at %d\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;Parsing finished at %lld\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2517,24 +2510,26 @@
</span><span class="cx">     
</span><span class="cx"> bool Document::isLayoutTimerActive()
</span><span class="cx"> {
</span><del>-    return view() &amp;&amp; view()-&gt;layoutPending() &amp;&amp; !minimumLayoutDelay();
</del><ins>+    return view() &amp;&amp; view()-&gt;layoutPending() &amp;&amp; !minimumLayoutDelay().count();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int Document::minimumLayoutDelay()
</del><ins>+std::chrono::milliseconds Document::minimumLayoutDelay()
</ins><span class="cx"> {
</span><span class="cx">     if (m_overMinimumLayoutThreshold)
</span><del>-        return 0;
</del><ins>+        return std::chrono::milliseconds(0);
</ins><span class="cx">     
</span><del>-    int elapsed = elapsedTime();
</del><ins>+    std::chrono::milliseconds elapsed = elapsedTime();
</ins><span class="cx">     m_overMinimumLayoutThreshold = elapsed &gt; settings()-&gt;layoutInterval();
</span><span class="cx"> 
</span><span class="cx">     // We'll want to schedule the timer to fire at the minimum layout threshold.
</span><del>-    return std::max(0, settings()-&gt;layoutInterval() - elapsed);
</del><ins>+    return std::max(std::chrono::milliseconds(0), settings()-&gt;layoutInterval() - elapsed);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-int Document::elapsedTime() const
</del><ins>+std::chrono::milliseconds Document::elapsedTime() const
</ins><span class="cx"> {
</span><del>-    return static_cast&lt;int&gt;(monotonicallyIncreasingTimeMS() - m_startTime);
</del><ins>+    auto elapsedTime = std::chrono::steady_clock::now() - m_startTime;
+
+    return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(elapsedTime);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Document::write(const SegmentedString&amp; text, Document* ownerDocument)
</span><span class="lines">@@ -2549,7 +2544,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement())
</span><del>-        printf(&quot;Beginning a document.write at %d\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;Beginning a document.write at %lld\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     bool hasInsertionPoint = m_parser &amp;&amp; m_parser-&gt;hasInsertionPoint();
</span><span class="lines">@@ -2564,7 +2559,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement())
</span><del>-        printf(&quot;Ending a document.write at %d\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;Ending a document.write at %lld\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif    
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2796,8 +2791,14 @@
</span><span class="cx"> {
</span><span class="cx">     m_needsNotifyRemoveAllPendingStylesheet = false;
</span><span class="cx"> 
</span><del>-    styleResolverChanged(RecalcStyleIfNeeded);
</del><ins>+    styleResolverChanged(DeferRecalcStyleIfNeeded);
</ins><span class="cx"> 
</span><ins>+    if (m_pendingSheetLayout == DidLayoutWithPendingSheets) {
+        m_pendingSheetLayout = IgnoreLayoutWithPendingSheets;
+        if (renderView())
+            renderView()-&gt;repaintViewAndCompositedLayers();
+    }
+
</ins><span class="cx">     if (ScriptableDocumentParser* parser = scriptableDocumentParser())
</span><span class="cx">         parser-&gt;executeScriptsWaitingForStylesheets();
</span><span class="cx"> 
</span><span class="lines">@@ -3211,7 +3212,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement())
</span><del>-        printf(&quot;Beginning update of style selector at time %d.\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;Beginning update of style selector at time %lld.\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     DocumentStyleSheetCollection::UpdateFlag styleSheetUpdate = (updateFlag == RecalcStyleIfNeeded || updateFlag == DeferRecalcStyleIfNeeded)
</span><span class="lines">@@ -3230,12 +3231,6 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (didLayoutWithPendingStylesheets() &amp;&amp; !m_styleSheetCollection.hasPendingSheets()) {
-        m_pendingSheetLayout = IgnoreLayoutWithPendingSheets;
-        if (renderView())
-            renderView()-&gt;repaintViewAndCompositedLayers();
-    }
-
</del><span class="cx">     if (!stylesheetChangeRequiresStyleRecalc)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -3248,7 +3243,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!ownerElement())
</span><del>-        printf(&quot;Finished update of style selector at time %d\n&quot;, elapsedTime());
</del><ins>+        printf(&quot;Finished update of style selector at time %lld\n&quot;, elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     if (renderView()) {
</span><span class="lines">@@ -3317,7 +3312,7 @@
</span><span class="cx">         m_activeElement = m_activeElement-&gt;parentElement();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> const Vector&lt;AnnotatedRegionValue&gt;&amp; Document::annotatedRegions() const
</span><span class="cx"> {
</span><span class="cx">     return m_annotatedRegions;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomDocumenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/Document.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/Document.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/Document.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,6 +51,7 @@
</span><span class="cx"> #include &quot;TreeScope.h&quot;
</span><span class="cx"> #include &quot;UserActionElementSet.h&quot;
</span><span class="cx"> #include &quot;ViewportArguments.h&quot;
</span><ins>+#include &lt;chrono&gt;
</ins><span class="cx"> #include &lt;wtf/Deque.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="cx"> #include &lt;wtf/OwnPtr.h&gt;
</span><span class="lines">@@ -159,7 +160,7 @@
</span><span class="cx"> class TransformSource;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> struct AnnotatedRegionValue;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -661,11 +662,11 @@
</span><span class="cx">     void setReadyState(ReadyState);
</span><span class="cx">     void setParsing(bool);
</span><span class="cx">     bool parsing() const { return m_bParsing; }
</span><del>-    int minimumLayoutDelay();
</del><ins>+    std::chrono::milliseconds minimumLayoutDelay();
</ins><span class="cx"> 
</span><span class="cx">     bool shouldScheduleLayout();
</span><span class="cx">     bool isLayoutTimerActive();
</span><del>-    int elapsedTime() const;
</del><ins>+    std::chrono::milliseconds elapsedTime() const;
</ins><span class="cx">     
</span><span class="cx">     void setTextColor(const Color&amp; color) { m_textColor = color; }
</span><span class="cx">     Color textColor() const { return m_textColor; }
</span><span class="lines">@@ -1022,7 +1023,7 @@
</span><span class="cx">     void setFrameElementsShouldIgnoreScrolling(bool ignore) { m_frameElementsShouldIgnoreScrolling = ignore; }
</span><span class="cx">     bool frameElementsShouldIgnoreScrolling() const { return m_frameElementsShouldIgnoreScrolling; }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     void setAnnotatedRegionsDirty(bool f) { m_annotatedRegionsDirty = f; }
</span><span class="cx">     bool annotatedRegionsDirty() const { return m_annotatedRegionsDirty; }
</span><span class="cx">     bool hasAnnotatedRegions () const { return m_hasAnnotatedRegions; }
</span><span class="lines">@@ -1433,7 +1434,7 @@
</span><span class="cx">     bool m_loadEventFinished;
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;SerializedScriptValue&gt; m_pendingStateObject;
</span><del>-    double m_startTime;
</del><ins>+    std::chrono::steady_clock::time_point m_startTime;
</ins><span class="cx">     bool m_overMinimumLayoutThreshold;
</span><span class="cx">     
</span><span class="cx">     std::unique_ptr&lt;ScriptRunner&gt; m_scriptRunner;
</span><span class="lines">@@ -1467,7 +1468,7 @@
</span><span class="cx">     OwnPtr&lt;SVGDocumentExtensions&gt; m_svgExtensions;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     Vector&lt;AnnotatedRegionValue&gt; m_annotatedRegions;
</span><span class="cx">     bool m_hasAnnotatedRegions;
</span><span class="cx">     bool m_annotatedRegionsDirty;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/Element.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/Element.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/Element.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1153,42 +1153,43 @@
</span><span class="cx">     return classStringHasClassName(newClassString.characters16(), length);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-template&lt;typename Checker&gt;
-static bool checkSelectorForClassChange(const SpaceSplitString&amp; changedClasses, const Checker&amp; checker)
</del><ins>+static bool checkSelectorForClassChange(const SpaceSplitString&amp; changedClasses, const StyleResolver&amp; styleResolver)
</ins><span class="cx"> {
</span><span class="cx">     unsigned changedSize = changedClasses.size();
</span><span class="cx">     for (unsigned i = 0; i &lt; changedSize; ++i) {
</span><del>-        if (checker.hasSelectorForClass(changedClasses[i]))
</del><ins>+        if (styleResolver.hasSelectorForClass(changedClasses[i]))
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-template&lt;typename Checker&gt;
-static bool checkSelectorForClassChange(const SpaceSplitString&amp; oldClasses, const SpaceSplitString&amp; newClasses, const Checker&amp; checker)
</del><ins>+static bool checkSelectorForClassChange(const SpaceSplitString&amp; oldClasses, const SpaceSplitString&amp; newClasses, const StyleResolver&amp; styleResolver)
</ins><span class="cx"> {
</span><span class="cx">     unsigned oldSize = oldClasses.size();
</span><span class="cx">     if (!oldSize)
</span><del>-        return checkSelectorForClassChange(newClasses, checker);
</del><ins>+        return checkSelectorForClassChange(newClasses, styleResolver);
</ins><span class="cx">     BitVector remainingClassBits;
</span><span class="cx">     remainingClassBits.ensureSize(oldSize);
</span><span class="cx">     // Class vectors tend to be very short. This is faster than using a hash table.
</span><span class="cx">     unsigned newSize = newClasses.size();
</span><span class="cx">     for (unsigned i = 0; i &lt; newSize; ++i) {
</span><ins>+        bool foundFromBoth = false;
</ins><span class="cx">         for (unsigned j = 0; j &lt; oldSize; ++j) {
</span><span class="cx">             if (newClasses[i] == oldClasses[j]) {
</span><span class="cx">                 remainingClassBits.quickSet(j);
</span><del>-                continue;
</del><ins>+                foundFromBoth = true;
</ins><span class="cx">             }
</span><span class="cx">         }
</span><del>-        if (checker.hasSelectorForClass(newClasses[i]))
</del><ins>+        if (foundFromBoth)
+            continue;
+        if (styleResolver.hasSelectorForClass(newClasses[i]))
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx">     for (unsigned i = 0; i &lt; oldSize; ++i) {
</span><span class="cx">         // If the bit is not set the the corresponding class has been removed.
</span><span class="cx">         if (remainingClassBits.quickGet(i))
</span><span class="cx">             continue;
</span><del>-        if (checker.hasSelectorForClass(oldClasses[i]))
</del><ins>+        if (styleResolver.hasSelectorForClass(oldClasses[i]))
</ins><span class="cx">             return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span><span class="lines">@@ -2436,7 +2437,7 @@
</span><span class="cx">     return data.classList();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-DOMStringMap* Element::dataset()
</del><ins>+DatasetDOMStringMap* Element::dataset()
</ins><span class="cx"> {
</span><span class="cx">     ElementRareData&amp; data = ensureElementRareData();
</span><span class="cx">     if (!data.dataset())
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomElementh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/Element.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/Element.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/Element.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx"> 
</span><span class="cx"> class ClientRect;
</span><span class="cx"> class ClientRectList;
</span><del>-class DOMStringMap;
</del><ins>+class DatasetDOMStringMap;
</ins><span class="cx"> class DOMTokenList;
</span><span class="cx"> class ElementRareData;
</span><span class="cx"> class HTMLDocument;
</span><span class="lines">@@ -459,7 +459,7 @@
</span><span class="cx"> 
</span><span class="cx">     DOMTokenList* classList();
</span><span class="cx"> 
</span><del>-    DOMStringMap* dataset();
</del><ins>+    DatasetDOMStringMap* dataset();
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx">     virtual bool isMediaElement() const { return false; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoredomNodeListidl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/dom/NodeList.idl (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/dom/NodeList.idl        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/dom/NodeList.idl        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2006 Samuel Weinig &lt;sam.weinig@gmail.com&gt;
</span><del>- * Copyright (C) 2007 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2007, 2014 Apple Inc. All rights reserved.
</ins><span class="cx">  *
</span><span class="cx">  * This library is free software; you can redistribute it and/or
</span><span class="cx">  * modify it under the terms of the GNU Library General Public
</span><span class="lines">@@ -20,11 +20,11 @@
</span><span class="cx"> 
</span><span class="cx"> [
</span><span class="cx">     CustomIsReachable,
</span><ins>+    JSCustomGetOwnPropertySlotAndDescriptor,
</ins><span class="cx">     SkipVTableValidation,
</span><span class="cx"> ] interface NodeList {
</span><span class="cx"> 
</span><span class="cx">     getter Node item(unsigned long index);
</span><del>-    getter (Node or unsigned long) (DOMString name);
</del><span class="cx"> 
</span><span class="cx">     readonly attribute unsigned long length;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingAlternativeTextControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/AlternativeTextController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/AlternativeTextController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/AlternativeTextController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -689,7 +689,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (FrameView* view = m_frame.view())
</span><del>-        view-&gt;resetDeferredRepaintDelay();
</del><ins>+        view-&gt;disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;TextEvent&gt; event = TextEvent::createForDictation(m_frame.document()-&gt;domWindow(), text, dictationAlternatives);
</span><span class="cx">     event-&gt;setUnderlyingEvent(triggeringEvent);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingCompositeEditCommandcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/CompositeEditCommand.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/CompositeEditCommand.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/CompositeEditCommand.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -667,7 +667,7 @@
</span><span class="cx"> static inline bool containsOnlyWhitespace(const String&amp; text)
</span><span class="cx"> {
</span><span class="cx">     for (unsigned i = 0; i &lt; text.length(); ++i) {
</span><del>-        if (!isWhitespace(text.characters()[i]))
</del><ins>+        if (!isWhitespace(text.deprecatedCharacters()[i]))
</ins><span class="cx">             return false;
</span><span class="cx">     }
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingFrameSelectioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/FrameSelection.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/FrameSelection.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/FrameSelection.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -712,13 +712,11 @@
</span><span class="cx">             pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).right(true);
</span><span class="cx">         break;
</span><span class="cx">     case WordGranularity: {
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">         // Visual word movement relies on isWordTextBreak which is not implemented in WinCE and QT.
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=81136.
</span><span class="cx">         bool skipsSpaceWhenMovingRight = m_frame &amp;&amp; m_frame-&gt;editor().behavior().shouldSkipSpaceWhenMovingRight();
</span><span class="cx">         pos = rightWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()), skipsSpaceWhenMovingRight);
</span><span class="cx">         break;
</span><del>-#endif
</del><span class="cx">     }
</span><span class="cx">     case SentenceGranularity:
</span><span class="cx">     case LineGranularity:
</span><span class="lines">@@ -908,11 +906,9 @@
</span><span class="cx">             pos = VisiblePosition(m_selection.extent(), m_selection.affinity()).left(true);
</span><span class="cx">         break;
</span><span class="cx">     case WordGranularity: {
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">         bool skipsSpaceWhenMovingRight = m_frame &amp;&amp; m_frame-&gt;editor().behavior().shouldSkipSpaceWhenMovingRight();
</span><span class="cx">         pos = leftWordPosition(VisiblePosition(m_selection.extent(), m_selection.affinity()), skipsSpaceWhenMovingRight);
</span><span class="cx">         break;
</span><del>-#endif
</del><span class="cx">     }
</span><span class="cx">     case SentenceGranularity:
</span><span class="cx">     case LineGranularity:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingSmartReplacecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/SmartReplace.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/SmartReplace.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/SmartReplace.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,6 @@
</span><span class="cx"> /*
</span><span class="cx">  * Copyright (C) 2007 Apple Inc.  All rights reserved.
</span><ins>+ * Copyright (C) 2008 Tony Chang &lt;idealisms@gmail.com&gt;
</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">@@ -29,13 +30,73 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;SmartReplace.h&quot;
</span><span class="cx"> 
</span><del>-#if !USE(CF) &amp;&amp; !USE(ICU_UNICODE)
</del><ins>+#if !USE(CF)
</ins><span class="cx"> 
</span><ins>+#include &lt;unicode/uset.h&gt;
+#include &lt;wtf/Assertions.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
</ins><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+static void addAllCodePoints(USet* smartSet, const String&amp; string)
+{
+    const UChar* characters = string.characters();
+    for (size_t i = 0; i &lt; string.length(); i++)
+        uset_add(smartSet, characters[i]);
+}
+
+// This is mostly a port of the code in WebCore/editing/SmartReplaceCF.cpp
+// except we use ICU instead of CoreFoundation character classes.
+static USet* getSmartSet(bool isPreviousCharacter)
+{
+    static USet* preSmartSet = nullptr;
+    static USet* postSmartSet = nullptr;
+    USet* smartSet = isPreviousCharacter ? preSmartSet : postSmartSet;
+    if (!smartSet) {
+        // Whitespace and newline (kCFCharacterSetWhitespaceAndNewline)
+        UErrorCode ec = U_ZERO_ERROR;
+        String whitespaceAndNewline = ASCIILiteral(&quot;[[:WSpace:] [\\u000A\\u000B\\u000C\\u000D\\u0085]]&quot;);
+        smartSet = uset_openPattern(whitespaceAndNewline.characters(), whitespaceAndNewline.length(), &amp;ec);
+        ASSERT(U_SUCCESS(ec));
+
+        // CJK ranges
+        // FIXME: Looks like all these ranges include one extra character past the end.
+        uset_addRange(smartSet, 0x1100, 0x1100 + 256); // Hangul Jamo (0x1100 - 0x11FF)
+        uset_addRange(smartSet, 0x2E80, 0x2E80 + 352); // CJK &amp; Kangxi Radicals (0x2E80 - 0x2FDF)
+        uset_addRange(smartSet, 0x2FF0, 0x2FF0 + 464); // Ideograph Descriptions, CJK Symbols, Hiragana, Katakana, Bopomofo, Hangul Compatibility Jamo, Kanbun, &amp; Bopomofo Ext (0x2FF0 - 0x31BF)
+        uset_addRange(smartSet, 0x3200, 0x3200 + 29392); // Enclosed CJK, CJK Ideographs (Uni Han &amp; Ext A), &amp; Yi (0x3200 - 0xA4CF)
+        uset_addRange(smartSet, 0xAC00, 0xAC00 + 11183); // Hangul Syllables (0xAC00 - 0xD7AF)
+        uset_addRange(smartSet, 0xF900, 0xF900 + 352); // CJK Compatibility Ideographs (0xF900 - 0xFA5F)
+        uset_addRange(smartSet, 0xFE30, 0xFE30 + 32); // CJK Compatibility From (0xFE30 - 0xFE4F)
+        uset_addRange(smartSet, 0xFF00, 0xFF00 + 240); // Half/Full Width Form (0xFF00 - 0xFFEF)
+        uset_addRange(smartSet, 0x20000, 0x20000 + 0xA6D7); // CJK Ideograph Exntension B
+        uset_addRange(smartSet, 0x2F800, 0x2F800 + 0x021E); // CJK Compatibility Ideographs (0x2F800 - 0x2FA1D)
+
+        if (isPreviousCharacter) {
+            // FIXME: Silly to convert this to a WTF::String just to loop through the characters.
+            addAllCodePoints(smartSet, ASCIILiteral(&quot;([\&quot;\'#$/-`{&quot;));
+            preSmartSet = smartSet;
+        } else {
+            // FIXME: Silly to convert this to a WTF::String just to loop through the characters.
+            addAllCodePoints(smartSet, ASCIILiteral(&quot;)].,;:?\'!\&quot;%*-/}&quot;));
+
+            // Punctuation (kCFCharacterSetPunctuation)
+            UErrorCode ec = U_ZERO_ERROR;
+            String punctuationClass = ASCIILiteral(&quot;[:P:]&quot;);
+            USet* icuPunct = uset_openPattern(punctuationClass.characters(), punctuationClass.length(), &amp;ec);
+            ASSERT(U_SUCCESS(ec));
+            uset_addAll(smartSet, icuPunct);
+            uset_close(icuPunct);
+
+            postSmartSet = smartSet;
+        }
+    }
+    return smartSet;
+}
+
</ins><span class="cx"> bool isCharacterSmartReplaceExempt(UChar32 c, bool isPreviousCharacter)
</span><span class="cx"> {
</span><del>-    return false;
</del><ins>+    return uset_contains(getSmartSet(isPreviousCharacter), c);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingSmartReplaceICUcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/SmartReplaceICU.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/SmartReplaceICU.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/SmartReplaceICU.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,100 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007 Apple Inc.  All rights reserved.
- * Copyright (C) 2008 Tony Chang &lt;idealisms@gmail.com&gt;
- *
- * 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. 
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;SmartReplace.h&quot;
-
-#if !USE(CF) &amp;&amp; USE(ICU_UNICODE)
-#include &lt;unicode/uset.h&gt;
-#include &lt;wtf/Assertions.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace WebCore {
-
-static void addAllCodePoints(USet* smartSet, const String&amp; string)
-{
-    const UChar* characters = string.characters();
-    for (size_t i = 0; i &lt; string.length(); i++)
-        uset_add(smartSet, characters[i]);
-}
-
-// This is mostly a port of the code in WebCore/editing/SmartReplaceCF.cpp
-// except we use icu in place of CoreFoundations character classes.
-static USet* getSmartSet(bool isPreviousCharacter)
-{
-    static USet* preSmartSet = NULL; 
-    static USet* postSmartSet = NULL;
-    USet* smartSet = isPreviousCharacter ? preSmartSet : postSmartSet;
-    if (!smartSet) {
-        // Whitespace and newline (kCFCharacterSetWhitespaceAndNewline)
-        UErrorCode ec = U_ZERO_ERROR;
-        String whitespaceAndNewline = ASCIILiteral(&quot;[[:WSpace:] [\\u000A\\u000B\\u000C\\u000D\\u0085]]&quot;);
-        smartSet = uset_openPattern(whitespaceAndNewline.characters(), whitespaceAndNewline.length(), &amp;ec);
-        ASSERT(U_SUCCESS(ec));
-
-        // CJK ranges
-        uset_addRange(smartSet, 0x1100, 0x1100 + 256); // Hangul Jamo (0x1100 - 0x11FF)
-        uset_addRange(smartSet, 0x2E80, 0x2E80 + 352); // CJK &amp; Kangxi Radicals (0x2E80 - 0x2FDF)
-        uset_addRange(smartSet, 0x2FF0, 0x2FF0 + 464); // Ideograph Descriptions, CJK Symbols, Hiragana, Katakana, Bopomofo, Hangul Compatibility Jamo, Kanbun, &amp; Bopomofo Ext (0x2FF0 - 0x31BF)
-        uset_addRange(smartSet, 0x3200, 0x3200 + 29392); // Enclosed CJK, CJK Ideographs (Uni Han &amp; Ext A), &amp; Yi (0x3200 - 0xA4CF)
-        uset_addRange(smartSet, 0xAC00, 0xAC00 + 11183); // Hangul Syllables (0xAC00 - 0xD7AF)
-        uset_addRange(smartSet, 0xF900, 0xF900 + 352); // CJK Compatibility Ideographs (0xF900 - 0xFA5F)
-        uset_addRange(smartSet, 0xFE30, 0xFE30 + 32); // CJK Compatibility From (0xFE30 - 0xFE4F)
-        uset_addRange(smartSet, 0xFF00, 0xFF00 + 240); // Half/Full Width Form (0xFF00 - 0xFFEF)
-        uset_addRange(smartSet, 0x20000, 0x20000 + 0xA6D7); // CJK Ideograph Exntension B
-        uset_addRange(smartSet, 0x2F800, 0x2F800 + 0x021E); // CJK Compatibility Ideographs (0x2F800 - 0x2FA1D)
-
-        if (isPreviousCharacter) {
-            addAllCodePoints(smartSet, ASCIILiteral(&quot;([\&quot;\'#$/-`{&quot;));
-            preSmartSet = smartSet;
-        } else {
-            addAllCodePoints(smartSet, ASCIILiteral(&quot;)].,;:?\'!\&quot;%*-/}&quot;));
-
-            // Punctuation (kCFCharacterSetPunctuation)
-            UErrorCode ec = U_ZERO_ERROR;
-            String punctuationClass = ASCIILiteral(&quot;[:P:]&quot;);
-            USet* icuPunct = uset_openPattern(punctuationClass.characters(), punctuationClass.length(), &amp;ec);
-            ASSERT(U_SUCCESS(ec));
-            uset_addAll(smartSet, icuPunct);
-            uset_close(icuPunct);
-
-            postSmartSet = smartSet;
-        }
-    }
-    return smartSet;
-}
-
-bool isCharacterSmartReplaceExempt(UChar32 c, bool isPreviousCharacter)
-{
-    return uset_contains(getSmartSet(isPreviousCharacter), c);
-}
-
-}
-
-#endif // !USE(CF) &amp;&amp; USE(ICU_UNICODE)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingTextIteratorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/TextIterator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/TextIterator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/TextIterator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/unicode/CharacterNames.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#if !UCONFIG_NO_COLLATION
</ins><span class="cx"> #include &quot;TextBreakIteratorInternalICU.h&quot;
</span><span class="cx"> #include &lt;unicode/usearch.h&gt;
</span><span class="cx"> #endif
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx">     size_t search(size_t&amp; startOffset);
</span><span class="cx">     bool atBreak() const;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#if !UCONFIG_NO_COLLATION
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     bool isBadMatch(const UChar*, size_t length) const;
</span><span class="lines">@@ -1702,7 +1702,7 @@
</span><span class="cx">     s.replace(softHyphen, 0);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE) &amp;&amp; !UCONFIG_NO_COLLATION
</del><ins>+#if !UCONFIG_NO_COLLATION
</ins><span class="cx"> 
</span><span class="cx"> static inline void foldQuoteMarksAndSoftHyphens(UChar* data, size_t length)
</span><span class="cx"> {
</span><span class="lines">@@ -2305,7 +2305,7 @@
</span><span class="cx">     return matchedLength;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#else // !ICU_UNICODE
</del><ins>+#else
</ins><span class="cx"> 
</span><span class="cx"> inline SearchBuffer::SearchBuffer(const String&amp; target, FindOptions options)
</span><span class="cx">     : m_target(options &amp; CaseInsensitive ? target.foldCase() : target)
</span><span class="lines">@@ -2415,7 +2415,7 @@
</span><span class="cx">     return length;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#endif // !ICU_UNICODE
</del><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> // --------
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingTypingCommandcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/TypingCommand.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/TypingCommand.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/TypingCommand.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -152,7 +152,7 @@
</span><span class="cx">     ASSERT(frame);
</span><span class="cx"> 
</span><span class="cx">     if (!text.isEmpty())
</span><del>-        frame-&gt;editor().updateMarkersForWordsAffectedByEditing(isSpaceOrNewline(text.characters()[0]));
</del><ins>+        frame-&gt;editor().updateMarkersForWordsAffectedByEditing(isSpaceOrNewline(text.deprecatedCharacters()[0]));
</ins><span class="cx">     
</span><span class="cx">     insertText(document, text, frame-&gt;selection().selection(), options, composition);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreeditingVisibleUnitscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/editing/VisibleUnits.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/editing/VisibleUnits.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/editing/VisibleUnits.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1146,7 +1146,7 @@
</span><span class="cx">             ASSERT_WITH_SECURITY_IMPLICATION(n-&gt;isTextNode());
</span><span class="cx">             type = Position::PositionIsOffsetInAnchor;
</span><span class="cx">             if (style.preserveNewline()) {
</span><del>-                const UChar* chars = toRenderText(r)-&gt;characters();
</del><ins>+                const UChar* chars = toRenderText(r)-&gt;deprecatedCharacters();
</ins><span class="cx">                 int i = toRenderText(r)-&gt;textLength();
</span><span class="cx">                 int o = offset;
</span><span class="cx">                 if (n == startNode &amp;&amp; o &lt; i)
</span><span class="lines">@@ -1229,7 +1229,7 @@
</span><span class="cx">             int length = toRenderText(r)-&gt;textLength();
</span><span class="cx">             type = Position::PositionIsOffsetInAnchor;
</span><span class="cx">             if (style.preserveNewline()) {
</span><del>-                const UChar* chars = toRenderText(r)-&gt;characters();
</del><ins>+                const UChar* chars = toRenderText(r)-&gt;deprecatedCharacters();
</ins><span class="cx">                 int o = n == startNode ? offset : 0;
</span><span class="cx">                 for (int i = o; i &lt; length; ++i) {
</span><span class="cx">                     if (chars[i] == '\n')
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorefileapiFileReadercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/fileapi/FileReader.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/fileapi/FileReader.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/fileapi/FileReader.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-static const double progressNotificationIntervalMS = 50;
</del><ins>+static const auto progressNotificationInterval = std::chrono::milliseconds(50);
</ins><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;FileReader&gt; FileReader::create(ScriptExecutionContext&amp; context)
</span><span class="cx"> {
</span><span class="lines">@@ -60,7 +60,6 @@
</span><span class="cx">     , m_state(EMPTY)
</span><span class="cx">     , m_aborting(false)
</span><span class="cx">     , m_readType(FileReaderLoader::ReadAsBinaryString)
</span><del>-    , m_lastProgressNotificationTimeMS(0)
</del><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -199,12 +198,15 @@
</span><span class="cx"> void FileReader::didReceiveData()
</span><span class="cx"> {
</span><span class="cx">     // Fire the progress event at least every 50ms.
</span><del>-    double now = monotonicallyIncreasingTimeMS();
-    if (!m_lastProgressNotificationTimeMS)
-        m_lastProgressNotificationTimeMS = now;
-    else if (now - m_lastProgressNotificationTimeMS &gt; progressNotificationIntervalMS) {
</del><ins>+    auto now = std::chrono::steady_clock::now();
+    if (!m_lastProgressNotificationTime.time_since_epoch().count()) {
+        m_lastProgressNotificationTime = now;
+        return;
+    }
+
+    if (now - m_lastProgressNotificationTime &gt; progressNotificationInterval) {
</ins><span class="cx">         fireEvent(eventNames().progressEvent);
</span><del>-        m_lastProgressNotificationTimeMS = now;
</del><ins>+        m_lastProgressNotificationTime = now;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorefileapiFileReaderh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/fileapi/FileReader.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/fileapi/FileReader.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/fileapi/FileReader.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -38,6 +38,7 @@
</span><span class="cx"> #include &quot;FileError.h&quot;
</span><span class="cx"> #include &quot;FileReaderLoader.h&quot;
</span><span class="cx"> #include &quot;FileReaderLoaderClient.h&quot;
</span><ins>+#include &lt;chrono&gt;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -123,7 +124,7 @@
</span><span class="cx">     String m_encoding;
</span><span class="cx">     std::unique_ptr&lt;FileReaderLoader&gt; m_loader;
</span><span class="cx">     RefPtr&lt;FileError&gt; m_error;
</span><del>-    double m_lastProgressNotificationTimeMS;
</del><ins>+    std::chrono::steady_clock::time_point m_lastProgressNotificationTime;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryBackForwardClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/BackForwardClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/BackForwardClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/BackForwardClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -49,8 +49,6 @@
</span><span class="cx">     virtual int backListCount() = 0;
</span><span class="cx">     virtual int forwardListCount() = 0;
</span><span class="cx"> 
</span><del>-    virtual bool isActive() = 0;
-
</del><span class="cx">     virtual void close() = 0;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryBackForwardControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/BackForwardController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/BackForwardController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/BackForwardController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,22 +46,55 @@
</span><span class="cx"> 
</span><span class="cx"> bool BackForwardController::canGoBackOrForward(int distance) const
</span><span class="cx"> {
</span><del>-    return m_page.canGoBackOrForward(distance);
</del><ins>+    if (!distance)
+        return true;
+    if (distance &gt; 0 &amp;&amp; distance &lt;= forwardCount())
+        return true;
+    if (distance &lt; 0 &amp;&amp; -distance &lt;= backCount())
+        return true;
+    return false;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void BackForwardController::goBackOrForward(int distance)
</span><span class="cx"> {
</span><del>-    m_page.goBackOrForward(distance);
</del><ins>+    if (!distance)
+        return;
+
+    HistoryItem* item = itemAtIndex(distance);
+    if (!item) {
+        if (distance &gt; 0) {
+            if (int forwardCount = this-&gt;forwardCount())
+                item = itemAtIndex(forwardCount);
+        } else {
+            if (int backCount = this-&gt;backCount())
+                item = itemAtIndex(-backCount);
+        }
+    }
+
+    if (!item)
+        return;
+
+    m_page.goToItem(item, FrameLoadTypeIndexedBackForward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool BackForwardController::goBack()
</span><span class="cx"> {
</span><del>-    return m_page.goBack();
</del><ins>+    HistoryItem* item = backItem();
+    if (!item)
+        return false;
+
+    m_page.goToItem(item, FrameLoadTypeBack);
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool BackForwardController::goForward()
</span><span class="cx"> {
</span><del>-    return m_page.goForward();
</del><ins>+    HistoryItem* item = forwardItem();
+    if (!item)
+        return false;
+
+    m_page.goToItem(item, FrameLoadTypeForward);
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void BackForwardController::addItem(PassRefPtr&lt;HistoryItem&gt; item)
</span><span class="lines">@@ -76,7 +109,7 @@
</span><span class="cx"> 
</span><span class="cx"> int BackForwardController::count() const
</span><span class="cx"> {
</span><del>-    return m_page.getHistoryLength();
</del><ins>+    return m_client-&gt;backListCount() + 1 + m_client-&gt;forwardListCount();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int BackForwardController::backCount() const
</span><span class="lines">@@ -94,11 +127,6 @@
</span><span class="cx">     return m_client-&gt;itemAtIndex(i);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool BackForwardController::isActive()
-{
-    return m_client-&gt;isActive();
-}
-
</del><span class="cx"> void BackForwardController::close()
</span><span class="cx"> {
</span><span class="cx">     m_client-&gt;close();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryBackForwardControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/BackForwardController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/BackForwardController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/BackForwardController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -59,8 +59,6 @@
</span><span class="cx"> 
</span><span class="cx">     HistoryItem* itemAtIndex(int);
</span><span class="cx"> 
</span><del>-    bool isActive();
-
</del><span class="cx">     void close();
</span><span class="cx"> 
</span><span class="cx">     HistoryItem* backItem() { return itemAtIndex(-1); }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryBackForwardListh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/BackForwardList.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/BackForwardList.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/BackForwardList.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx">     virtual ~BackForwardList();
</span><span class="cx"> 
</span><span class="cx">     Page* page() { return m_page; }
</span><del>-    
</del><ins>+
</ins><span class="cx">     virtual void addItem(PassRefPtr&lt;HistoryItem&gt;) override;
</span><span class="cx">     void goBack();
</span><span class="cx">     void goForward();
</span><span class="lines">@@ -83,8 +83,6 @@
</span><span class="cx"> private:
</span><span class="cx">     explicit BackForwardList(Page*);
</span><span class="cx"> 
</span><del>-    virtual bool isActive() override { return enabled() &amp;&amp; capacity(); }
-
</del><span class="cx">     Page* m_page;
</span><span class="cx">     HistoryItemVector m_entries;
</span><span class="cx">     HistoryItemHashSet m_entryHash;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryHistoryItemcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/HistoryItem.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/HistoryItem.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/HistoryItem.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -60,12 +60,9 @@
</span><span class="cx"> void (*notifyHistoryItemChanged)(HistoryItem*) = defaultNotifyHistoryItemChanged;
</span><span class="cx"> 
</span><span class="cx"> HistoryItem::HistoryItem()
</span><del>-    : m_lastVisitedTime(0)
-    , m_lastVisitWasHTTPNonGet(false)
-    , m_pageScaleFactor(0)
</del><ins>+    : m_pageScaleFactor(0)
</ins><span class="cx">     , m_lastVisitWasFailure(false)
</span><span class="cx">     , m_isTargetItem(false)
</span><del>-    , m_visitCount(0)
</del><span class="cx">     , m_itemSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_documentSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_next(0)
</span><span class="lines">@@ -78,16 +75,13 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HistoryItem::HistoryItem(const String&amp; urlString, const String&amp; title, double time)
</del><ins>+HistoryItem::HistoryItem(const String&amp; urlString, const String&amp; title)
</ins><span class="cx">     : m_urlString(urlString)
</span><span class="cx">     , m_originalURLString(urlString)
</span><span class="cx">     , m_title(title)
</span><del>-    , m_lastVisitedTime(time)
-    , m_lastVisitWasHTTPNonGet(false)
</del><span class="cx">     , m_pageScaleFactor(0)
</span><span class="cx">     , m_lastVisitWasFailure(false)
</span><span class="cx">     , m_isTargetItem(false)
</span><del>-    , m_visitCount(0)
</del><span class="cx">     , m_itemSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_documentSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_next(0)
</span><span class="lines">@@ -101,17 +95,14 @@
</span><span class="cx">     iconDatabase().retainIconForPageURL(m_urlString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HistoryItem::HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle, double time)
</del><ins>+HistoryItem::HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle)
</ins><span class="cx">     : m_urlString(urlString)
</span><span class="cx">     , m_originalURLString(urlString)
</span><span class="cx">     , m_title(title)
</span><span class="cx">     , m_displayTitle(alternateTitle)
</span><del>-    , m_lastVisitedTime(time)
-    , m_lastVisitWasHTTPNonGet(false)
</del><span class="cx">     , m_pageScaleFactor(0)
</span><span class="cx">     , m_lastVisitWasFailure(false)
</span><span class="cx">     , m_isTargetItem(false)
</span><del>-    , m_visitCount(0)
</del><span class="cx">     , m_itemSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_documentSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_next(0)
</span><span class="lines">@@ -131,12 +122,9 @@
</span><span class="cx">     , m_target(target)
</span><span class="cx">     , m_parent(parent)
</span><span class="cx">     , m_title(title)
</span><del>-    , m_lastVisitedTime(0)
-    , m_lastVisitWasHTTPNonGet(false)
</del><span class="cx">     , m_pageScaleFactor(0)
</span><span class="cx">     , m_lastVisitWasFailure(false)
</span><span class="cx">     , m_isTargetItem(false)
</span><del>-    , m_visitCount(0)
</del><span class="cx">     , m_itemSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_documentSequenceNumber(generateSequenceNumber())
</span><span class="cx">     , m_next(0)
</span><span class="lines">@@ -165,15 +153,10 @@
</span><span class="cx">     , m_parent(item.m_parent)
</span><span class="cx">     , m_title(item.m_title)
</span><span class="cx">     , m_displayTitle(item.m_displayTitle)
</span><del>-    , m_lastVisitedTime(item.m_lastVisitedTime)
-    , m_lastVisitWasHTTPNonGet(item.m_lastVisitWasHTTPNonGet)
</del><span class="cx">     , m_scrollPoint(item.m_scrollPoint)
</span><span class="cx">     , m_pageScaleFactor(item.m_pageScaleFactor)
</span><span class="cx">     , m_lastVisitWasFailure(item.m_lastVisitWasFailure)
</span><span class="cx">     , m_isTargetItem(item.m_isTargetItem)
</span><del>-    , m_visitCount(item.m_visitCount)
-    , m_dailyVisitCounts(item.m_dailyVisitCounts)
-    , m_weeklyVisitCounts(item.m_weeklyVisitCounts)
</del><span class="cx">     , m_itemSequenceNumber(item.m_itemSequenceNumber)
</span><span class="cx">     , m_documentSequenceNumber(item.m_documentSequenceNumber)
</span><span class="cx">     , m_formContentType(item.m_formContentType)
</span><span class="lines">@@ -213,14 +196,8 @@
</span><span class="cx">     m_title = String();
</span><span class="cx">     m_displayTitle = String();
</span><span class="cx"> 
</span><del>-    m_lastVisitedTime = 0;
-    m_lastVisitWasHTTPNonGet = false;
-
</del><span class="cx">     m_lastVisitWasFailure = false;
</span><span class="cx">     m_isTargetItem = false;
</span><del>-    m_visitCount = 0;
-    m_dailyVisitCounts.clear();
-    m_weeklyVisitCounts.clear();
</del><span class="cx"> 
</span><span class="cx">     m_redirectURLs = nullptr;
</span><span class="cx"> 
</span><span class="lines">@@ -262,11 +239,6 @@
</span><span class="cx">     return m_cachedPage ? m_cachedPage-&gt;hasExpired() : false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-double HistoryItem::lastVisitedTime() const
-{
-    return m_lastVisitedTime;
-}
-
</del><span class="cx"> URL HistoryItem::url() const
</span><span class="cx"> {
</span><span class="cx">     return URL(ParsedURLString, m_urlString);
</span><span class="lines">@@ -345,94 +317,6 @@
</span><span class="cx">     m_parent = parent;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static inline int timeToDay(double time)
-{
-    return static_cast&lt;int&gt;(ceil(time / secondsPerDay));
-}
-
-void HistoryItem::padDailyCountsForNewVisit(double time)
-{
-    if (m_dailyVisitCounts.isEmpty())
-        m_dailyVisitCounts.insert(0, m_visitCount);
-
-    int daysElapsed = timeToDay(time) - timeToDay(m_lastVisitedTime);
-
-    if (daysElapsed &lt; 0)
-        daysElapsed = 0;
-
-    Vector&lt;int, 32&gt; padding;
-    padding.fill(0, daysElapsed);
-    m_dailyVisitCounts.insertVector(0, padding);
-}
-
-static const size_t daysPerWeek = 7;
-static const size_t maxDailyCounts = 2 * daysPerWeek - 1;
-static const size_t maxWeeklyCounts = 5;
-
-void HistoryItem::collapseDailyVisitsToWeekly()
-{
-    while (m_dailyVisitCounts.size() &gt; maxDailyCounts) {
-        int oldestWeekTotal = 0;
-        for (size_t i = 0; i &lt; daysPerWeek; i++)
-            oldestWeekTotal += m_dailyVisitCounts[m_dailyVisitCounts.size() - daysPerWeek + i];
-        m_dailyVisitCounts.shrink(m_dailyVisitCounts.size() - daysPerWeek);
-        m_weeklyVisitCounts.insert(0, oldestWeekTotal);
-    }
-
-    if (m_weeklyVisitCounts.size() &gt; maxWeeklyCounts)
-        m_weeklyVisitCounts.shrink(maxWeeklyCounts);
-}
-
-void HistoryItem::recordVisitAtTime(double time, VisitCountBehavior visitCountBehavior)
-{
-    padDailyCountsForNewVisit(time);
-
-    m_lastVisitedTime = time;
-
-    if (visitCountBehavior == IncreaseVisitCount) {
-        ++m_visitCount;
-        ++m_dailyVisitCounts[0];
-    }
-
-    collapseDailyVisitsToWeekly();
-}
-
-void HistoryItem::setLastVisitedTime(double time)
-{
-    if (m_lastVisitedTime != time)
-        recordVisitAtTime(time);
-}
-
-void HistoryItem::visited(const String&amp; title, double time, VisitCountBehavior visitCountBehavior)
-{
-    m_title = title;
-    recordVisitAtTime(time, visitCountBehavior);
-}
-
-int HistoryItem::visitCount() const
-{
-    return m_visitCount;
-}
-
-void HistoryItem::recordInitialVisit()
-{
-    ASSERT(!m_visitCount);
-    recordVisitAtTime(m_lastVisitedTime);
-}
-
-void HistoryItem::setVisitCount(int count)
-{
-    m_visitCount = count;
-}
-
-void HistoryItem::adoptVisitCounts(Vector&lt;int&gt;&amp; dailyCounts, Vector&lt;int&gt;&amp; weeklyCounts)
-{
-    m_dailyVisitCounts.clear();
-    m_dailyVisitCounts.swap(dailyCounts);
-    m_weeklyVisitCounts.clear();
-    m_weeklyVisitCounts.swap(weeklyCounts);
-}
-
</del><span class="cx"> const IntPoint&amp; HistoryItem::scrollPoint() const
</span><span class="cx"> {
</span><span class="cx">     return m_scrollPoint;
</span><span class="lines">@@ -671,16 +555,6 @@
</span><span class="cx">     return equalIgnoringFragmentIdentifier(url(), doc-&gt;url());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HistoryItem::mergeAutoCompleteHints(HistoryItem* otherItem)
-{
-    // FIXME: this is broken - we should be merging the daily counts
-    // somehow.  but this is to support API that's not really used in
-    // practice so leave it broken for now.
-    ASSERT(otherItem);
-    if (otherItem != this)
-        m_visitCount += otherItem-&gt;m_visitCount;
-}
-
</del><span class="cx"> void HistoryItem::addRedirectURL(const String&amp; url)
</span><span class="cx"> {
</span><span class="cx">     if (!m_redirectURLs)
</span><span class="lines">@@ -831,7 +705,7 @@
</span><span class="cx">     Vector&lt;DecodeRecursionStackElement, 16&gt; recursionStack;
</span><span class="cx"> 
</span><span class="cx"> recurse:
</span><del>-    RefPtr&lt;HistoryItem&gt; node = create(urlString, title, 0);
</del><ins>+    RefPtr&lt;HistoryItem&gt; node = create(urlString, title);
</ins><span class="cx"> 
</span><span class="cx">     node-&gt;setOriginalURLString(originalURLString);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryHistoryItemh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/HistoryItem.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/HistoryItem.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/HistoryItem.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -58,23 +58,18 @@
</span><span class="cx"> 
</span><span class="cx"> extern void (*notifyHistoryItemChanged)(HistoryItem*);
</span><span class="cx"> 
</span><del>-enum VisitCountBehavior {
-    IncreaseVisitCount,
-    DoNotIncreaseVisitCount
-};
-
</del><span class="cx"> class HistoryItem : public RefCounted&lt;HistoryItem&gt; {
</span><span class="cx">     friend class PageCache;
</span><span class="cx"> 
</span><span class="cx"> public: 
</span><span class="cx">     static PassRefPtr&lt;HistoryItem&gt; create() { return adoptRef(new HistoryItem); }
</span><del>-    static PassRefPtr&lt;HistoryItem&gt; create(const String&amp; urlString, const String&amp; title, double lastVisited)
</del><ins>+    static PassRefPtr&lt;HistoryItem&gt; create(const String&amp; urlString, const String&amp; title)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new HistoryItem(urlString, title, lastVisited));
</del><ins>+        return adoptRef(new HistoryItem(urlString, title));
</ins><span class="cx">     }
</span><del>-    static PassRefPtr&lt;HistoryItem&gt; create(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle, double lastVisited)
</del><ins>+    static PassRefPtr&lt;HistoryItem&gt; create(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle)
</ins><span class="cx">     {
</span><del>-        return adoptRef(new HistoryItem(urlString, title, alternateTitle, lastVisited));
</del><ins>+        return adoptRef(new HistoryItem(urlString, title, alternateTitle));
</ins><span class="cx">     }
</span><span class="cx">     static PassRefPtr&lt;HistoryItem&gt; create(const URL&amp; url, const String&amp; target, const String&amp; parent, const String&amp; title)
</span><span class="cx">     {
</span><span class="lines">@@ -99,9 +94,7 @@
</span><span class="cx">     
</span><span class="cx">     bool isInPageCache() const { return m_cachedPage.get(); }
</span><span class="cx">     bool hasCachedPageExpired() const;
</span><del>-    
-    double lastVisitedTime() const;
-    
</del><ins>+
</ins><span class="cx">     void setAlternateTitle(const String&amp; alternateTitle);
</span><span class="cx">     const String&amp; alternateTitle() const;
</span><span class="cx">     
</span><span class="lines">@@ -115,12 +108,8 @@
</span><span class="cx">     FormData* formData();
</span><span class="cx">     String formContentType() const;
</span><span class="cx">     
</span><del>-    int visitCount() const;
</del><span class="cx">     bool lastVisitWasFailure() const { return m_lastVisitWasFailure; }
</span><del>-    bool lastVisitWasHTTPNonGet() const { return m_lastVisitWasHTTPNonGet; }
</del><span class="cx"> 
</span><del>-    void mergeAutoCompleteHints(HistoryItem* otherItem);
-    
</del><span class="cx">     const IntPoint&amp; scrollPoint() const;
</span><span class="cx">     void setScrollPoint(const IntPoint&amp;);
</span><span class="cx">     void clearScrollPoint();
</span><span class="lines">@@ -154,11 +143,7 @@
</span><span class="cx">     void setFormData(PassRefPtr&lt;FormData&gt;);
</span><span class="cx">     void setFormContentType(const String&amp;);
</span><span class="cx"> 
</span><del>-    void recordInitialVisit();
-
-    void setVisitCount(int);
</del><span class="cx">     void setLastVisitWasFailure(bool wasFailure) { m_lastVisitWasFailure = wasFailure; }
</span><del>-    void setLastVisitWasHTTPNonGet(bool wasNotGet) { m_lastVisitWasHTTPNonGet = wasNotGet; }
</del><span class="cx"> 
</span><span class="cx">     void addChildItem(PassRefPtr&lt;HistoryItem&gt;);
</span><span class="cx">     void setChildItem(PassRefPtr&lt;HistoryItem&gt;);
</span><span class="lines">@@ -173,11 +158,6 @@
</span><span class="cx">     bool shouldDoSameDocumentNavigationTo(HistoryItem* otherItem) const;
</span><span class="cx">     bool hasSameFrames(HistoryItem* otherItem) const;
</span><span class="cx"> 
</span><del>-    // This should not be called directly for HistoryItems that are already included
-    // in GlobalHistory. The WebKit api for this is to use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
-    void setLastVisitedTime(double);
-    void visited(const String&amp; title, double time, VisitCountBehavior);
-
</del><span class="cx">     void addRedirectURL(const String&amp;);
</span><span class="cx">     Vector&lt;String&gt;* redirectURLs() const;
</span><span class="cx">     void setRedirectURLs(std::unique_ptr&lt;Vector&lt;String&gt;&gt;);
</span><span class="lines">@@ -199,10 +179,6 @@
</span><span class="cx">     int showTreeWithIndent(unsigned indentLevel) const;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    void adoptVisitCounts(Vector&lt;int&gt;&amp; dailyCounts, Vector&lt;int&gt;&amp; weeklyCounts);
-    const Vector&lt;int&gt;&amp; dailyVisitCounts() const { return m_dailyVisitCounts; }
-    const Vector&lt;int&gt;&amp; weeklyVisitCounts() const { return m_weeklyVisitCounts; }
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     float scale() const { return m_scale; }
</span><span class="cx">     bool scaleIsInitial() const { return m_scaleIsInitial; }
</span><span class="lines">@@ -223,16 +199,12 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     HistoryItem();
</span><del>-    HistoryItem(const String&amp; urlString, const String&amp; title, double lastVisited);
-    HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle, double lastVisited);
</del><ins>+    HistoryItem(const String&amp; urlString, const String&amp; title);
+    HistoryItem(const String&amp; urlString, const String&amp; title, const String&amp; alternateTitle);
</ins><span class="cx">     HistoryItem(const URL&amp; url, const String&amp; frameName, const String&amp; parent, const String&amp; title);
</span><span class="cx"> 
</span><span class="cx">     explicit HistoryItem(const HistoryItem&amp;);
</span><span class="cx"> 
</span><del>-    void padDailyCountsForNewVisit(double time);
-    void collapseDailyVisitsToWeekly();
-    void recordVisitAtTime(double, VisitCountBehavior = IncreaseVisitCount);
-    
</del><span class="cx">     bool hasSameDocumentTree(HistoryItem* otherItem) const;
</span><span class="cx"> 
</span><span class="cx">     HistoryItem* findTargetItem();
</span><span class="lines">@@ -248,9 +220,6 @@
</span><span class="cx">     String m_title;
</span><span class="cx">     String m_displayTitle;
</span><span class="cx">     
</span><del>-    double m_lastVisitedTime;
-    bool m_lastVisitWasHTTPNonGet;
-
</del><span class="cx">     IntPoint m_scrollPoint;
</span><span class="cx">     float m_pageScaleFactor;
</span><span class="cx">     Vector&lt;String&gt; m_documentState;
</span><span class="lines">@@ -259,9 +228,6 @@
</span><span class="cx">     
</span><span class="cx">     bool m_lastVisitWasFailure;
</span><span class="cx">     bool m_isTargetItem;
</span><del>-    int m_visitCount;
-    Vector&lt;int&gt; m_dailyVisitCounts;
-    Vector&lt;int&gt; m_weeklyVisitCounts;
</del><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;Vector&lt;String&gt;&gt; m_redirectURLs;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehistoryPageCachecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/history/PageCache.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/history/PageCache.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/history/PageCache.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -231,10 +231,6 @@
</span><span class="cx">     if (frameRejectReasons)
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; FrameCannotBeInPageCache;
</span><span class="cx">     
</span><del>-    if (!page-&gt;backForward().isActive()) {
-        PCLOG(&quot;   -The back/forward list is disabled or has 0 capacity&quot;);
-        rejectReasons |= 1 &lt;&lt; DisabledBackForwardList;
-    }
</del><span class="cx">     if (!page-&gt;settings().usesPageCache()) {
</span><span class="cx">         PCLOG(&quot;   -Page settings says b/f cache disabled&quot;);
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; DisabledPageCache;
</span><span class="lines">@@ -380,7 +376,6 @@
</span><span class="cx">     
</span><span class="cx">     return m_capacity &gt; 0
</span><span class="cx">         &amp;&amp; canCachePageContainingThisFrame(&amp;page-&gt;mainFrame())
</span><del>-        &amp;&amp; page-&gt;backForward().isActive()
</del><span class="cx">         &amp;&amp; page-&gt;settings().usesPageCache()
</span><span class="cx"> #if ENABLE(DEVICE_ORIENTATION) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">         &amp;&amp; !DeviceMotionController::isActiveAt(page)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlHTMLTrackElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/HTMLTrackElement.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/HTMLTrackElement.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/HTMLTrackElement.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -213,15 +213,15 @@
</span><span class="cx"> 
</span><span class="cx">     // 8. If the track element's parent is a media element then let CORS mode be the state of the parent media
</span><span class="cx">     // element's crossorigin content attribute. Otherwise, let CORS mode be No CORS.
</span><del>-    if (!canLoadUrl(url)) {
-        didCompleteLoad(&amp;ensureTrack(), HTMLTrackElement::Failure);
</del><ins>+    if (!canLoadURL(url)) {
+        didCompleteLoad(HTMLTrackElement::Failure);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ensureTrack().scheduleLoad(url);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool HTMLTrackElement::canLoadUrl(const URL&amp; url)
</del><ins>+bool HTMLTrackElement::canLoadURL(const URL&amp; url)
</ins><span class="cx"> {
</span><span class="cx">     if (!RuntimeEnabledFeatures::sharedFeatures().webkitVideoTrackEnabled())
</span><span class="cx">         return false;
</span><span class="lines">@@ -239,14 +239,14 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (!document().contentSecurityPolicy()-&gt;allowMediaFromSource(url)) {
</span><del>-        LOG(Media, &quot;HTMLTrackElement::canLoadUrl(%s) -&gt; rejected by Content Security Policy&quot;, urlForLoggingTrack(url).utf8().data());
</del><ins>+        LOG(Media, &quot;HTMLTrackElement::canLoadURL(%s) -&gt; rejected by Content Security Policy&quot;, urlForLoggingTrack(url).utf8().data());
</ins><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     return dispatchBeforeLoadEvent(url.string());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTMLTrackElement::didCompleteLoad(LoadableTextTrack*, LoadStatus status)
</del><ins>+void HTMLTrackElement::didCompleteLoad(LoadStatus status)
</ins><span class="cx"> {
</span><span class="cx">     // 4.8.10.12.3 Sourcing out-of-band text tracks (continued)
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlHTMLTrackElementh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/HTMLTrackElement.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/HTMLTrackElement.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/HTMLTrackElement.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx">     void scheduleLoad();
</span><span class="cx"> 
</span><span class="cx">     enum LoadStatus { Failure, Success };
</span><del>-    virtual void didCompleteLoad(LoadableTextTrack*, LoadStatus);
</del><ins>+    void didCompleteLoad(LoadStatus);
</ins><span class="cx"> 
</span><span class="cx">     const AtomicString&amp; mediaElementCrossOriginAttribute() const;
</span><span class="cx"> 
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx">     virtual void textTrackRemoveCue(TextTrack*, PassRefPtr&lt;TextTrackCue&gt;) override;
</span><span class="cx"> 
</span><span class="cx">     LoadableTextTrack&amp; ensureTrack();
</span><del>-    virtual bool canLoadUrl(const URL&amp;);
</del><ins>+    bool canLoadURL(const URL&amp;);
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;LoadableTextTrack&gt; m_track;
</span><span class="cx">     Timer&lt;HTMLTrackElement&gt; m_loadTimer;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlcanvasWebGLRenderingContextidl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/canvas/WebGLRenderingContext.idl (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/canvas/WebGLRenderingContext.idl        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/canvas/WebGLRenderingContext.idl        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -237,7 +237,6 @@
</span><span class="cx">     const GLenum INT                            = 0x1404;
</span><span class="cx">     const GLenum UNSIGNED_INT                   = 0x1405;
</span><span class="cx">     const GLenum FLOAT                          = 0x1406;
</span><del>-    const GLenum HALF_FLOAT_OES                 = 0x8D61;
</del><span class="cx"> 
</span><span class="cx">     /* PixelFormat */
</span><span class="cx">     const GLenum DEPTH_COMPONENT                = 0x1902;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmlparserHTMLParserIdiomscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/parser/HTMLParserIdioms.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/parser/HTMLParserIdioms.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/parser/HTMLParserIdioms.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     if (string.is8Bit())
</span><span class="cx">         return stripLeadingAndTrailingHTMLSpaces(string, string.characters8(), length);
</span><span class="cx"> 
</span><del>-    return stripLeadingAndTrailingHTMLSpaces(string, string.characters(), length);
</del><ins>+    return stripLeadingAndTrailingHTMLSpaces(string, string.deprecatedCharacters(), length);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> String serializeForNumberType(const Decimal&amp; number)
</span><span class="lines">@@ -272,7 +272,7 @@
</span><span class="cx">         return parseHTMLNonNegativeIntegerInternal(start, start + length, value);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    const UChar* start = input.characters();
</del><ins>+    const UChar* start = input.deprecatedCharacters();
</ins><span class="cx">     return parseHTMLNonNegativeIntegerInternal(start, start + length, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmltrackLoadableTextTrackcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -94,9 +94,9 @@
</span><span class="cx">     // 4. Download: If URL is not the empty string, perform a potentially CORS-enabled fetch of URL, with the
</span><span class="cx">     // mode being the state of the media element's crossorigin content attribute, the origin being the
</span><span class="cx">     // origin of the media element's Document, and the default origin behaviour set to fail.
</span><del>-    m_loader = TextTrackLoader::create(this, static_cast&lt;ScriptExecutionContext*&gt;(&amp;m_trackElement-&gt;document()));
</del><ins>+    m_loader = TextTrackLoader::create(*this, static_cast&lt;ScriptExecutionContext*&gt;(&amp;m_trackElement-&gt;document()));
</ins><span class="cx">     if (!m_loader-&gt;load(m_url, m_trackElement-&gt;mediaElementCrossOriginAttribute()))
</span><del>-        m_trackElement-&gt;didCompleteLoad(this, HTMLTrackElement::Failure);
</del><ins>+        m_trackElement-&gt;didCompleteLoad(HTMLTrackElement::Failure);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void LoadableTextTrack::newCuesAvailable(TextTrackLoader* loader)
</span><span class="lines">@@ -118,11 +118,6 @@
</span><span class="cx">         client()-&gt;textTrackAddCues(this, m_cues.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void LoadableTextTrack::cueLoadingStarted(TextTrackLoader* loader)
-{
-    ASSERT_UNUSED(loader, m_loader == loader);
-}
-
</del><span class="cx"> void LoadableTextTrack::cueLoadingCompleted(TextTrackLoader* loader, bool loadingFailed)
</span><span class="cx"> {
</span><span class="cx">     ASSERT_UNUSED(loader, m_loader == loader);
</span><span class="lines">@@ -130,7 +125,7 @@
</span><span class="cx">     if (!m_trackElement)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_trackElement-&gt;didCompleteLoad(this, loadingFailed ? HTMLTrackElement::Failure : HTMLTrackElement::Success);
</del><ins>+    m_trackElement-&gt;didCompleteLoad(loadingFailed ? HTMLTrackElement::Failure : HTMLTrackElement::Success);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorehtmltrackLoadableTextTrackh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/html/track/LoadableTextTrack.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,14 +37,6 @@
</span><span class="cx"> class HTMLTrackElement;
</span><span class="cx"> class LoadableTextTrack;
</span><span class="cx"> 
</span><del>-class LoadableTextTrackClient : public TextTrackClient {
-public:
-    virtual ~LoadableTextTrackClient() { }
-    
-    virtual bool canLoadUrl(LoadableTextTrack*, const URL&amp;) { return false; }
-    virtual void loadingCompleted(LoadableTextTrack*, bool /* loadingFailed */) { }
-};
-
</del><span class="cx"> class LoadableTextTrack : public TextTrack, private TextTrackLoaderClient {
</span><span class="cx"> public:
</span><span class="cx">     static PassRefPtr&lt;LoadableTextTrack&gt; create(HTMLTrackElement* track, const String&amp; kind, const String&amp; label, const String&amp; language)
</span><span class="lines">@@ -69,9 +61,7 @@
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     // TextTrackLoaderClient
</span><del>-    virtual bool shouldLoadCues(TextTrackLoader*) override { return true; }
</del><span class="cx">     virtual void newCuesAvailable(TextTrackLoader*) override;
</span><del>-    virtual void cueLoadingStarted(TextTrackLoader*) override;
</del><span class="cx">     virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) override;
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span><span class="cx">     virtual void newRegionsAvailable(TextTrackLoader*);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorAllInOnecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorAllInOne.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorAllInOne.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorAllInOne.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -44,7 +44,6 @@
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseResource.cpp&quot;
</span><del>-#include &quot;InspectorDebuggerAgent.cpp&quot;
</del><span class="cx"> #include &quot;InspectorFrontendClientLocal.cpp&quot;
</span><span class="cx"> #include &quot;InspectorFrontendHost.cpp&quot;
</span><span class="cx"> #include &quot;InspectorHeapProfilerAgent.cpp&quot;
</span><span class="lines">@@ -60,7 +59,6 @@
</span><span class="cx"> #include &quot;InspectorPageAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorProfilerAgent.cpp&quot;
</span><span class="cx"> #include &quot;InspectorResourceAgent.cpp&quot;
</span><del>-#include &quot;InspectorRuntimeAgent.cpp&quot;
</del><span class="cx"> #include &quot;InspectorStyleSheet.cpp&quot;
</span><span class="cx"> #include &quot;InspectorStyleTextEditor.cpp&quot;
</span><span class="cx"> #include &quot;InspectorTimelineAgent.cpp&quot;
</span><span class="lines">@@ -76,6 +74,7 @@
</span><span class="cx"> #include &quot;ScriptCallFrame.cpp&quot;
</span><span class="cx"> #include &quot;ScriptCallStack.cpp&quot;
</span><span class="cx"> #include &quot;TimelineRecordFactory.cpp&quot;
</span><ins>+#include &quot;WebDebuggerAgent.cpp&quot;
</ins><span class="cx"> #include &quot;WorkerConsoleAgent.cpp&quot;
</span><span class="cx"> #include &quot;WorkerDebuggerAgent.cpp&quot;
</span><span class="cx"> #include &quot;WorkerInspectorController.cpp&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,7 +45,6 @@
</span><span class="cx"> #include &quot;InspectorDOMDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseAgent.h&quot;
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorFrontendClient.h&quot;
</span><span class="cx"> #include &quot;InspectorHeapProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorIndexedDBAgent.h&quot;
</span><span class="lines">@@ -106,6 +105,11 @@
</span><span class="cx">     m_pageAgent = pageAgentPtr.get();
</span><span class="cx">     m_agents.append(std::move(pageAgentPtr));
</span><span class="cx"> 
</span><ins>+    auto runtimeAgentPtr = std::make_unique&lt;PageRuntimeAgent&gt;(m_injectedScriptManager.get(), &amp;page, pageAgent);
+    PageRuntimeAgent* runtimeAgent = runtimeAgentPtr.get();
+    m_instrumentingAgents-&gt;setPageRuntimeAgent(runtimeAgent);
+    m_agents.append(std::move(runtimeAgentPtr));
+
</ins><span class="cx">     auto domAgentPtr = std::make_unique&lt;InspectorDOMAgent&gt;(m_instrumentingAgents.get(), pageAgent, m_injectedScriptManager.get(), m_overlay.get());
</span><span class="cx">     m_domAgent = domAgentPtr.get();
</span><span class="cx">     m_agents.append(std::move(domAgentPtr));
</span><span class="lines">@@ -137,16 +141,12 @@
</span><span class="cx">     m_resourceAgent = resourceAgentPtr.get();
</span><span class="cx">     m_agents.append(std::move(resourceAgentPtr));
</span><span class="cx"> 
</span><del>-    auto runtimeAgentPtr = std::make_unique&lt;PageRuntimeAgent&gt;(m_instrumentingAgents.get(), m_injectedScriptManager.get(), &amp;page, pageAgent);
-    InspectorRuntimeAgent* runtimeAgent = runtimeAgentPtr.get();
-    m_agents.append(std::move(runtimeAgentPtr));
-
</del><span class="cx">     auto consoleAgentPtr = std::make_unique&lt;PageConsoleAgent&gt;(m_instrumentingAgents.get(), m_injectedScriptManager.get(), m_domAgent);
</span><span class="cx">     InspectorConsoleAgent* consoleAgent = consoleAgentPtr.get();
</span><span class="cx">     m_agents.append(std::move(consoleAgentPtr));
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    auto debuggerAgentPtr = std::make_unique&lt;PageDebuggerAgent&gt;(m_instrumentingAgents.get(), pageAgent, m_injectedScriptManager.get(), m_overlay.get());
</del><ins>+    auto debuggerAgentPtr = std::make_unique&lt;PageDebuggerAgent&gt;(m_injectedScriptManager.get(), m_instrumentingAgents.get(), pageAgent, m_overlay.get());
</ins><span class="cx">     m_debuggerAgent = debuggerAgentPtr.get();
</span><span class="cx">     m_agents.append(std::move(debuggerAgentPtr));
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -44,9 +44,10 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> class InspectorAgent;
</span><ins>+class InspectorBackendDispatcher;
+class InspectorDebuggerAgent;
+class InspectorFrontendChannel;
</ins><span class="cx"> class InspectorObject;
</span><del>-class InspectorFrontendChannel;
-class InspectorBackendDispatcher;
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -58,7 +59,6 @@
</span><span class="cx"> class InspectorClient;
</span><span class="cx"> class InspectorDOMAgent;
</span><span class="cx"> class InspectorDOMDebuggerAgent;
</span><del>-class InspectorDebuggerAgent;
</del><span class="cx"> class InspectorFrontendClient;
</span><span class="cx"> class InspectorMemoryAgent;
</span><span class="cx"> class InspectorOverlay;
</span><span class="lines">@@ -156,7 +156,7 @@
</span><span class="cx">     InspectorPageAgent* m_pageAgent;
</span><span class="cx">     InspectorMemoryAgent* m_memoryAgent;
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    InspectorDebuggerAgent* m_debuggerAgent;
</del><ins>+    Inspector::InspectorDebuggerAgent* m_debuggerAgent;
</ins><span class="cx">     InspectorDOMDebuggerAgent* m_domDebuggerAgent;
</span><span class="cx">     InspectorProfilerAgent* m_profilerAgent;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorDOMDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,14 +29,12 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;InspectorDOMDebuggerAgent.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR) &amp;&amp; ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorDOMDebuggerAgent.h&quot;
-
</del><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMAgent.h&quot;
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorInstrumentation.h&quot;
</span><span class="cx"> #include &quot;InspectorWebFrontendDispatchers.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorDOMDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,9 +33,9 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorWebAgentBase.h&quot;
</span><span class="cx"> #include &quot;InspectorWebBackendDispatchers.h&quot;
</span><ins>+#include &lt;inspector/agents/InspectorDebuggerAgent.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="lines">@@ -49,16 +49,15 @@
</span><span class="cx"> 
</span><span class="cx"> class Element;
</span><span class="cx"> class InspectorDOMAgent;
</span><del>-class InspectorDebuggerAgent;
</del><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class Node;
</span><span class="cx"> 
</span><span class="cx"> typedef String ErrorString;
</span><span class="cx"> 
</span><del>-class InspectorDOMDebuggerAgent : public InspectorAgentBase, public InspectorDebuggerAgent::Listener, public Inspector::InspectorDOMDebuggerBackendDispatcherHandler {
</del><ins>+class InspectorDOMDebuggerAgent : public InspectorAgentBase, public Inspector::InspectorDebuggerAgent::Listener, public Inspector::InspectorDOMDebuggerBackendDispatcherHandler {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(InspectorDOMDebuggerAgent);
</span><span class="cx"> public:
</span><del>-    InspectorDOMDebuggerAgent(InstrumentingAgents*, InspectorDOMAgent*, InspectorDebuggerAgent*);
</del><ins>+    InspectorDOMDebuggerAgent(InstrumentingAgents*, InspectorDOMAgent*, Inspector::InspectorDebuggerAgent*);
</ins><span class="cx">     virtual ~InspectorDOMDebuggerAgent();
</span><span class="cx"> 
</span><span class="cx">     // DOMDebugger API
</span><span class="lines">@@ -86,7 +85,7 @@
</span><span class="cx">     virtual void discardAgent() override;
</span><span class="cx"> 
</span><span class="cx"> private:
</span><del>-    // InspectorDebuggerAgent::Listener implementation.
</del><ins>+    // Inspector::InspectorDebuggerAgent::Listener implementation.
</ins><span class="cx">     virtual void debuggerWasEnabled() override;
</span><span class="cx">     virtual void debuggerWasDisabled() override;
</span><span class="cx">     virtual void stepInto() override;
</span><span class="lines">@@ -103,7 +102,7 @@
</span><span class="cx">     void clear();
</span><span class="cx"> 
</span><span class="cx">     InspectorDOMAgent* m_domAgent;
</span><del>-    InspectorDebuggerAgent* m_debuggerAgent;
</del><ins>+    Inspector::InspectorDebuggerAgent* m_debuggerAgent;
</ins><span class="cx">     RefPtr&lt;Inspector::InspectorDOMDebuggerBackendDispatcher&gt; m_backendDispatcher;
</span><span class="cx">     HashMap&lt;Node*, uint32_t&gt; m_domBreakpoints;
</span><span class="cx">     HashSet&lt;String&gt; m_eventListenerBreakpoints;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,753 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 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:
- *
- * 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.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;InspectorDebuggerAgent.h&quot;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
-
-#include &quot;CachedResource.h&quot;
-#include &quot;InspectorPageAgent.h&quot;
-#include &quot;InstrumentingAgents.h&quot;
-#include &quot;ScriptDebugServer.h&quot;
-#include &lt;bindings/ScriptObject.h&gt;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;inspector/ContentSearchUtilities.h&gt;
-#include &lt;inspector/InjectedScript.h&gt;
-#include &lt;inspector/InjectedScriptManager.h&gt;
-#include &lt;inspector/InspectorValues.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-#include &lt;yarr/RegularExpression.h&gt;
-
-using Inspector::TypeBuilder::Array;
-using Inspector::TypeBuilder::Debugger::FunctionDetails;
-using Inspector::TypeBuilder::Debugger::ScriptId;
-using Inspector::TypeBuilder::Runtime::RemoteObject;
-
-using namespace Inspector;
-
-namespace WebCore {
-
-const char* InspectorDebuggerAgent::backtraceObjectGroup = &quot;backtrace&quot;;
-
-static String objectGroupForBreakpointAction(int identifier)
-{
-    DEFINE_STATIC_LOCAL(const AtomicString, objectGroup, (&quot;breakpoint-action-&quot;, AtomicString::ConstructFromLiteral));
-    return makeString(objectGroup, String::number(identifier));
-}
-
-InspectorDebuggerAgent::InspectorDebuggerAgent(InstrumentingAgents* instrumentingAgents, InjectedScriptManager* injectedScriptManager)
-    : InspectorAgentBase(ASCIILiteral(&quot;Debugger&quot;), instrumentingAgents)
-    , m_injectedScriptManager(injectedScriptManager)
-    , m_pausedScriptState(nullptr)
-    , m_continueToLocationBreakpointID(JSC::noBreakpointID)
-    , m_enabled(false)
-    , m_javaScriptPauseScheduled(false)
-    , m_listener(nullptr)
-    , m_nextProbeSampleId(1)
-    , m_nextBreakpointActionIdentifier(1)
-{
-    // FIXME: make breakReason optional so that there was no need to init it with &quot;other&quot;.
-    clearBreakDetails();
-}
-
-InspectorDebuggerAgent::~InspectorDebuggerAgent()
-{
-    ASSERT(!m_instrumentingAgents-&gt;inspectorDebuggerAgent());
-}
-
-void InspectorDebuggerAgent::enable()
-{
-    m_instrumentingAgents-&gt;setInspectorDebuggerAgent(this);
-
-    scriptDebugServer().setBreakpointsActivated(true);
-    startListeningScriptDebugServer();
-
-    if (m_listener)
-        m_listener-&gt;debuggerWasEnabled();
-
-    m_enabled = true;
-}
-
-void InspectorDebuggerAgent::disable(bool isBeingDestroyed)
-{
-    m_javaScriptBreakpoints.clear();
-    m_instrumentingAgents-&gt;setInspectorDebuggerAgent(nullptr);
-
-    stopListeningScriptDebugServer(isBeingDestroyed);
-    clearResolvedBreakpointState();
-
-    if (m_listener)
-        m_listener-&gt;debuggerWasDisabled();
-
-    m_enabled = false;
-}
-
-void InspectorDebuggerAgent::enable(ErrorString*)
-{
-    if (m_enabled)
-        return;
-
-    enable();
-
-    ASSERT(m_frontendDispatcher);
-}
-
-void InspectorDebuggerAgent::disable(ErrorString*)
-{
-    if (!m_enabled)
-        return;
-
-    bool skipRecompile = false;
-    disable(skipRecompile);
-}
-
-void InspectorDebuggerAgent::didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
-{
-    m_frontendDispatcher = std::make_unique&lt;InspectorDebuggerFrontendDispatcher&gt;(frontendChannel);
-    m_backendDispatcher = InspectorDebuggerBackendDispatcher::create(backendDispatcher, this);
-}
-
-void InspectorDebuggerAgent::willDestroyFrontendAndBackend(InspectorDisconnectReason reason)
-{
-    m_frontendDispatcher = nullptr;
-    m_backendDispatcher.clear();
-
-    bool skipRecompile = reason == InspectorDisconnectReason::InspectedTargetDestroyed;
-    disable(skipRecompile);
-}
-
-void InspectorDebuggerAgent::setBreakpointsActive(ErrorString*, bool active)
-{
-    if (active)
-        scriptDebugServer().activateBreakpoints();
-    else
-        scriptDebugServer().deactivateBreakpoints();
-}
-
-bool InspectorDebuggerAgent::isPaused()
-{
-    return scriptDebugServer().isPaused();
-}
-
-void InspectorDebuggerAgent::addMessageToConsole(MessageSource source, MessageType type)
-{
-    if (scriptDebugServer().pauseOnExceptionsState() != ScriptDebugServer::DontPauseOnExceptions &amp;&amp; source == ConsoleAPIMessageSource &amp;&amp; type == AssertMessageType)
-        breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Assert, nullptr);
-}
-
-static PassRefPtr&lt;InspectorObject&gt; buildObjectForBreakpointCookie(const String&amp; url, int lineNumber, int columnNumber, const String&amp; condition, RefPtr&lt;InspectorArray&gt;&amp; actions, bool isRegex, bool autoContinue)
-{
-    RefPtr&lt;InspectorObject&gt; breakpointObject = InspectorObject::create();
-    breakpointObject-&gt;setString(&quot;url&quot;, url);
-    breakpointObject-&gt;setNumber(&quot;lineNumber&quot;, lineNumber);
-    breakpointObject-&gt;setNumber(&quot;columnNumber&quot;, columnNumber);
-    breakpointObject-&gt;setString(&quot;condition&quot;, condition);
-    breakpointObject-&gt;setBoolean(&quot;isRegex&quot;, isRegex);
-    breakpointObject-&gt;setBoolean(&quot;autoContinue&quot;, autoContinue);
-    if (actions)
-        breakpointObject-&gt;setArray(&quot;actions&quot;, actions);
-
-    return breakpointObject;
-}
-
-static bool matches(const String&amp; url, const String&amp; pattern, bool isRegex)
-{
-    if (isRegex) {
-        JSC::Yarr::RegularExpression regex(pattern, TextCaseSensitive);
-        return regex.match(url) != -1;
-    }
-    return url == pattern;
-}
-
-static bool breakpointActionTypeForString(const String&amp; typeString, ScriptBreakpointActionType* output)
-{
-    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Log)) {
-        *output = ScriptBreakpointActionTypeLog;
-        return true;
-    }
-    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Evaluate)) {
-        *output = ScriptBreakpointActionTypeEvaluate;
-        return true;
-    }
-    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Sound)) {
-        *output = ScriptBreakpointActionTypeSound;
-        return true;
-    }
-    if (typeString == Inspector::TypeBuilder::getJSEnumConstantValue(Inspector::TypeBuilder::Debugger::BreakpointAction::Type::Probe)) {
-        *output = ScriptBreakpointActionTypeProbe;
-        return true;
-    }
-
-    return false;
-}
-
-bool InspectorDebuggerAgent::breakpointActionsFromProtocol(ErrorString* errorString, RefPtr&lt;InspectorArray&gt;&amp; actions, Vector&lt;ScriptBreakpointAction&gt;* result)
-{
-    if (!actions)
-        return true;
-
-    unsigned actionsLength = actions-&gt;length();
-    if (!actionsLength)
-        return true;
-
-    result-&gt;reserveCapacity(actionsLength);
-    for (unsigned i = 0; i &lt; actionsLength; ++i) {
-        RefPtr&lt;InspectorValue&gt; value = actions-&gt;get(i);
-        RefPtr&lt;InspectorObject&gt; object;
-        if (!value-&gt;asObject(&amp;object)) {
-            *errorString = &quot;BreakpointAction of incorrect type, expected object&quot;;
-            return false;
-        }
-
-        String typeString;
-        if (!object-&gt;getString(&quot;type&quot;, &amp;typeString)) {
-            *errorString = &quot;BreakpointAction had type missing&quot;;
-            return false;
-        }
-
-        ScriptBreakpointActionType type;
-        if (!breakpointActionTypeForString(typeString, &amp;type)) {
-            *errorString = &quot;BreakpointAction had unknown type&quot;;
-            return false;
-        }
-
-        String data;
-        object-&gt;getString(&quot;data&quot;, &amp;data);
-
-        result-&gt;append(ScriptBreakpointAction(type, m_nextBreakpointActionIdentifier++, data));
-    }
-
-    return true;
-}
-
-void InspectorDebuggerAgent::setBreakpointByUrl(ErrorString* errorString, int lineNumber, const String* const optionalURL, const String* const optionalURLRegex, const int* const optionalColumnNumber, const RefPtr&lt;InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;&gt;&amp; locations, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers)
-{
-    locations = Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;::create();
-    if (!optionalURL == !optionalURLRegex) {
-        *errorString = &quot;Either url or urlRegex must be specified.&quot;;
-        return;
-    }
-
-    String url = optionalURL ? *optionalURL : *optionalURLRegex;
-    int columnNumber = optionalColumnNumber ? *optionalColumnNumber : 0;
-    bool isRegex = optionalURLRegex;
-
-    String breakpointIdentifier = (isRegex ? &quot;/&quot; + url + &quot;/&quot; : url) + ':' + String::number(lineNumber) + ':' + String::number(columnNumber);
-    if (m_javaScriptBreakpoints.contains(breakpointIdentifier)) {
-        *errorString = &quot;Breakpoint at specified location already exists.&quot;;
-        return;
-    }
-
-    String condition = emptyString();
-    bool autoContinue = false;
-    RefPtr&lt;InspectorArray&gt; actions;
-    if (options) {
-        (*options)-&gt;getString(&quot;condition&quot;, &amp;condition);
-        (*options)-&gt;getBoolean(&quot;autoContinue&quot;, &amp;autoContinue);
-        actions = (*options)-&gt;getArray(&quot;actions&quot;);
-    }
-
-    Vector&lt;ScriptBreakpointAction&gt; breakpointActions;
-    if (!breakpointActionsFromProtocol(errorString, actions, &amp;breakpointActions))
-        return;
-
-    breakpointActionIdentifiers = Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;::create();
-    for (ScriptBreakpointAction&amp; action : breakpointActions)
-        breakpointActionIdentifiers-&gt;addItem(action.identifier);
-
-    m_javaScriptBreakpoints.set(breakpointIdentifier, buildObjectForBreakpointCookie(url, lineNumber, columnNumber, condition, actions, isRegex, autoContinue));
-
-    ScriptBreakpoint breakpoint(lineNumber, columnNumber, condition, breakpointActions, autoContinue);
-    for (ScriptsMap::iterator it = m_scripts.begin(); it != m_scripts.end(); ++it) {
-        String scriptURL = !it-&gt;value.sourceURL.isEmpty() ? it-&gt;value.sourceURL : it-&gt;value.url;
-        if (!matches(scriptURL, url, isRegex))
-            continue;
-
-        RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = resolveBreakpoint(breakpointIdentifier, it-&gt;key, breakpoint);
-        if (location)
-            locations-&gt;addItem(location);
-    }
-    *outBreakpointIdentifier = breakpointIdentifier;
-}
-
-static bool parseLocation(ErrorString* errorString, InspectorObject* location, JSC::SourceID* sourceID, unsigned* lineNumber, unsigned* columnNumber)
-{
-    String scriptIDStr;
-    if (!location-&gt;getString(&quot;scriptId&quot;, &amp;scriptIDStr) || !location-&gt;getNumber(&quot;lineNumber&quot;, lineNumber)) {
-        // FIXME: replace with input validation.
-        *sourceID = JSC::noSourceID;
-        *errorString = &quot;scriptId and lineNumber are required.&quot;;
-        return false;
-    }
-    *sourceID = scriptIDStr.toIntPtr();
-    *columnNumber = 0;
-    location-&gt;getNumber(&quot;columnNumber&quot;, columnNumber);
-    return true;
-}
-
-void InspectorDebuggerAgent::setBreakpoint(ErrorString* errorString, const RefPtr&lt;InspectorObject&gt;&amp; location, const RefPtr&lt;InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId* outBreakpointIdentifier, RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt;&amp; actualLocation, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers)
-{
-    JSC::SourceID sourceID;
-    unsigned lineNumber;
-    unsigned columnNumber;
-
-    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
-        return;
-
-    String condition = emptyString();
-    bool autoContinue = false;
-    RefPtr&lt;InspectorArray&gt; actions;
-    if (options) {
-        (*options)-&gt;getString(&quot;condition&quot;, &amp;condition);
-        (*options)-&gt;getBoolean(&quot;autoContinue&quot;, &amp;autoContinue);
-        actions = (*options)-&gt;getArray(&quot;actions&quot;);
-    }
-
-    Vector&lt;ScriptBreakpointAction&gt; breakpointActions;
-    if (!breakpointActionsFromProtocol(errorString, actions, &amp;breakpointActions))
-        return;
-    
-    breakpointActionIdentifiers = Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;::create();
-    for (ScriptBreakpointAction&amp; action : breakpointActions)
-        breakpointActionIdentifiers-&gt;addItem(action.identifier);
-
-    String breakpointIdentifier = String::number(sourceID) + ':' + String::number(lineNumber) + ':' + String::number(columnNumber);
-    if (m_breakpointIdentifierToDebugServerBreakpointIDs.find(breakpointIdentifier) != m_breakpointIdentifierToDebugServerBreakpointIDs.end()) {
-        *errorString = &quot;Breakpoint at specified location already exists.&quot;;
-        return;
-    }
-
-    ScriptBreakpoint breakpoint(lineNumber, columnNumber, condition, breakpointActions, autoContinue);
-    actualLocation = resolveBreakpoint(breakpointIdentifier, sourceID, breakpoint);
-    if (actualLocation)
-        *outBreakpointIdentifier = breakpointIdentifier;
-    else
-        *errorString = &quot;Could not resolve breakpoint&quot;;
-}
-
-void InspectorDebuggerAgent::removeBreakpoint(ErrorString*, const String&amp; breakpointIdentifier)
-{
-    m_javaScriptBreakpoints.remove(breakpointIdentifier);
-
-    Vector&lt;JSC::BreakpointID&gt; breakpointIDs = m_breakpointIdentifierToDebugServerBreakpointIDs.take(breakpointIdentifier);
-    for (auto breakpointID : breakpointIDs) {
-        const Vector&lt;ScriptBreakpointAction&gt;&amp; breakpointActions = scriptDebugServer().getActionsForBreakpoint(breakpointID);
-        for (auto&amp; action : breakpointActions)
-            m_injectedScriptManager-&gt;releaseObjectGroup(objectGroupForBreakpointAction(action.identifier));
-
-        scriptDebugServer().removeBreakpoint(breakpointID);
-    }
-}
-
-void InspectorDebuggerAgent::continueToLocation(ErrorString* errorString, const RefPtr&lt;InspectorObject&gt;&amp; location)
-{
-    if (m_continueToLocationBreakpointID != JSC::noBreakpointID) {
-        scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointID);
-        m_continueToLocationBreakpointID = JSC::noBreakpointID;
-    }
-
-    JSC::SourceID sourceID;
-    unsigned lineNumber;
-    unsigned columnNumber;
-
-    if (!parseLocation(errorString, location.get(), &amp;sourceID, &amp;lineNumber, &amp;columnNumber))
-        return;
-
-    ScriptBreakpoint breakpoint(lineNumber, columnNumber, &quot;&quot;, false);
-    m_continueToLocationBreakpointID = scriptDebugServer().setBreakpoint(sourceID, breakpoint, &amp;lineNumber, &amp;columnNumber);
-    resume(errorString);
-}
-
-PassRefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; InspectorDebuggerAgent::resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID sourceID, const ScriptBreakpoint&amp; breakpoint)
-{
-    ScriptsMap::iterator scriptIterator = m_scripts.find(sourceID);
-    if (scriptIterator == m_scripts.end())
-        return nullptr;
-    Script&amp; script = scriptIterator-&gt;value;
-    if (breakpoint.lineNumber &lt; script.startLine || script.endLine &lt; breakpoint.lineNumber)
-        return nullptr;
-
-    unsigned actualLineNumber;
-    unsigned actualColumnNumber;
-    JSC::BreakpointID debugServerBreakpointID = scriptDebugServer().setBreakpoint(sourceID, breakpoint, &amp;actualLineNumber, &amp;actualColumnNumber);
-    if (debugServerBreakpointID == JSC::noBreakpointID)
-        return nullptr;
-
-    BreakpointIdentifierToDebugServerBreakpointIDsMap::iterator debugServerBreakpointIDsIterator = m_breakpointIdentifierToDebugServerBreakpointIDs.find(breakpointIdentifier);
-    if (debugServerBreakpointIDsIterator == m_breakpointIdentifierToDebugServerBreakpointIDs.end())
-        debugServerBreakpointIDsIterator = m_breakpointIdentifierToDebugServerBreakpointIDs.set(breakpointIdentifier, Vector&lt;JSC::BreakpointID&gt;()).iterator;
-    debugServerBreakpointIDsIterator-&gt;value.append(debugServerBreakpointID);
-
-    RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = Inspector::TypeBuilder::Debugger::Location::create()
-        .setScriptId(String::number(sourceID))
-        .setLineNumber(actualLineNumber);
-    location-&gt;setColumnNumber(actualColumnNumber);
-    return location;
-}
-
-void InspectorDebuggerAgent::searchInContent(ErrorString* error, const String&amp; scriptIDStr, const String&amp; query, const bool* const optionalCaseSensitive, const bool* const optionalIsRegex, RefPtr&lt;Array&lt;Inspector::TypeBuilder::GenericTypes::SearchMatch&gt;&gt;&amp; results)
-{
-    bool isRegex = optionalIsRegex ? *optionalIsRegex : false;
-    bool caseSensitive = optionalCaseSensitive ? *optionalCaseSensitive : false;
-
-    JSC::SourceID sourceID = scriptIDStr.toIntPtr();
-    ScriptsMap::iterator it = m_scripts.find(sourceID);
-    if (it != m_scripts.end())
-        results = ContentSearchUtilities::searchInTextByLines(it-&gt;value.source, query, caseSensitive, isRegex);
-    else
-        *error = &quot;No script for id: &quot; + scriptIDStr;
-}
-
-void InspectorDebuggerAgent::getScriptSource(ErrorString* error, const String&amp; scriptIDStr, String* scriptSource)
-{
-    JSC::SourceID sourceID = scriptIDStr.toIntPtr();
-    ScriptsMap::iterator it = m_scripts.find(sourceID);
-    if (it != m_scripts.end())
-        *scriptSource = it-&gt;value.source;
-    else
-        *error = &quot;No script for id: &quot; + scriptIDStr;
-}
-
-void InspectorDebuggerAgent::getFunctionDetails(ErrorString* errorString, const String&amp; functionId, RefPtr&lt;Inspector::TypeBuilder::Debugger::FunctionDetails&gt;&amp; details)
-{
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(functionId);
-    if (injectedScript.hasNoValue()) {
-        *errorString = &quot;Function object id is obsolete&quot;;
-        return;
-    }
-    injectedScript.getFunctionDetails(errorString, functionId, &amp;details);
-}
-
-void InspectorDebuggerAgent::schedulePauseOnNextStatement(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data)
-{
-    if (m_javaScriptPauseScheduled)
-        return;
-    m_breakReason = breakReason;
-    m_breakAuxData = data;
-    scriptDebugServer().setPauseOnNextStatement(true);
-}
-
-void InspectorDebuggerAgent::cancelPauseOnNextStatement()
-{
-    if (m_javaScriptPauseScheduled)
-        return;
-    clearBreakDetails();
-    scriptDebugServer().setPauseOnNextStatement(false);
-}
-
-void InspectorDebuggerAgent::pause(ErrorString*)
-{
-    if (m_javaScriptPauseScheduled)
-        return;
-    clearBreakDetails();
-    scriptDebugServer().setPauseOnNextStatement(true);
-    m_javaScriptPauseScheduled = true;
-}
-
-void InspectorDebuggerAgent::resume(ErrorString* errorString)
-{
-    if (!assertPaused(errorString))
-        return;
-    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
-    scriptDebugServer().continueProgram();
-}
-
-void InspectorDebuggerAgent::stepOver(ErrorString* errorString)
-{
-    if (!assertPaused(errorString))
-        return;
-    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
-    scriptDebugServer().stepOverStatement();
-}
-
-void InspectorDebuggerAgent::stepInto(ErrorString* errorString)
-{
-    if (!assertPaused(errorString))
-        return;
-    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
-    scriptDebugServer().stepIntoStatement();
-    m_listener-&gt;stepInto();
-}
-
-void InspectorDebuggerAgent::stepOut(ErrorString* errorString)
-{
-    if (!assertPaused(errorString))
-        return;
-    m_injectedScriptManager-&gt;releaseObjectGroup(InspectorDebuggerAgent::backtraceObjectGroup);
-    scriptDebugServer().stepOutOfFunction();
-}
-
-void InspectorDebuggerAgent::setPauseOnExceptions(ErrorString* errorString, const String&amp; stringPauseState)
-{
-    ScriptDebugServer::PauseOnExceptionsState pauseState;
-    if (stringPauseState == &quot;none&quot;)
-        pauseState = ScriptDebugServer::DontPauseOnExceptions;
-    else if (stringPauseState == &quot;all&quot;)
-        pauseState = ScriptDebugServer::PauseOnAllExceptions;
-    else if (stringPauseState == &quot;uncaught&quot;)
-        pauseState = ScriptDebugServer::PauseOnUncaughtExceptions;
-    else {
-        *errorString = &quot;Unknown pause on exceptions mode: &quot; + stringPauseState;
-        return;
-    }
-
-    scriptDebugServer().setPauseOnExceptionsState(static_cast&lt;ScriptDebugServer::PauseOnExceptionsState&gt;(pauseState));
-    if (scriptDebugServer().pauseOnExceptionsState() != pauseState)
-        *errorString = &quot;Internal error. Could not change pause on exceptions state&quot;;
-}
-
-void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString* errorString, const String&amp; callFrameId, const String&amp; expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
-{
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(callFrameId);
-    if (injectedScript.hasNoValue()) {
-        *errorString = &quot;Inspected frame has gone&quot;;
-        return;
-    }
-
-    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = scriptDebugServer().pauseOnExceptionsState();
-    if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteConsole : false) {
-        if (previousPauseOnExceptionsState != ScriptDebugServer::DontPauseOnExceptions)
-            scriptDebugServer().setPauseOnExceptionsState(ScriptDebugServer::DontPauseOnExceptions);
-        muteConsole();
-    }
-
-    injectedScript.evaluateOnCallFrame(errorString, m_currentCallStack, callFrameId, expression, objectGroup ? *objectGroup : &quot;&quot;, includeCommandLineAPI ? *includeCommandLineAPI : false, returnByValue ? *returnByValue : false, generatePreview ? *generatePreview : false, &amp;result, wasThrown);
-
-    if (doNotPauseOnExceptionsAndMuteConsole ? *doNotPauseOnExceptionsAndMuteConsole : false) {
-        unmuteConsole();
-        if (scriptDebugServer().pauseOnExceptionsState() != previousPauseOnExceptionsState)
-            scriptDebugServer().setPauseOnExceptionsState(previousPauseOnExceptionsState);
-    }
-}
-
-void InspectorDebuggerAgent::setOverlayMessage(ErrorString*, const String*)
-{
-}
-
-void InspectorDebuggerAgent::scriptExecutionBlockedByCSP(const String&amp; directiveText)
-{
-    if (scriptDebugServer().pauseOnExceptionsState() != ScriptDebugServer::DontPauseOnExceptions) {
-        RefPtr&lt;InspectorObject&gt; directive = InspectorObject::create();
-        directive-&gt;setString(&quot;directiveText&quot;, directiveText);
-        breakProgram(InspectorDebuggerFrontendDispatcher::Reason::CSPViolation, directive.release());
-    }
-}
-
-PassRefPtr&lt;Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;&gt; InspectorDebuggerAgent::currentCallFrames()
-{
-    if (!m_pausedScriptState)
-        return Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;::create();
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(m_pausedScriptState);
-    if (injectedScript.hasNoValue()) {
-        ASSERT_NOT_REACHED();
-        return Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;::create();
-    }
-    return injectedScript.wrapCallFrames(m_currentCallStack);
-}
-
-String InspectorDebuggerAgent::sourceMapURLForScript(const Script&amp; script)
-{
-    DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeader, (ASCIILiteral(&quot;SourceMap&quot;)));
-    DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral(&quot;X-SourceMap&quot;)));
-
-    if (!script.url.isEmpty()) {
-        if (InspectorPageAgent* pageAgent = m_instrumentingAgents-&gt;inspectorPageAgent()) {
-            CachedResource* resource = pageAgent-&gt;cachedResource(pageAgent-&gt;mainFrame(), URL(ParsedURLString, script.url));
-            if (resource) {
-                String sourceMapHeader = resource-&gt;response().httpHeaderField(sourceMapHTTPHeader);
-                if (!sourceMapHeader.isEmpty())
-                    return sourceMapHeader;
-
-                sourceMapHeader = resource-&gt;response().httpHeaderField(sourceMapHTTPHeaderDeprecated);
-                if (!sourceMapHeader.isEmpty())
-                    return sourceMapHeader;
-            }
-        }
-    }
-
-    return ContentSearchUtilities::findScriptSourceMapURL(script.source);
-}
-
-// JavaScriptDebugListener functions
-
-void InspectorDebuggerAgent::didParseSource(JSC::SourceID sourceID, const Script&amp; inScript)
-{
-    Script script = inScript;
-    if (!script.startLine &amp;&amp; !script.startColumn)
-        script.sourceURL = ContentSearchUtilities::findScriptSourceURL(script.source);
-    script.sourceMappingURL = sourceMapURLForScript(script);
-
-    bool hasSourceURL = !script.sourceURL.isEmpty();
-    String scriptURL = hasSourceURL ? script.sourceURL : script.url;
-    bool* hasSourceURLParam = hasSourceURL ? &amp;hasSourceURL : nullptr;
-    String* sourceMapURLParam = script.sourceMappingURL.isNull() ? nullptr : &amp;script.sourceMappingURL;
-    const bool* isContentScript = script.isContentScript ? &amp;script.isContentScript : nullptr;
-    String scriptIDStr = String::number(sourceID);
-    m_frontendDispatcher-&gt;scriptParsed(scriptIDStr, scriptURL, script.startLine, script.startColumn, script.endLine, script.endColumn, isContentScript, sourceMapURLParam, hasSourceURLParam);
-
-    m_scripts.set(sourceID, script);
-
-    if (scriptURL.isEmpty())
-        return;
-
-    for (auto it = m_javaScriptBreakpoints.begin(), end = m_javaScriptBreakpoints.end(); it != end; ++it) {
-        RefPtr&lt;InspectorObject&gt; breakpointObject = it-&gt;value-&gt;asObject();
-        bool isRegex;
-        breakpointObject-&gt;getBoolean(&quot;isRegex&quot;, &amp;isRegex);
-        String url;
-        breakpointObject-&gt;getString(&quot;url&quot;, &amp;url);
-        if (!matches(scriptURL, url, isRegex))
-            continue;
-        ScriptBreakpoint breakpoint;
-        breakpointObject-&gt;getNumber(&quot;lineNumber&quot;, &amp;breakpoint.lineNumber);
-        breakpointObject-&gt;getNumber(&quot;columnNumber&quot;, &amp;breakpoint.columnNumber);
-        breakpointObject-&gt;getString(&quot;condition&quot;, &amp;breakpoint.condition);
-        breakpointObject-&gt;getBoolean(&quot;autoContinue&quot;, &amp;breakpoint.autoContinue);
-        ErrorString errorString;
-        RefPtr&lt;InspectorArray&gt; actions = breakpointObject-&gt;getArray(&quot;actions&quot;);
-        if (!breakpointActionsFromProtocol(&amp;errorString, actions, &amp;breakpoint.actions)) {
-            ASSERT_NOT_REACHED();
-            continue;
-        }
-
-        RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; location = resolveBreakpoint(it-&gt;key, sourceID, breakpoint);
-        if (location)
-            m_frontendDispatcher-&gt;breakpointResolved(it-&gt;key, location);
-    }
-}
-
-void InspectorDebuggerAgent::failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage)
-{
-    m_frontendDispatcher-&gt;scriptFailedToParse(url, data, firstLine, errorLine, errorMessage);
-}
-
-void InspectorDebuggerAgent::didPause(JSC::ExecState* scriptState, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception)
-{
-    ASSERT(scriptState &amp;&amp; !m_pausedScriptState);
-    m_pausedScriptState = scriptState;
-    m_currentCallStack = callFrames;
-
-    if (!exception.hasNoValue()) {
-        InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(scriptState);
-        if (!injectedScript.hasNoValue()) {
-            m_breakReason = InspectorDebuggerFrontendDispatcher::Reason::Exception;
-            m_breakAuxData = injectedScript.wrapObject(exception, &quot;backtrace&quot;)-&gt;openAccessors();
-            // m_breakAuxData might be null after this.
-        }
-    }
-
-    m_frontendDispatcher-&gt;paused(currentCallFrames(), m_breakReason, m_breakAuxData);
-    m_javaScriptPauseScheduled = false;
-
-    if (m_continueToLocationBreakpointID != JSC::noBreakpointID) {
-        scriptDebugServer().removeBreakpoint(m_continueToLocationBreakpointID);
-        m_continueToLocationBreakpointID = JSC::noBreakpointID;
-    }
-    if (m_listener)
-        m_listener-&gt;didPause();
-}
-
-void InspectorDebuggerAgent::didSampleProbe(JSC::ExecState* scriptState, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; sample)
-{
-    int sampleId = m_nextProbeSampleId++;
-
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptFor(scriptState);
-    RefPtr&lt;TypeBuilder::Runtime::RemoteObject&gt; payload = injectedScript.wrapObject(sample, objectGroupForBreakpointAction(probeIdentifier));
-    RefPtr&lt;TypeBuilder::Debugger::ProbeSample&gt; result = TypeBuilder::Debugger::ProbeSample::create()
-        .setProbeId(probeIdentifier)
-        .setSampleId(sampleId)
-        .setBatchId(hitCount)
-        .setTimestamp(monotonicallyIncreasingTime())
-        .setPayload(payload.release());
-
-    m_frontendDispatcher-&gt;didSampleProbe(result.release());
-}
-
-void InspectorDebuggerAgent::didContinue()
-{
-    m_pausedScriptState = nullptr;
-    m_currentCallStack = Deprecated::ScriptValue();
-    clearBreakDetails();
-    m_frontendDispatcher-&gt;resumed();
-}
-
-void InspectorDebuggerAgent::breakProgram(InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;InspectorObject&gt; data)
-{
-    m_breakReason = breakReason;
-    m_breakAuxData = data;
-    scriptDebugServer().breakProgram();
-}
-
-void InspectorDebuggerAgent::clearResolvedBreakpointState()
-{
-    ErrorString dummyError;
-    Vector&lt;String&gt; breakpointIdentifiers;
-    copyKeysToVector(m_breakpointIdentifierToDebugServerBreakpointIDs, breakpointIdentifiers);
-    for (const String&amp; identifier : breakpointIdentifiers)
-        removeBreakpoint(&amp;dummyError, identifier);
-
-    scriptDebugServer().continueProgram();
-
-    m_pausedScriptState = nullptr;
-    m_currentCallStack = Deprecated::ScriptValue();
-    m_scripts.clear();
-    m_breakpointIdentifierToDebugServerBreakpointIDs.clear();
-    m_continueToLocationBreakpointID = JSC::noBreakpointID;
-    clearBreakDetails();
-    m_javaScriptPauseScheduled = false;
-    setOverlayMessage(&amp;dummyError, nullptr);
-}
-
-bool InspectorDebuggerAgent::assertPaused(ErrorString* errorString)
-{
-    if (!m_pausedScriptState) {
-        *errorString = &quot;Can only perform operation while paused.&quot;;
-        return false;
-    }
-    return true;
-}
-
-void InspectorDebuggerAgent::clearBreakDetails()
-{
-    m_breakReason = InspectorDebuggerFrontendDispatcher::Reason::Other;
-    m_breakAuxData = nullptr;
-}
-
-void InspectorDebuggerAgent::didClearGlobalObject()
-{
-    if (m_frontendDispatcher)
-        m_frontendDispatcher-&gt;globalObjectCleared();
-
-    clearResolvedBreakpointState();
-}
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,185 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010, 2013 Apple Inc. All rights reserved.
- * Copyright (C) 2010-2011 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:
- *
- * 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.
- * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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 InspectorDebuggerAgent_h
-#define InspectorDebuggerAgent_h
-
-#if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
-
-#include &quot;ConsoleAPITypes.h&quot;
-#include &quot;ConsoleTypes.h&quot;
-#include &quot;InspectorWebAgentBase.h&quot;
-#include &lt;bindings/ScriptValue.h&gt;
-#include &lt;debugger/Debugger.h&gt;
-#include &lt;inspector/InspectorJSBackendDispatchers.h&gt;
-#include &lt;inspector/InspectorJSFrontendDispatchers.h&gt;
-#include &lt;inspector/ScriptBreakpoint.h&gt;
-#include &lt;inspector/ScriptDebugListener.h&gt;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/PassOwnPtr.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/Vector.h&gt;
-#include &lt;wtf/text/StringHash.h&gt;
-
-namespace Inspector {
-class InjectedScript;
-class InjectedScriptManager;
-class InspectorArray;
-class InspectorObject;
-class InspectorValue;
-}
-
-namespace WebCore {
-
-class InstrumentingAgents;
-class ScriptDebugServer;
-
-typedef String ErrorString;
-
-class InspectorDebuggerAgent : public InspectorAgentBase, public Inspector::ScriptDebugListener, public Inspector::InspectorDebuggerBackendDispatcherHandler {
-    WTF_MAKE_NONCOPYABLE(InspectorDebuggerAgent); WTF_MAKE_FAST_ALLOCATED;
-public:
-    static const char* backtraceObjectGroup;
-
-    virtual ~InspectorDebuggerAgent();
-
-    virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
-    virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
-
-    bool isPaused();
-    void addMessageToConsole(MessageSource, MessageType);
-
-    // Part of the protocol.
-    virtual void enable(ErrorString*) override;
-    virtual void disable(ErrorString*) override;
-    virtual void setBreakpointsActive(ErrorString*, bool active) override;
-
-    virtual void setBreakpointByUrl(ErrorString*, int lineNumber, const String* optionalURL, const String* optionalURLRegex, const int* optionalColumnNumber, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId*, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::Location&gt;&gt;&amp; locations, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers) override;
-    virtual void setBreakpoint(ErrorString*, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; location, const RefPtr&lt;Inspector::InspectorObject&gt;* options, Inspector::TypeBuilder::Debugger::BreakpointId*, RefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt;&amp; actualLocation, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::BreakpointActionIdentifier&gt;&gt;&amp; breakpointActionIdentifiers) override;
-    virtual void removeBreakpoint(ErrorString*, const String&amp; breakpointIdentifier) override;
-    virtual void continueToLocation(ErrorString*, const RefPtr&lt;Inspector::InspectorObject&gt;&amp; location) override;
-
-    virtual void searchInContent(ErrorString*, const String&amp; scriptID, const String&amp; query, const bool* optionalCaseSensitive, const bool* optionalIsRegex, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::GenericTypes::SearchMatch&gt;&gt;&amp;) override;
-    virtual void getScriptSource(ErrorString*, const String&amp; scriptID, String* scriptSource) override;
-    virtual void getFunctionDetails(ErrorString*, const String&amp; functionId, RefPtr&lt;Inspector::TypeBuilder::Debugger::FunctionDetails&gt;&amp;) override;
-    virtual void pause(ErrorString*) override;
-    virtual void resume(ErrorString*) override;
-    virtual void stepOver(ErrorString*) override;
-    virtual void stepInto(ErrorString*) override;
-    virtual void stepOut(ErrorString*) override;
-    virtual void setPauseOnExceptions(ErrorString*, const String&amp; pauseState) override;
-    virtual void evaluateOnCallFrame(ErrorString*,
-                             const String&amp; callFrameId,
-                             const String&amp; expression,
-                             const String* objectGroup,
-                             const bool* includeCommandLineAPI,
-                             const bool* doNotPauseOnExceptionsAndMuteConsole,
-                             const bool* returnByValue,
-                             const bool* generatePreview,
-                             RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result,
-                             Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override;
-    virtual void setOverlayMessage(ErrorString*, const String*) override;
-
-    void schedulePauseOnNextStatement(Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
-    void cancelPauseOnNextStatement();
-    void breakProgram(Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum breakReason, PassRefPtr&lt;Inspector::InspectorObject&gt; data);
-    void scriptExecutionBlockedByCSP(const String&amp; directiveText);
-
-    class Listener {
-    public:
-        virtual ~Listener() { }
-        virtual void debuggerWasEnabled() = 0;
-        virtual void debuggerWasDisabled() = 0;
-        virtual void stepInto() = 0;
-        virtual void didPause() = 0;
-    };
-    void setListener(Listener* listener) { m_listener = listener; }
-
-    virtual ScriptDebugServer&amp; scriptDebugServer() = 0;
-
-protected:
-    InspectorDebuggerAgent(InstrumentingAgents*, Inspector::InjectedScriptManager*);
-
-    virtual void startListeningScriptDebugServer() = 0;
-    virtual void stopListeningScriptDebugServer(bool isBeingDestroyed) = 0;
-    virtual void muteConsole() = 0;
-    virtual void unmuteConsole() = 0;
-    Inspector::InjectedScriptManager* injectedScriptManager() const { return m_injectedScriptManager; }
-    virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0;
-
-    virtual void enable();
-    virtual void disable(bool isBeingDestroyed);
-    virtual void didPause(JSC::ExecState*, const Deprecated::ScriptValue&amp; callFrames, const Deprecated::ScriptValue&amp; exception) override;
-    virtual void didContinue() override;
-    void didClearGlobalObject();
-
-private:
-    PassRefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Debugger::CallFrame&gt;&gt; currentCallFrames();
-
-    virtual void didParseSource(JSC::SourceID, const Script&amp;) override final;
-    virtual void failedToParseSource(const String&amp; url, const String&amp; data, int firstLine, int errorLine, const String&amp; errorMessage) override final;
-    virtual void didSampleProbe(JSC::ExecState*, int probeIdentifier, int hitCount, const Deprecated::ScriptValue&amp; sample) override final;
-
-    PassRefPtr&lt;Inspector::TypeBuilder::Debugger::Location&gt; resolveBreakpoint(const String&amp; breakpointIdentifier, JSC::SourceID, const Inspector::ScriptBreakpoint&amp;);
-    bool assertPaused(ErrorString*);
-    void clearResolvedBreakpointState();
-    void clearBreakDetails();
-
-    bool breakpointActionsFromProtocol(ErrorString*, RefPtr&lt;Inspector::InspectorArray&gt;&amp; actions, Vector&lt;Inspector::ScriptBreakpointAction&gt;* result);
-
-    String sourceMapURLForScript(const Script&amp;);
-
-    typedef HashMap&lt;JSC::SourceID, Script&gt; ScriptsMap;
-    typedef HashMap&lt;String, Vector&lt;JSC::BreakpointID&gt;&gt; BreakpointIdentifierToDebugServerBreakpointIDsMap;
-    typedef HashMap&lt;String, RefPtr&lt;Inspector::InspectorObject&gt;&gt; BreakpointIdentifierToBreakpointMap;
-
-    Inspector::InjectedScriptManager* m_injectedScriptManager;
-    std::unique_ptr&lt;Inspector::InspectorDebuggerFrontendDispatcher&gt; m_frontendDispatcher;
-    RefPtr&lt;Inspector::InspectorDebuggerBackendDispatcher&gt; m_backendDispatcher;
-    JSC::ExecState* m_pausedScriptState;
-    Deprecated::ScriptValue m_currentCallStack;
-    ScriptsMap m_scripts;
-    BreakpointIdentifierToDebugServerBreakpointIDsMap m_breakpointIdentifierToDebugServerBreakpointIDs;
-    BreakpointIdentifierToBreakpointMap m_javaScriptBreakpoints;
-    JSC::BreakpointID m_continueToLocationBreakpointID;
-    Inspector::InspectorDebuggerFrontendDispatcher::Reason::Enum m_breakReason;
-    RefPtr&lt;Inspector::InspectorObject&gt; m_breakAuxData;
-    bool m_enabled;
-    bool m_javaScriptPauseScheduled;
-    Listener* m_listener;
-    int m_nextProbeSampleId;
-    int m_nextBreakpointActionIdentifier;
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
-
-#endif // !defined(InspectorDebuggerAgent_h)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorInstrumentationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorInstrumentation.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorInstrumentation.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,11 +29,10 @@
</span><span class="cx"> */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;InspectorInstrumentation.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorInstrumentation.h&quot;
-
</del><span class="cx"> #include &quot;CSSRule.h&quot;
</span><span class="cx"> #include &quot;CSSStyleRule.h&quot;
</span><span class="cx"> #include &quot;ConsoleAPITypes.h&quot;
</span><span class="lines">@@ -52,7 +51,6 @@
</span><span class="cx"> #include &quot;InspectorDOMDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDOMStorageAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorDatabaseAgent.h&quot;
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><span class="cx"> #include &quot;InspectorHeapProfilerAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorLayerTreeAgent.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="lines">@@ -76,6 +74,7 @@
</span><span class="cx"> #include &quot;WorkerRuntimeAgent.h&quot;
</span><span class="cx"> #include &quot;WorkerThread.h&quot;
</span><span class="cx"> #include &quot;XMLHttpRequest.h&quot;
</span><ins>+#include &lt;inspector/agents/InspectorDebuggerAgent.h&gt;
</ins><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -884,14 +883,23 @@
</span><span class="cx">         timelineAgent-&gt;didWriteHTML(endLine);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// JavaScriptCore InspectorDebuggerAgent should know Console MessageTypes.
+static bool isConsoleAssertMessage(MessageSource source, MessageType type)
+{
+    return source == ConsoleAPIMessageSource &amp;&amp; type == AssertMessageType;
+}
+
</ins><span class="cx"> // FIXME: Drop this once we no longer generate stacks outside of Inspector.
</span><span class="cx"> void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents* instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String&amp; message, PassRefPtr&lt;ScriptCallStack&gt; callStack, unsigned long requestIdentifier)
</span><span class="cx"> {
</span><span class="cx">     if (InspectorConsoleAgent* consoleAgent = instrumentingAgents-&gt;inspectorConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;addMessageToConsole(source, type, level, message, callStack, requestIdentifier);
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents-&gt;inspectorDebuggerAgent())
-        debuggerAgent-&gt;addMessageToConsole(source, type);
</del><ins>+    // FIXME: This should just pass the message on to the debugger agent. JavaScriptCore InspectorDebuggerAgent should know Console MessageTypes.
+    if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents-&gt;inspectorDebuggerAgent()) {
+        if (isConsoleAssertMessage(source, type))
+            debuggerAgent-&gt;handleConsoleAssert();
+    }
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -900,8 +908,11 @@
</span><span class="cx">     if (InspectorConsoleAgent* consoleAgent = instrumentingAgents-&gt;inspectorConsoleAgent())
</span><span class="cx">         consoleAgent-&gt;addMessageToConsole(source, type, level, message, state, arguments, requestIdentifier);
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents-&gt;inspectorDebuggerAgent())
-        debuggerAgent-&gt;addMessageToConsole(source, type);
</del><ins>+    // FIXME: This should just pass the message on to the debugger agent. JavaScriptCore InspectorDebuggerAgent should know Console MessageTypes.
+    if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents-&gt;inspectorDebuggerAgent()) {
+        if (isConsoleAssertMessage(source, type))
+            debuggerAgent-&gt;handleConsoleAssert();
+    }
</ins><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorOverlaycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorOverlay.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorOverlay.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorOverlay.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -406,7 +406,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Move the link boxes slightly inside the region border box.
</span><span class="cx">     LayoutUnit maxUsableHeight = std::max(LayoutUnit(), borderBox.height() - linkBoxMidpoint.height());
</span><del>-    LayoutUnit linkBoxVerticalOffset = std::min(LayoutUnit(15), maxUsableHeight);
</del><ins>+    LayoutUnit linkBoxVerticalOffset = std::min(LayoutUnit::fromPixel(15), maxUsableHeight);
</ins><span class="cx">     incomingRectBox.move(0, linkBoxVerticalOffset);
</span><span class="cx">     outgoingRectBox.move(0, -linkBoxVerticalOffset);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,223 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 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
- * &quot;AS IS&quot; 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 &quot;config.h&quot;
-
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorRuntimeAgent.h&quot;
-
-#include &quot;JSDOMWindowBase.h&quot;
-#include &lt;inspector/InjectedScript.h&gt;
-#include &lt;inspector/InjectedScriptManager.h&gt;
-#include &lt;inspector/InspectorValues.h&gt;
-#include &lt;parser/ParserError.h&gt;
-#include &lt;parser/SourceCode.h&gt;
-#include &lt;runtime/Completion.h&gt;
-#include &lt;runtime/JSLock.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include &quot;ScriptDebugServer.h&quot;
-#endif
-
-using namespace JSC;
-
-using namespace Inspector;
-
-namespace WebCore {
-
-static bool asBool(const bool* const b)
-{
-    return b ? *b : false;
-}
-
-InspectorRuntimeAgent::InspectorRuntimeAgent(InstrumentingAgents* instrumentingAgents, InjectedScriptManager* injectedScriptManager)
-    : InspectorAgentBase(ASCIILiteral(&quot;Runtime&quot;), instrumentingAgents)
-    , m_enabled(false)
-    , m_injectedScriptManager(injectedScriptManager)
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    , m_scriptDebugServer(nullptr)
-#endif
-{
-}
-
-InspectorRuntimeAgent::~InspectorRuntimeAgent()
-{
-}
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-static ScriptDebugServer::PauseOnExceptionsState setPauseOnExceptionsState(ScriptDebugServer* scriptDebugServer, ScriptDebugServer::PauseOnExceptionsState newState)
-{
-    ASSERT(scriptDebugServer);
-    ScriptDebugServer::PauseOnExceptionsState presentState = scriptDebugServer-&gt;pauseOnExceptionsState();
-    if (presentState != newState)
-        scriptDebugServer-&gt;setPauseOnExceptionsState(newState);
-    return presentState;
-}
-#endif
-
-static PassRefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt; buildErrorRangeObject(const JSTokenLocation&amp; tokenLocation)
-{
-    RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt; result = Inspector::TypeBuilder::Runtime::ErrorRange::create()
-        .setStartOffset(tokenLocation.startOffset)
-        .setEndOffset(tokenLocation.endOffset);
-    return result.release();
-}
-
-void InspectorRuntimeAgent::parse(ErrorString*, const String&amp; expression, Inspector::TypeBuilder::Runtime::SyntaxErrorType::Enum* result, Inspector::TypeBuilder::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt;&amp; range)
-{
-    VM* vm = JSDOMWindowBase::commonVM();
-    JSLockHolder lock(vm);
-
-    ParserError error;
-    checkSyntax(*vm, JSC::makeSource(expression), error);
-
-    switch (error.m_syntaxErrorType) {
-    case ParserError::SyntaxErrorNone:
-        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::None;
-        break;
-    case ParserError::SyntaxErrorIrrecoverable:
-        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::Irrecoverable;
-        break;
-    case ParserError::SyntaxErrorUnterminatedLiteral:
-        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::UnterminatedLiteral;
-        break;
-    case ParserError::SyntaxErrorRecoverable:
-        *result = Inspector::TypeBuilder::Runtime::SyntaxErrorType::Recoverable;
-        break;
-    }
-
-    if (error.m_syntaxErrorType != ParserError::SyntaxErrorNone) {
-        *message = error.m_message;
-        range = buildErrorRangeObject(error.m_token.m_location);
-    }
-}
-
-void InspectorRuntimeAgent::evaluate(ErrorString* errorString, const String&amp; expression, const String* const objectGroup, const bool* const includeCommandLineAPI, const bool* const doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
-{
-    InjectedScript injectedScript = injectedScriptForEval(errorString, executionContextId);
-    if (injectedScript.hasNoValue())
-        return;
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = ScriptDebugServer::DontPauseOnExceptions;
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
-        previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
-#endif
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
-        muteConsole();
-
-    injectedScript.evaluate(errorString, expression, objectGroup ? *objectGroup : &quot;&quot;, asBool(includeCommandLineAPI), asBool(returnByValue), asBool(generatePreview), &amp;result, wasThrown);
-
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole)) {
-        unmuteConsole();
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-        setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
-#endif
-    }
-}
-
-void InspectorRuntimeAgent::callFunctionOn(ErrorString* errorString, const String&amp; objectId, const String&amp; expression, const RefPtr&lt;InspectorArray&gt;* const optionalArguments, const bool* const doNotPauseOnExceptionsAndMuteConsole, const bool* const returnByValue, const bool* generatePreview, RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result, Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown)
-{
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
-    if (injectedScript.hasNoValue()) {
-        *errorString = &quot;Inspected frame has gone&quot;;
-        return;
-    }
-    String arguments;
-    if (optionalArguments)
-        arguments = (*optionalArguments)-&gt;toJSONString();
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = ScriptDebugServer::DontPauseOnExceptions;
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
-        previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
-#endif
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole))
-        muteConsole();
-
-    injectedScript.callFunctionOn(errorString, objectId, expression, arguments, asBool(returnByValue), asBool(generatePreview), &amp;result, wasThrown);
-
-    if (asBool(doNotPauseOnExceptionsAndMuteConsole)) {
-        unmuteConsole();
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-        setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
-#endif
-    }
-}
-
-void InspectorRuntimeAgent::getProperties(ErrorString* errorString, const String&amp; objectId, const bool* const ownProperties, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::PropertyDescriptor&gt;&gt;&amp; result, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::InternalPropertyDescriptor&gt;&gt;&amp; internalProperties)
-{
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
-    if (injectedScript.hasNoValue()) {
-        *errorString = &quot;Inspected frame has gone&quot;;
-        return;
-    }
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    ScriptDebugServer::PauseOnExceptionsState previousPauseOnExceptionsState = setPauseOnExceptionsState(m_scriptDebugServer, ScriptDebugServer::DontPauseOnExceptions);
-#endif
-    muteConsole();
-
-    injectedScript.getProperties(errorString, objectId, ownProperties ? *ownProperties : false, &amp;result);
-    injectedScript.getInternalProperties(errorString, objectId, &amp;internalProperties);
-
-    unmuteConsole();
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    setPauseOnExceptionsState(m_scriptDebugServer, previousPauseOnExceptionsState);
-#endif
-}
-
-void InspectorRuntimeAgent::releaseObject(ErrorString*, const String&amp; objectId)
-{
-    InjectedScript injectedScript = m_injectedScriptManager-&gt;injectedScriptForObjectId(objectId);
-    if (!injectedScript.hasNoValue())
-        injectedScript.releaseObject(objectId);
-}
-
-void InspectorRuntimeAgent::releaseObjectGroup(ErrorString*, const String&amp; objectGroup)
-{
-    m_injectedScriptManager-&gt;releaseObjectGroup(objectGroup);
-}
-
-void InspectorRuntimeAgent::run(ErrorString*)
-{
-}
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-void InspectorRuntimeAgent::setScriptDebugServer(ScriptDebugServer* scriptDebugServer)
-{
-    m_scriptDebugServer = scriptDebugServer;
-}
-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,116 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 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
- * &quot;AS IS&quot; 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 InspectorRuntimeAgent_h
-#define InspectorRuntimeAgent_h
-
-#if ENABLE(INSPECTOR)
-
-#include &quot;InspectorWebAgentBase.h&quot;
-#include &quot;InspectorWebBackendDispatchers.h&quot;
-#include &lt;inspector/InspectorJSBackendDispatchers.h&gt;
-#include &lt;inspector/InspectorJSFrontendDispatchers.h&gt;
-#include &lt;wtf/Forward.h&gt;
-#include &lt;wtf/Noncopyable.h&gt;
-
-namespace Inspector {
-class InjectedScript;
-class InjectedScriptManager;
-class InspectorArray;
-class InspectorObject;
-class InspectorValue;
-}
-
-namespace WebCore {
-
-class InstrumentingAgents;
-class ScriptDebugServer;
-class WorkerGlobalScope;
-
-typedef String ErrorString;
-
-class InspectorRuntimeAgent : public InspectorAgentBase, public Inspector::InspectorRuntimeBackendDispatcherHandler {
-    WTF_MAKE_NONCOPYABLE(InspectorRuntimeAgent);
-public:
-    virtual ~InspectorRuntimeAgent();
-
-    // Part of the protocol.
-    virtual void enable(ErrorString*) override { m_enabled = true; }
-    virtual void disable(ErrorString*) override { m_enabled = false; }
-    virtual void parse(ErrorString*, const String&amp; expression, Inspector::TypeBuilder::Runtime::SyntaxErrorType::Enum* result, Inspector::TypeBuilder::OptOutput&lt;String&gt;* message, RefPtr&lt;Inspector::TypeBuilder::Runtime::ErrorRange&gt;&amp;) override;
-    virtual void evaluate(ErrorString*,
-                  const String&amp; expression,
-                  const String* objectGroup,
-                  const bool* includeCommandLineAPI,
-                  const bool* doNotPauseOnExceptionsAndMuteConsole,
-                  const int* executionContextId,
-                  const bool* returnByValue,
-                  const bool* generatePreview,
-                  RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result,
-                  Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override;
-    virtual void callFunctionOn(ErrorString*,
-                        const String&amp; objectId,
-                        const String&amp; expression,
-                        const RefPtr&lt;Inspector::InspectorArray&gt;* optionalArguments,
-                        const bool* doNotPauseOnExceptionsAndMuteConsole,
-                        const bool* returnByValue,
-                        const bool* generatePreview,
-                        RefPtr&lt;Inspector::TypeBuilder::Runtime::RemoteObject&gt;&amp; result,
-                        Inspector::TypeBuilder::OptOutput&lt;bool&gt;* wasThrown) override;
-    virtual void releaseObject(ErrorString*, const String&amp; objectId) override;
-    virtual void getProperties(ErrorString*, const String&amp; objectId, const bool* ownProperties, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::PropertyDescriptor&gt;&gt;&amp; result, RefPtr&lt;Inspector::TypeBuilder::Array&lt;Inspector::TypeBuilder::Runtime::InternalPropertyDescriptor&gt;&gt;&amp; internalProperties) override;
-    virtual void releaseObjectGroup(ErrorString*, const String&amp; objectGroup) override;
-    virtual void run(ErrorString*) override;
-
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    void setScriptDebugServer(ScriptDebugServer*);
-#endif
-
-protected:
-    InspectorRuntimeAgent(InstrumentingAgents*, Inspector::InjectedScriptManager*);
-    virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) = 0;
-
-    virtual void muteConsole() = 0;
-    virtual void unmuteConsole() = 0;
-
-    Inspector::InjectedScriptManager* injectedScriptManager() { return m_injectedScriptManager; }
-    bool m_enabled;
-
-private:
-    Inspector::InjectedScriptManager* m_injectedScriptManager;
-#if ENABLE(JAVASCRIPT_DEBUGGER)
-    ScriptDebugServer* m_scriptDebugServer;
-#endif
-};
-
-} // namespace WebCore
-
-#endif // ENABLE(INSPECTOR)
-#endif // InspectorRuntimeAgent_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorStyleSheetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorStyleSheet.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorStyleSheet.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -723,7 +723,7 @@
</span><span class="cx">     int propertyIndex = 0;
</span><span class="cx">     bool isFullPrefixScanned = false;
</span><span class="cx">     bool lineFeedTerminated = false;
</span><del>-    const UChar* characters = text.characters();
</del><ins>+    const UChar* characters = text.deprecatedCharacters();
</ins><span class="cx">     while (propertyIndex &lt; propertyCount) {
</span><span class="cx">         const WebCore::CSSPropertySourceData&amp; currentProperty = sourcePropertyData-&gt;at(propertyIndex++);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInspectorStyleTextEditorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InspectorStyleTextEditor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InspectorStyleTextEditor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InspectorStyleTextEditor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     if (insertLast &amp;&amp; !insertFirstInSource) {
</span><span class="cx">         propertyStart = styleBodyLength;
</span><span class="cx">         if (propertyStart &amp;&amp; textToSet.length()) {
</span><del>-            const UChar* characters = m_styleText.characters();
</del><ins>+            const UChar* characters = m_styleText.deprecatedCharacters();
</ins><span class="cx"> 
</span><span class="cx">             long curPos = propertyStart - 1; // The last position of style declaration, since propertyStart points past one.
</span><span class="cx">             while (curPos &amp;&amp; isHTMLSpace(characters[curPos]))
</span><span class="lines">@@ -230,7 +230,7 @@
</span><span class="cx">     const SourceRange&amp; range = property.sourceData.range;
</span><span class="cx">     long replaceRangeStart = range.start;
</span><span class="cx">     long replaceRangeEnd = range.end;
</span><del>-    const UChar* characters = m_styleText.characters();
</del><ins>+    const UChar* characters = m_styleText.deprecatedCharacters();
</ins><span class="cx">     long newTextLength = newText.length();
</span><span class="cx">     String finalNewText = newText;
</span><span class="cx"> 
</span><span class="lines">@@ -241,7 +241,7 @@
</span><span class="cx">         if (replaceRangeStart &gt;= fullPrefixLength &amp;&amp; m_styleText.substring(replaceRangeStart - fullPrefixLength, fullPrefixLength) == fullPrefix)
</span><span class="cx">             replaceRangeStart -= fullPrefixLength;
</span><span class="cx">     } else if (newTextLength) {
</span><del>-        if (isHTMLLineBreak(newText.characters()[newTextLength - 1])) {
</del><ins>+        if (isHTMLLineBreak(newText.deprecatedCharacters()[newTextLength - 1])) {
</ins><span class="cx">             // Coalesce newlines of the original and new property values (to avoid a lot of blank lines while incrementally applying property values).
</span><span class="cx">             bool foundNewline = false;
</span><span class="cx">             bool isLastNewline = false;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorInstrumentingAgentsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/InstrumentingAgents.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/InstrumentingAgents.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/InstrumentingAgents.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace Inspector {
</span><span class="cx"> class InspectorAgent;
</span><ins>+class InspectorDebuggerAgent;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -51,7 +52,6 @@
</span><span class="cx"> class InspectorDOMDebuggerAgent;
</span><span class="cx"> class InspectorDOMStorageAgent;
</span><span class="cx"> class InspectorDatabaseAgent;
</span><del>-class InspectorDebuggerAgent;
</del><span class="cx"> class InspectorHeapProfilerAgent;
</span><span class="cx"> class InspectorLayerTreeAgent;
</span><span class="cx"> class InspectorPageAgent;
</span><span class="lines">@@ -117,8 +117,8 @@
</span><span class="cx">     void setInspectorApplicationCacheAgent(InspectorApplicationCacheAgent* agent) { m_inspectorApplicationCacheAgent = agent; }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    InspectorDebuggerAgent* inspectorDebuggerAgent() const { return m_inspectorDebuggerAgent; }
-    void setInspectorDebuggerAgent(InspectorDebuggerAgent* agent) { m_inspectorDebuggerAgent = agent; }
</del><ins>+    Inspector::InspectorDebuggerAgent* inspectorDebuggerAgent() const { return m_inspectorDebuggerAgent; }
+    void setInspectorDebuggerAgent(Inspector::InspectorDebuggerAgent* agent) { m_inspectorDebuggerAgent = agent; }
</ins><span class="cx"> 
</span><span class="cx">     PageDebuggerAgent* pageDebuggerAgent() const { return m_pageDebuggerAgent; }
</span><span class="cx">     void setPageDebuggerAgent(PageDebuggerAgent* agent) { m_pageDebuggerAgent = agent; }
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     InspectorApplicationCacheAgent* m_inspectorApplicationCacheAgent;
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    InspectorDebuggerAgent* m_inspectorDebuggerAgent;
</del><ins>+    Inspector::InspectorDebuggerAgent* m_inspectorDebuggerAgent;
</ins><span class="cx">     PageDebuggerAgent* m_pageDebuggerAgent;
</span><span class="cx">     InspectorDOMDebuggerAgent* m_inspectorDOMDebuggerAgent;
</span><span class="cx">     InspectorProfilerAgent* m_inspectorProfilerAgent;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorJavaScriptCallFrameidl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/JavaScriptCallFrame.idl (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/JavaScriptCallFrame.idl        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/JavaScriptCallFrame.idl        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,51 +0,0 @@
</span><del>-/*
- * Copyright (C) 2008 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. ``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
- * 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.
- */
-
-[
-    NoInterfaceObject,
-    Conditional=JAVASCRIPT_DEBUGGER,
-    DoNotCheckConstants,
-    ImplementationLacksVTable
-] interface JavaScriptCallFrame {
-
-    // Scope type
-    const unsigned short GLOBAL_SCOPE = 0;
-    const unsigned short LOCAL_SCOPE = 1;
-    const unsigned short WITH_SCOPE = 2;
-    const unsigned short CLOSURE_SCOPE = 3;
-    const unsigned short CATCH_SCOPE = 4;
-
-    [Custom] void evaluate(DOMString script);
-    
-    readonly attribute JavaScriptCallFrame caller;
-    readonly attribute long sourceID;
-    readonly attribute long line;
-    readonly attribute long column;
-    [CustomGetter] readonly attribute Array scopeChain;
-    [Custom] unsigned short scopeType(int scopeIndex);
-    [CustomGetter] readonly attribute Object thisObject;
-    readonly attribute DOMString functionName;
-    [CustomGetter] readonly attribute DOMString type;
-};
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorPageDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,11 +29,11 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;PageDebuggerAgent.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;PageDebuggerAgent.h&quot;
-
</del><ins>+#include &quot;CachedResource.h&quot;
</ins><span class="cx"> #include &quot;InspectorOverlay.h&quot;
</span><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><span class="lines">@@ -48,29 +48,46 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PageDebuggerAgent::PageDebuggerAgent(InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent, InjectedScriptManager* injectedScriptManager, InspectorOverlay* overlay)
-    : InspectorDebuggerAgent(instrumentingAgents, injectedScriptManager)
</del><ins>+PageDebuggerAgent::PageDebuggerAgent(InjectedScriptManager* injectedScriptManager, InstrumentingAgents* instrumentingAgents, InspectorPageAgent* pageAgent, InspectorOverlay* overlay)
+    : WebDebuggerAgent(injectedScriptManager, instrumentingAgents)
</ins><span class="cx">     , m_pageAgent(pageAgent)
</span><span class="cx">     , m_overlay(overlay)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PageDebuggerAgent::~PageDebuggerAgent()
-{
-}
-
</del><span class="cx"> void PageDebuggerAgent::enable()
</span><span class="cx"> {
</span><del>-    InspectorDebuggerAgent::enable();
</del><ins>+    WebDebuggerAgent::enable();
</ins><span class="cx">     m_instrumentingAgents-&gt;setPageDebuggerAgent(this);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PageDebuggerAgent::disable(bool isBeingDestroyed)
</span><span class="cx"> {
</span><del>-    InspectorDebuggerAgent::disable(isBeingDestroyed);
</del><ins>+    WebDebuggerAgent::disable(isBeingDestroyed);
</ins><span class="cx">     m_instrumentingAgents-&gt;setPageDebuggerAgent(nullptr);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+String PageDebuggerAgent::sourceMapURLForScript(const Script&amp; script)
+{
+    DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeader, (ASCIILiteral(&quot;SourceMap&quot;)));
+    DEFINE_STATIC_LOCAL(String, sourceMapHTTPHeaderDeprecated, (ASCIILiteral(&quot;X-SourceMap&quot;)));
+
+    if (!script.url.isEmpty()) {
+        CachedResource* resource = m_pageAgent-&gt;cachedResource(m_pageAgent-&gt;mainFrame(), URL(ParsedURLString, script.url));
+        if (resource) {
+            String sourceMapHeader = resource-&gt;response().httpHeaderField(sourceMapHTTPHeader);
+            if (!sourceMapHeader.isEmpty())
+                return sourceMapHeader;
+
+            sourceMapHeader = resource-&gt;response().httpHeaderField(sourceMapHTTPHeaderDeprecated);
+            if (!sourceMapHeader.isEmpty())
+                return sourceMapHeader;
+        }
+    }
+
+    return InspectorDebuggerAgent::sourceMapURLForScript(script);
+}
+
</ins><span class="cx"> void PageDebuggerAgent::startListeningScriptDebugServer()
</span><span class="cx"> {
</span><span class="cx">     scriptDebugServer().addListener(this, m_pageAgent-&gt;page());
</span><span class="lines">@@ -96,15 +113,22 @@
</span><span class="cx">     PageConsole::unmute();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void PageDebuggerAgent::breakpointActionLog(JSC::ExecState*, const String&amp; message)
+{
+    m_pageAgent-&gt;page()-&gt;console().addMessage(JSMessageSource, LogMessageLevel, message);
+}
+
</ins><span class="cx"> InjectedScript PageDebuggerAgent::injectedScriptForEval(ErrorString* errorString, const int* executionContextId)
</span><span class="cx"> {
</span><span class="cx">     if (!executionContextId) {
</span><span class="cx">         JSC::ExecState* scriptState = mainWorldExecState(m_pageAgent-&gt;mainFrame());
</span><span class="cx">         return injectedScriptManager()-&gt;injectedScriptFor(scriptState);
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     InjectedScript injectedScript = injectedScriptManager()-&gt;injectedScriptForId(*executionContextId);
</span><span class="cx">     if (injectedScript.hasNoValue())
</span><del>-        *errorString = &quot;Execution context with given id not found.&quot;;
</del><ins>+        *errorString = ASCIILiteral(&quot;Execution context with given id not found.&quot;);
+
</ins><span class="cx">     return injectedScript;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorPageDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/PageDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,22 +33,23 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><span class="cx"> #include &quot;PageScriptDebugServer.h&quot;
</span><ins>+#include &quot;WebDebuggerAgent.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class InspectorOverlay;
</span><span class="cx"> class InspectorPageAgent;
</span><ins>+class InstrumentingAgents;
</ins><span class="cx"> class Page;
</span><span class="cx"> class PageScriptDebugServer;
</span><span class="cx"> 
</span><del>-class PageDebuggerAgent : public InspectorDebuggerAgent {
</del><ins>+class PageDebuggerAgent final : public WebDebuggerAgent {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(PageDebuggerAgent);
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    PageDebuggerAgent(InstrumentingAgents*, InspectorPageAgent*, Inspector::InjectedScriptManager*, InspectorOverlay*);
-    virtual ~PageDebuggerAgent();
</del><ins>+    PageDebuggerAgent(Inspector::InjectedScriptManager*, InstrumentingAgents*, InspectorPageAgent*, InspectorOverlay*);
+    virtual ~PageDebuggerAgent() { }
</ins><span class="cx"> 
</span><span class="cx">     void didClearMainFrameWindowObject();
</span><span class="cx"> 
</span><span class="lines">@@ -56,6 +57,8 @@
</span><span class="cx">     virtual void enable() override;
</span><span class="cx">     virtual void disable(bool isBeingDestroyed) override;
</span><span class="cx"> 
</span><ins>+    virtual String sourceMapURLForScript(const Script&amp;) override;
+
</ins><span class="cx"> private:
</span><span class="cx">     virtual void startListeningScriptDebugServer() override;
</span><span class="cx">     virtual void stopListeningScriptDebugServer(bool isBeingDestroyed) override;
</span><span class="lines">@@ -63,6 +66,8 @@
</span><span class="cx">     virtual void muteConsole() override;
</span><span class="cx">     virtual void unmuteConsole() override;
</span><span class="cx"> 
</span><ins>+    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) override;
+
</ins><span class="cx">     virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
</span><span class="cx">     virtual void setOverlayMessage(ErrorString*, const String*) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorPageRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,18 +29,20 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><ins>+#include &quot;PageRuntimeAgent.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;PageRuntimeAgent.h&quot;
-
</del><span class="cx"> #include &quot;Document.h&quot;
</span><ins>+#include &quot;Frame.h&quot;
</ins><span class="cx"> #include &quot;InspectorPageAgent.h&quot;
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><ins>+#include &quot;JSDOMWindowBase.h&quot;
</ins><span class="cx"> #include &quot;MainFrame.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="cx"> #include &quot;PageConsole.h&quot;
</span><span class="cx"> #include &quot;ScriptController.h&quot;
</span><ins>+#include &quot;ScriptState.h&quot;
</ins><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span><span class="lines">@@ -51,20 +53,14 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-PageRuntimeAgent::PageRuntimeAgent(InstrumentingAgents* instrumentingAgents, InjectedScriptManager* injectedScriptManager, Page* page, InspectorPageAgent* pageAgent)
-    : InspectorRuntimeAgent(instrumentingAgents, injectedScriptManager)
</del><ins>+PageRuntimeAgent::PageRuntimeAgent(InjectedScriptManager* injectedScriptManager, Page* page, InspectorPageAgent* pageAgent)
+    : InspectorRuntimeAgent(injectedScriptManager)
</ins><span class="cx">     , m_inspectedPage(page)
</span><span class="cx">     , m_pageAgent(pageAgent)
</span><span class="cx">     , m_mainWorldContextCreated(false)
</span><span class="cx"> {
</span><del>-    m_instrumentingAgents-&gt;setPageRuntimeAgent(this);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-PageRuntimeAgent::~PageRuntimeAgent()
-{
-    m_instrumentingAgents-&gt;setPageRuntimeAgent(nullptr);
-}
-
</del><span class="cx"> void PageRuntimeAgent::didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel* frontendChannel, InspectorBackendDispatcher* backendDispatcher)
</span><span class="cx"> {
</span><span class="cx">     m_frontendDispatcher = std::make_unique&lt;InspectorRuntimeFrontendDispatcher&gt;(frontendChannel);
</span><span class="lines">@@ -82,7 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> void PageRuntimeAgent::enable(ErrorString* errorString)
</span><span class="cx"> {
</span><del>-    if (m_enabled)
</del><ins>+    if (enabled())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     InspectorRuntimeAgent::enable(errorString);
</span><span class="lines">@@ -96,7 +92,7 @@
</span><span class="cx"> 
</span><span class="cx"> void PageRuntimeAgent::disable(ErrorString* errorString)
</span><span class="cx"> {
</span><del>-    if (!m_enabled)
</del><ins>+    if (!enabled())
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     InspectorRuntimeAgent::disable(errorString);
</span><span class="lines">@@ -106,8 +102,9 @@
</span><span class="cx"> {
</span><span class="cx">     m_mainWorldContextCreated = true;
</span><span class="cx"> 
</span><del>-    if (!m_enabled)
</del><ins>+    if (!enabled())
</ins><span class="cx">         return;
</span><ins>+
</ins><span class="cx">     ASSERT(m_frontendDispatcher);
</span><span class="cx">     String frameId = m_pageAgent-&gt;frameId(frame);
</span><span class="cx">     JSC::ExecState* scriptState = mainWorldExecState(frame);
</span><span class="lines">@@ -116,13 +113,19 @@
</span><span class="cx"> 
</span><span class="cx"> void PageRuntimeAgent::didCreateIsolatedContext(Frame* frame, JSC::ExecState* scriptState, SecurityOrigin* origin)
</span><span class="cx"> {
</span><del>-    if (!m_enabled)
</del><ins>+    if (!enabled())
</ins><span class="cx">         return;
</span><ins>+
</ins><span class="cx">     ASSERT(m_frontendDispatcher);
</span><span class="cx">     String frameId = m_pageAgent-&gt;frameId(frame);
</span><span class="cx">     notifyContextCreated(frameId, scriptState, origin, false);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSC::VM* PageRuntimeAgent::globalVM()
+{
+    return JSDOMWindowBase::commonVM();
+}
+
</ins><span class="cx"> InjectedScript PageRuntimeAgent::injectedScriptForEval(ErrorString* errorString, const int* executionContextId)
</span><span class="cx"> {
</span><span class="cx">     if (!executionContextId) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorPageRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/PageRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,11 +33,14 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorRuntimeAgent.h&quot;
-#include &quot;InspectorWebFrontendDispatchers.h&quot;
-#include &quot;ScriptState.h&quot;
</del><ins>+#include &lt;inspector/InspectorJSFrontendDispatchers.h&gt;
+#include &lt;inspector/agents/InspectorRuntimeAgent.h&gt;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> 
</span><ins>+namespace JSC {
+class ExecState;
+}
+
</ins><span class="cx"> namespace Inspector {
</span><span class="cx"> class InjectedScriptManager;
</span><span class="cx"> }
</span><span class="lines">@@ -45,13 +48,15 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class InspectorPageAgent;
</span><ins>+class Frame;
</ins><span class="cx"> class Page;
</span><span class="cx"> class SecurityOrigin;
</span><ins>+typedef String ErrorString;
</ins><span class="cx"> 
</span><del>-class PageRuntimeAgent : public InspectorRuntimeAgent {
</del><ins>+class PageRuntimeAgent final : public Inspector::InspectorRuntimeAgent {
</ins><span class="cx"> public:
</span><del>-    PageRuntimeAgent(InstrumentingAgents*, Inspector::InjectedScriptManager*, Page*, InspectorPageAgent*);
-    virtual ~PageRuntimeAgent();
</del><ins>+    PageRuntimeAgent(Inspector::InjectedScriptManager*, Page*, InspectorPageAgent*);
+    virtual ~PageRuntimeAgent() { }
</ins><span class="cx">     
</span><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="lines">@@ -62,6 +67,7 @@
</span><span class="cx">     void didCreateIsolatedContext(Frame*, JSC::ExecState*, SecurityOrigin*);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    virtual JSC::VM* globalVM() override;
</ins><span class="cx">     virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
</span><span class="cx">     virtual void muteConsole() override;
</span><span class="cx">     virtual void unmuteConsole() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorScriptProfileNodeidl"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/ScriptProfileNode.idl (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/ScriptProfileNode.idl        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/ScriptProfileNode.idl        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,7 +36,6 @@
</span><span class="cx">     readonly attribute double selfTime;
</span><span class="cx">     readonly attribute unsigned long numberOfCalls;
</span><span class="cx">     sequence&lt;ScriptProfileNode&gt; children();
</span><del>-    readonly attribute boolean visible;
</del><span class="cx">     readonly attribute unsigned long callUID;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWebDebuggerAgentcpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.cpp                                (rev 0)
+++ branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;WebDebuggerAgent.h&quot;
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &quot;InstrumentingAgents.h&quot;
+
+using namespace Inspector;
+
+namespace WebCore {
+
+WebDebuggerAgent::WebDebuggerAgent(InjectedScriptManager* injectedScriptManager, InstrumentingAgents* instrumentingAgents)
+    : InspectorDebuggerAgent(injectedScriptManager)
+    , m_instrumentingAgents(instrumentingAgents)
+{
+}
+
+void WebDebuggerAgent::enable()
+{
+    InspectorDebuggerAgent::enable();
+    m_instrumentingAgents-&gt;setInspectorDebuggerAgent(this);
+}
+
+void WebDebuggerAgent::disable(bool isBeingDestroyed)
+{
+    InspectorDebuggerAgent::disable(isBeingDestroyed);
+    m_instrumentingAgents-&gt;setInspectorDebuggerAgent(nullptr);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWebDebuggerAgenth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/inspector/WebDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2014 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. ``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
+ * 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 WebDebuggerAgent_h
+#define WebDebuggerAgent_h
+
+#if ENABLE(INSPECTOR)
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+
+#include &lt;inspector/agents/InspectorDebuggerAgent.h&gt;
+
+namespace WebCore {
+
+class InstrumentingAgents;
+typedef String ErrorString;
+
+class WebDebuggerAgent : public Inspector::InspectorDebuggerAgent {
+    WTF_MAKE_NONCOPYABLE(WebDebuggerAgent);
+    WTF_MAKE_FAST_ALLOCATED;
+public:
+    WebDebuggerAgent(Inspector::InjectedScriptManager*, InstrumentingAgents*);
+    virtual ~WebDebuggerAgent() { }
+
+protected:
+    virtual void enable() override;
+    virtual void disable(bool isBeingDestroyed) override;
+
+    InstrumentingAgents* m_instrumentingAgents;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(JAVASCRIPT_DEBUGGER)
+#endif // ENABLE(INSPECTOR)
+
+#endif // !defined(WebDebuggerAgent_h)
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerDebuggerAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,11 +33,11 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;ScriptDebugServer.h&quot;
</del><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><span class="cx"> #include &quot;WorkerThread.h&quot;
</span><span class="cx"> #include &lt;inspector/InjectedScript.h&gt;
</span><span class="cx"> #include &lt;inspector/InjectedScriptManager.h&gt;
</span><ins>+#include &lt;inspector/ScriptDebugServer.h&gt;
</ins><span class="cx"> #include &lt;mutex&gt;
</span><span class="cx"> #include &lt;wtf/MessageQueue.h&gt;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><span class="lines">@@ -92,8 +92,8 @@
</span><span class="cx"> 
</span><span class="cx"> const char* WorkerDebuggerAgent::debuggerTaskMode = &quot;debugger&quot;;
</span><span class="cx"> 
</span><del>-WorkerDebuggerAgent::WorkerDebuggerAgent(InstrumentingAgents* instrumentingAgents, WorkerGlobalScope* inspectedWorkerGlobalScope, InjectedScriptManager* injectedScriptManager)
-    : InspectorDebuggerAgent(instrumentingAgents, injectedScriptManager)
</del><ins>+WorkerDebuggerAgent::WorkerDebuggerAgent(InjectedScriptManager* injectedScriptManager, InstrumentingAgents* instrumentingAgents, WorkerGlobalScope* inspectedWorkerGlobalScope)
+    : WebDebuggerAgent(injectedScriptManager, instrumentingAgents)
</ins><span class="cx">     , m_scriptDebugServer(inspectedWorkerGlobalScope, WorkerDebuggerAgent::debuggerTaskMode)
</span><span class="cx">     , m_inspectedWorkerGlobalScope(inspectedWorkerGlobalScope)
</span><span class="cx"> {
</span><span class="lines">@@ -127,6 +127,11 @@
</span><span class="cx">     scriptDebugServer().removeListener(this, isBeingDestroyed);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void WorkerDebuggerAgent::breakpointActionLog(JSC::ExecState*, const String&amp; message)
+{
+    m_inspectedWorkerGlobalScope-&gt;addConsoleMessage(JSMessageSource, LogMessageLevel, message);
+}
+
</ins><span class="cx"> WorkerScriptDebugServer&amp; WorkerDebuggerAgent::scriptDebugServer()
</span><span class="cx"> {
</span><span class="cx">     return m_scriptDebugServer;
</span><span class="lines">@@ -135,9 +140,10 @@
</span><span class="cx"> InjectedScript WorkerDebuggerAgent::injectedScriptForEval(ErrorString* error, const int* executionContextId)
</span><span class="cx"> {
</span><span class="cx">     if (executionContextId) {
</span><del>-        *error = &quot;Execution context id is not supported for workers as there is only one execution context.&quot;;
</del><ins>+        *error = ASCIILiteral(&quot;Execution context id is not supported for workers as there is only one execution context.&quot;);
</ins><span class="cx">         return InjectedScript();
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     JSC::ExecState* scriptState = execStateFromWorkerGlobalScope(m_inspectedWorkerGlobalScope);
</span><span class="cx">     return injectedScriptManager()-&gt;injectedScriptFor(scriptState);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerDebuggerAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerDebuggerAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,7 +32,8 @@
</span><span class="cx"> #define WorkerDebuggerAgent_h
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER) &amp;&amp; ENABLE(INSPECTOR)
</span><del>-#include &quot;InspectorDebuggerAgent.h&quot;
</del><ins>+
+#include &quot;WebDebuggerAgent.h&quot;
</ins><span class="cx"> #include &quot;WorkerScriptDebugServer.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -40,11 +41,11 @@
</span><span class="cx"> class WorkerGlobalScope;
</span><span class="cx"> class WorkerThread;
</span><span class="cx"> 
</span><del>-class WorkerDebuggerAgent : public InspectorDebuggerAgent {
</del><ins>+class WorkerDebuggerAgent final : public WebDebuggerAgent {
</ins><span class="cx">     WTF_MAKE_NONCOPYABLE(WorkerDebuggerAgent);
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    WorkerDebuggerAgent(InstrumentingAgents*, WorkerGlobalScope*, Inspector::InjectedScriptManager*);
</del><ins>+    WorkerDebuggerAgent(Inspector::InjectedScriptManager*, InstrumentingAgents*, WorkerGlobalScope*);
</ins><span class="cx">     virtual ~WorkerDebuggerAgent();
</span><span class="cx"> 
</span><span class="cx">     static const char* debuggerTaskMode;
</span><span class="lines">@@ -57,6 +58,8 @@
</span><span class="cx">     virtual void muteConsole() override;
</span><span class="cx">     virtual void unmuteConsole() override;
</span><span class="cx"> 
</span><ins>+    virtual void breakpointActionLog(JSC::ExecState*, const String&amp;) override;
+
</ins><span class="cx"> private:
</span><span class="cx">     WorkerScriptDebugServer m_scriptDebugServer;
</span><span class="cx">     WorkerGlobalScope* m_inspectedWorkerGlobalScope;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerInspectorControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -85,13 +85,14 @@
</span><span class="cx">     , m_injectedScriptManager(std::make_unique&lt;PageInjectedScriptManager&gt;(*this, PageInjectedScriptHost::create()))
</span><span class="cx">     , m_runtimeAgent(nullptr)
</span><span class="cx"> {
</span><del>-    auto runtimeAgent = std::make_unique&lt;WorkerRuntimeAgent&gt;(m_instrumentingAgents.get(), m_injectedScriptManager.get(), &amp;workerGlobalScope);
</del><ins>+    auto runtimeAgent = std::make_unique&lt;WorkerRuntimeAgent&gt;(m_injectedScriptManager.get(), &amp;workerGlobalScope);
</ins><span class="cx">     m_runtimeAgent = runtimeAgent.get();
</span><ins>+    m_instrumentingAgents-&gt;setWorkerRuntimeAgent(m_runtimeAgent);
</ins><span class="cx">     m_agents.append(std::move(runtimeAgent));
</span><span class="cx"> 
</span><span class="cx">     auto consoleAgent = std::make_unique&lt;WorkerConsoleAgent&gt;(m_instrumentingAgents.get(), m_injectedScriptManager.get());
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><del>-    auto debuggerAgent = std::make_unique&lt;WorkerDebuggerAgent&gt;(m_instrumentingAgents.get(), &amp;workerGlobalScope, m_injectedScriptManager.get());
</del><ins>+    auto debuggerAgent = std::make_unique&lt;WorkerDebuggerAgent&gt;(m_injectedScriptManager.get(), m_instrumentingAgents.get(), &amp;workerGlobalScope);
</ins><span class="cx">     m_runtimeAgent-&gt;setScriptDebugServer(&amp;debuggerAgent-&gt;scriptDebugServer());
</span><span class="cx">     m_agents.append(std::move(debuggerAgent));
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerInspectorControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerInspectorController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -50,10 +50,10 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class InspectorInstrumentation;
</span><del>-class InspectorRuntimeAgent;
</del><span class="cx"> class InstrumentingAgents;
</span><span class="cx"> class PageInjectedScriptManager;
</span><span class="cx"> class WorkerGlobalScope;
</span><ins>+class WorkerRuntimeAgent;
</ins><span class="cx"> 
</span><span class="cx"> class WorkerInspectorController final : public Inspector::InspectorEnvironment {
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(WorkerInspectorController);
</span><span class="lines">@@ -82,7 +82,7 @@
</span><span class="cx">     WorkerGlobalScope&amp; m_workerGlobalScope;
</span><span class="cx">     RefPtr&lt;InstrumentingAgents&gt; m_instrumentingAgents;
</span><span class="cx">     std::unique_ptr&lt;PageInjectedScriptManager&gt; m_injectedScriptManager;
</span><del>-    InspectorRuntimeAgent* m_runtimeAgent;
</del><ins>+    WorkerRuntimeAgent* m_runtimeAgent;
</ins><span class="cx">     Inspector::InspectorAgentRegistry m_agents;
</span><span class="cx">     std::unique_ptr&lt;InspectorFrontendChannel&gt; m_frontendChannel;
</span><span class="cx">     RefPtr&lt;Inspector::InspectorBackendDispatcher&gt; m_backendDispatcher;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerRuntimeAgentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;InstrumentingAgents.h&quot;
</span><ins>+#include &quot;JSDOMWindowBase.h&quot;
</ins><span class="cx"> #include &quot;ScriptState.h&quot;
</span><span class="cx"> #include &quot;WorkerDebuggerAgent.h&quot;
</span><span class="cx"> #include &quot;WorkerGlobalScope.h&quot;
</span><span class="lines">@@ -46,19 +47,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-WorkerRuntimeAgent::WorkerRuntimeAgent(InstrumentingAgents* instrumentingAgents, InjectedScriptManager* injectedScriptManager, WorkerGlobalScope* workerGlobalScope)
-    : InspectorRuntimeAgent(instrumentingAgents, injectedScriptManager)
</del><ins>+WorkerRuntimeAgent::WorkerRuntimeAgent(InjectedScriptManager* injectedScriptManager, WorkerGlobalScope* workerGlobalScope)
+    : InspectorRuntimeAgent(injectedScriptManager)
</ins><span class="cx">     , m_workerGlobalScope(workerGlobalScope)
</span><span class="cx">     , m_paused(false)
</span><span class="cx"> {
</span><del>-    m_instrumentingAgents-&gt;setWorkerRuntimeAgent(this);
</del><span class="cx"> }
</span><span class="cx"> 
</span><del>-WorkerRuntimeAgent::~WorkerRuntimeAgent()
-{
-    m_instrumentingAgents-&gt;setWorkerRuntimeAgent(nullptr);
-}
-
</del><span class="cx"> void WorkerRuntimeAgent::didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, InspectorBackendDispatcher* backendDispatcher)
</span><span class="cx"> {
</span><span class="cx">     m_backendDispatcher = InspectorRuntimeBackendDispatcher::create(backendDispatcher, this);
</span><span class="lines">@@ -72,9 +67,10 @@
</span><span class="cx"> InjectedScript WorkerRuntimeAgent::injectedScriptForEval(ErrorString* error, const int* executionContextId)
</span><span class="cx"> {
</span><span class="cx">     if (executionContextId) {
</span><del>-        *error = &quot;Execution context id is not supported for workers as there is only one execution context.&quot;;
</del><ins>+        *error = ASCIILiteral(&quot;Execution context id is not supported for workers as there is only one execution context.&quot;);
</ins><span class="cx">         return InjectedScript();
</span><span class="cx">     }
</span><ins>+
</ins><span class="cx">     JSC::ExecState* scriptState = execStateFromWorkerGlobalScope(m_workerGlobalScope);
</span><span class="cx">     return injectedScriptManager()-&gt;injectedScriptFor(scriptState);
</span><span class="cx"> }
</span><span class="lines">@@ -94,6 +90,11 @@
</span><span class="cx">     m_paused = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+JSC::VM* WorkerRuntimeAgent::globalVM()
+{
+    return JSDOMWindowBase::commonVM();
+}
+
</ins><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx"> void WorkerRuntimeAgent::pauseWorkerGlobalScope(WorkerGlobalScope* context)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorWorkerRuntimeAgenth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/WorkerRuntimeAgent.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,29 +33,30 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx"> 
</span><del>-#include &quot;InspectorRuntimeAgent.h&quot;
</del><ins>+#include &lt;inspector/agents/InspectorRuntimeAgent.h&gt;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> class WorkerGlobalScope;
</span><ins>+typedef String ErrorString;
</ins><span class="cx"> 
</span><del>-class WorkerRuntimeAgent : public InspectorRuntimeAgent {
</del><ins>+class WorkerRuntimeAgent final : public Inspector::InspectorRuntimeAgent {
</ins><span class="cx"> public:
</span><del>-    WorkerRuntimeAgent(InstrumentingAgents*, Inspector::InjectedScriptManager*, WorkerGlobalScope*);
-    virtual ~WorkerRuntimeAgent();
</del><ins>+    WorkerRuntimeAgent(Inspector::InjectedScriptManager*, WorkerGlobalScope*);
+    virtual ~WorkerRuntimeAgent() { }
</ins><span class="cx"> 
</span><span class="cx">     virtual void didCreateFrontendAndBackend(Inspector::InspectorFrontendChannel*, Inspector::InspectorBackendDispatcher*) override;
</span><span class="cx">     virtual void willDestroyFrontendAndBackend(Inspector::InspectorDisconnectReason) override;
</span><span class="cx"> 
</span><del>-    // Protocol commands.
</del><span class="cx">     virtual void run(ErrorString*) override;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JAVASCRIPT_DEBUGGER)
</span><span class="cx">     void pauseWorkerGlobalScope(WorkerGlobalScope*);
</span><del>-#endif // ENABLE(JAVASCRIPT_DEBUGGER)
</del><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    virtual JSC::VM* globalVM() override;
</ins><span class="cx">     virtual Inspector::InjectedScript injectedScriptForEval(ErrorString*, const int* executionContextId) override;
</span><span class="cx">     virtual void muteConsole() override;
</span><span class="cx">     virtual void unmuteConsole() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreinspectorprotocolProfilerjson"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/inspector/protocol/Profiler.json (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/inspector/protocol/Profiler.json        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/inspector/protocol/Profiler.json        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,7 +23,6 @@
</span><span class="cx">                 { &quot;name&quot;: &quot;totalTime&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Total execution time.&quot; },
</span><span class="cx">                 { &quot;name&quot;: &quot;selfTime&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Self time.&quot; },
</span><span class="cx">                 { &quot;name&quot;: &quot;numberOfCalls&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Number of calls.&quot; },
</span><del>-                { &quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Visibility.&quot; },
</del><span class="cx">                 { &quot;name&quot;: &quot;callUID&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Call UID.&quot; },
</span><span class="cx">                 { &quot;name&quot;: &quot;children&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CPUProfileNode&quot; }, &quot;description&quot;: &quot;Child nodes.&quot; },
</span><span class="cx">                 { &quot;name&quot;: &quot;id&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Unique id of the node.&quot; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderEmptyClientsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/EmptyClients.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/EmptyClients.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/EmptyClients.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -366,7 +366,6 @@
</span><span class="cx">     virtual void updateGlobalHistory() override { }
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks() override { }
</span><span class="cx">     virtual bool shouldGoToHistoryItem(HistoryItem*) const override { return false; }
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const override { return false; }
</del><span class="cx">     virtual void updateGlobalHistoryItemForPage() override { }
</span><span class="cx">     virtual void saveViewStateToItem(HistoryItem*) override { }
</span><span class="cx">     virtual bool canCachePage() const override { return false; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/FrameLoader.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/FrameLoader.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/FrameLoader.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -798,9 +798,6 @@
</span><span class="cx">     Ref&lt;Frame&gt; protect(m_frame);
</span><span class="cx">     m_shouldCallCheckCompleted = false;
</span><span class="cx"> 
</span><del>-    if (m_frame.view())
-        m_frame.view()-&gt;handleLoadCompleted();
-
</del><span class="cx">     // Have we completed before?
</span><span class="cx">     if (m_isComplete)
</span><span class="cx">         return;
</span><span class="lines">@@ -845,9 +842,6 @@
</span><span class="cx">     completed();
</span><span class="cx">     if (m_frame.page())
</span><span class="cx">         checkLoadComplete();
</span><del>-
-    if (m_frame.view())
-        m_frame.view()-&gt;handleLoadCompleted();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::checkTimerFired(Timer&lt;FrameLoader&gt;&amp;)
</span><span class="lines">@@ -1184,10 +1178,11 @@
</span><span class="cx">     m_progressTracker-&gt;progressStarted();
</span><span class="cx">     m_client.dispatchDidStartProvisionalLoad();
</span><span class="cx"> 
</span><del>-    // Notify accessibility.
-    if (AXObjectCache* cache = m_frame.document()-&gt;existingAXObjectCache()) {
-        AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadTypeReload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
-        cache-&gt;frameLoadingEventNotification(&amp;m_frame, loadingEvent);
</del><ins>+    if (AXObjectCache::accessibilityEnabled()) {
+        if (AXObjectCache* cache = m_frame.document()-&gt;existingAXObjectCache()) {
+            AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadTypeReload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
+            cache-&gt;frameLoadingEventNotification(&amp;m_frame, loadingEvent);
+        }
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/FrameLoaderClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/FrameLoaderClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/FrameLoaderClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -201,7 +201,6 @@
</span><span class="cx">         virtual void updateGlobalHistoryRedirectLinks() = 0;
</span><span class="cx"> 
</span><span class="cx">         virtual bool shouldGoToHistoryItem(HistoryItem*) const = 0;
</span><del>-        virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const = 0;
</del><span class="cx">         virtual void updateGlobalHistoryItemForPage() { }
</span><span class="cx"> 
</span><span class="cx">         // This frame has set its opener to null, disowning it for the lifetime of the frame.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderHistoryControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/HistoryController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/HistoryController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/HistoryController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -253,7 +253,7 @@
</span><span class="cx">     if (m_currentItem-&gt;shouldDoSameDocumentNavigationTo(targetItem))
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    return m_frame.loader().client().shouldStopLoadingForHistoryItem(targetItem);
</del><ins>+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // Main funnel for navigating to a previous location (back/forward, non-search snap-back)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderTextTrackLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/TextTrackLoader.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/TextTrackLoader.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/TextTrackLoader.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><del>-TextTrackLoader::TextTrackLoader(TextTrackLoaderClient* client, ScriptExecutionContext* context)
</del><ins>+TextTrackLoader::TextTrackLoader(TextTrackLoaderClient&amp; client, ScriptExecutionContext* context)
</ins><span class="cx">     : m_client(client)
</span><span class="cx">     , m_scriptExecutionContext(context)
</span><span class="cx">     , m_cueLoadTimer(this, &amp;TextTrackLoader::cueLoadTimerFired)
</span><span class="lines">@@ -55,8 +55,8 @@
</span><span class="cx"> 
</span><span class="cx"> TextTrackLoader::~TextTrackLoader()
</span><span class="cx"> {
</span><del>-    if (m_cachedCueData)
-        m_cachedCueData-&gt;removeClient(this);
</del><ins>+    if (m_resource)
+        m_resource-&gt;removeClient(this);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextTrackLoader::cueLoadTimerFired(Timer&lt;TextTrackLoader&gt;* timer)
</span><span class="lines">@@ -65,24 +65,24 @@
</span><span class="cx">     
</span><span class="cx">     if (m_newCuesAvailable) {
</span><span class="cx">         m_newCuesAvailable = false;
</span><del>-        m_client-&gt;newCuesAvailable(this); 
</del><ins>+        m_client.newCuesAvailable(this);
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (m_state &gt;= Finished)
</span><del>-        m_client-&gt;cueLoadingCompleted(this, m_state == Failed);
</del><ins>+        m_client.cueLoadingCompleted(this, m_state == Failed);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextTrackLoader::cancelLoad()
</span><span class="cx"> {
</span><del>-    if (m_cachedCueData) {
-        m_cachedCueData-&gt;removeClient(this);
-        m_cachedCueData = 0;
</del><ins>+    if (m_resource) {
+        m_resource-&gt;removeClient(this);
+        m_resource = nullptr;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TextTrackLoader::processNewCueData(CachedResource* resource)
</span><span class="cx"> {
</span><del>-    ASSERT(m_cachedCueData == resource);
</del><ins>+    ASSERT(m_resource == resource);
</ins><span class="cx">     
</span><span class="cx">     if (m_state == Failed || !resource-&gt;resourceBuffer())
</span><span class="cx">         return;
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx"> // FIXME: This is a very unusual pattern, no other CachedResourceClient does this. Refactor to use notifyFinished() instead.
</span><span class="cx"> void TextTrackLoader::deprecatedDidReceiveCachedResource(CachedResource* resource)
</span><span class="cx"> {
</span><del>-    ASSERT(m_cachedCueData == resource);
</del><ins>+    ASSERT(m_resource == resource);
</ins><span class="cx">     
</span><span class="cx">     if (!resource-&gt;resourceBuffer())
</span><span class="cx">         return;
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> 
</span><span class="cx"> void TextTrackLoader::notifyFinished(CachedResource* resource)
</span><span class="cx"> {
</span><del>-    ASSERT(m_cachedCueData == resource);
</del><ins>+    ASSERT(m_resource == resource);
</ins><span class="cx"> 
</span><span class="cx">     Document* document = toDocument(m_scriptExecutionContext);
</span><span class="cx">     if (!m_crossOriginMode.isNull()
</span><span class="lines">@@ -152,9 +152,6 @@
</span><span class="cx"> {
</span><span class="cx">     cancelLoad();
</span><span class="cx"> 
</span><del>-    if (!m_client-&gt;shouldLoadCues(this))
-        return false;
-
</del><span class="cx">     ASSERT(m_scriptExecutionContext-&gt;isDocument());
</span><span class="cx">     Document* document = toDocument(m_scriptExecutionContext);
</span><span class="cx">     CachedResourceRequest cueRequest(ResourceRequest(document-&gt;completeURL(url)));
</span><span class="lines">@@ -172,12 +169,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     CachedResourceLoader* cachedResourceLoader = document-&gt;cachedResourceLoader();
</span><del>-    m_cachedCueData = cachedResourceLoader-&gt;requestTextTrack(cueRequest);
-    if (m_cachedCueData)
-        m_cachedCueData-&gt;addClient(this);
</del><ins>+    m_resource = cachedResourceLoader-&gt;requestTextTrack(cueRequest);
+    if (!m_resource)
+        return false;
+
+    m_resource-&gt;addClient(this);
</ins><span class="cx">     
</span><del>-    m_client-&gt;cueLoadingStarted(this);
-    
</del><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -193,7 +190,7 @@
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span><span class="cx"> void TextTrackLoader::newRegionsParsed()
</span><span class="cx"> {
</span><del>-    m_client-&gt;newRegionsAvailable(this); 
</del><ins>+    m_client.newRegionsAvailable(this);
</ins><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderTextTrackLoaderh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/TextTrackLoader.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/TextTrackLoader.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/TextTrackLoader.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,9 +45,7 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~TextTrackLoaderClient() { }
</span><span class="cx">     
</span><del>-    virtual bool shouldLoadCues(TextTrackLoader*) = 0;
</del><span class="cx">     virtual void newCuesAvailable(TextTrackLoader*) = 0;
</span><del>-    virtual void cueLoadingStarted(TextTrackLoader*) = 0;
</del><span class="cx">     virtual void cueLoadingCompleted(TextTrackLoader*, bool loadingFailed) = 0;
</span><span class="cx"> #if ENABLE(WEBVTT_REGIONS)
</span><span class="cx">     virtual void newRegionsAvailable(TextTrackLoader*) = 0;
</span><span class="lines">@@ -58,7 +56,7 @@
</span><span class="cx">     WTF_MAKE_NONCOPYABLE(TextTrackLoader); 
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    static PassOwnPtr&lt;TextTrackLoader&gt; create(TextTrackLoaderClient* client, ScriptExecutionContext* context)
</del><ins>+    static PassOwnPtr&lt;TextTrackLoader&gt; create(TextTrackLoaderClient&amp; client, ScriptExecutionContext* context)
</ins><span class="cx">     {
</span><span class="cx">         return adoptPtr(new TextTrackLoader(client, context));
</span><span class="cx">     }
</span><span class="lines">@@ -83,7 +81,7 @@
</span><span class="cx"> #endif
</span><span class="cx">     virtual void fileFailedToParse();
</span><span class="cx">     
</span><del>-    TextTrackLoader(TextTrackLoaderClient*, ScriptExecutionContext*);
</del><ins>+    TextTrackLoader(TextTrackLoaderClient&amp;, ScriptExecutionContext*);
</ins><span class="cx">     
</span><span class="cx">     void processNewCueData(CachedResource*);
</span><span class="cx">     void cueLoadTimerFired(Timer&lt;TextTrackLoader&gt;*);
</span><span class="lines">@@ -91,9 +89,9 @@
</span><span class="cx"> 
</span><span class="cx">     enum State { Idle, Loading, Finished, Failed };
</span><span class="cx">     
</span><del>-    TextTrackLoaderClient* m_client;
</del><ins>+    TextTrackLoaderClient&amp; m_client;
</ins><span class="cx">     OwnPtr&lt;WebVTTParser&gt; m_cueParser;
</span><del>-    CachedResourceHandle&lt;CachedTextTrack&gt; m_cachedCueData;
</del><ins>+    CachedResourceHandle&lt;CachedTextTrack&gt; m_resource;
</ins><span class="cx">     ScriptExecutionContext* m_scriptExecutionContext;
</span><span class="cx">     Timer&lt;TextTrackLoader&gt; m_cueLoadTimer;
</span><span class="cx">     String m_crossOriginMode;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloaderappcacheApplicationCacheStoragecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,21 +31,18 @@
</span><span class="cx"> #include &quot;ApplicationCacheHost.h&quot;
</span><span class="cx"> #include &quot;ApplicationCacheResource.h&quot;
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><del>-#include &quot;URL.h&quot;
</del><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><ins>+#include &quot;SQLiteDatabaseTracker.h&quot;
</ins><span class="cx"> #include &quot;SQLiteStatement.h&quot;
</span><span class="cx"> #include &quot;SQLiteTransaction.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &quot;URL.h&quot;
</ins><span class="cx"> #include &quot;UUID.h&quot;
</span><del>-#include &lt;wtf/text/CString.h&gt;
</del><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><ins>+#include &lt;wtf/text/CString.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-#include &quot;SQLiteDatabaseTracker.h&quot;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const char flatFileSubdirectory[] = &quot;ApplicationCache&quot;;
</span><span class="lines">@@ -104,10 +101,8 @@
</span><span class="cx"> 
</span><span class="cx"> ApplicationCacheGroup* ApplicationCacheStorage::loadCacheGroup(const URL&amp; manifestURL)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return 0;
</span><span class="lines">@@ -182,10 +177,8 @@
</span><span class="cx">     // to avoid trying to open the database over and over if it doesn't exist.
</span><span class="cx">     hasLoadedHashes = true;
</span><span class="cx">     
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return;
</span><span class="lines">@@ -229,10 +222,7 @@
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return 0;
</span><span class="cx">         
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     // Check the database. Look for all cache groups with a newest cache.
</span><span class="cx">     SQLiteStatement statement(m_database, &quot;SELECT id, manifestURL, newestCache FROM CacheGroups WHERE newestCache IS NOT NULL&quot;);
</span><span class="lines">@@ -280,10 +270,8 @@
</span><span class="cx"> 
</span><span class="cx"> ApplicationCacheGroup* ApplicationCacheStorage::fallbackCacheGroupForURL(const URL&amp; url)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(!url.hasFragmentIdentifier());
</span><span class="cx"> 
</span><span class="cx">     // Check if an appropriate cache already exists in memory.
</span><span class="lines">@@ -455,10 +443,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::calculateQuotaForOrigin(const SecurityOrigin* origin, int64_t&amp; quota)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     // If an Origin record doesn't exist, then the COUNT will be 0 and quota will be 0.
</span><span class="cx">     // Using the count to determine if a record existed or not is a safe way to determine
</span><span class="cx">     // if a quota of 0 is real, from the record, or from null.
</span><span class="lines">@@ -482,10 +468,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::calculateUsageForOrigin(const SecurityOrigin* origin, int64_t&amp; usage)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     // If an Origins record doesn't exist, then the SUM will be null,
</span><span class="cx">     // which will become 0, as expected, when converting to a number.
</span><span class="cx">     SQLiteStatement statement(m_database, &quot;SELECT SUM(Caches.size)&quot;
</span><span class="lines">@@ -510,10 +494,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::calculateRemainingSizeForOriginExcludingCache(const SecurityOrigin* origin, ApplicationCache* cache, int64_t&amp; remainingSize)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return false;
</span><span class="lines">@@ -563,10 +545,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::storeUpdatedQuotaForOrigin(const SecurityOrigin* origin, int64_t quota)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(true);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return false;
</span><span class="lines">@@ -586,9 +566,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::executeSQLCommand(const String&amp; sql)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     ASSERT(m_database.isOpen());
</span><span class="cx">     
</span><span class="cx">     bool result = m_database.executeCommand(sql);
</span><span class="lines">@@ -606,9 +584,8 @@
</span><span class="cx">     
</span><span class="cx"> void ApplicationCacheStorage::verifySchemaVersion()
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     int version = SQLiteStatement(m_database, &quot;PRAGMA user_version&quot;).getColumnInt(0);
</span><span class="cx">     if (version == schemaVersion)
</span><span class="cx">         return;
</span><span class="lines">@@ -633,10 +610,8 @@
</span><span class="cx">     
</span><span class="cx"> void ApplicationCacheStorage::openDatabase(bool createIfDoesNotExist)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     if (m_database.isOpen())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -704,9 +679,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::executeStatement(SQLiteStatement&amp; statement)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     bool result = statement.executeCommand();
</span><span class="cx">     if (!result)
</span><span class="cx">         LOG_ERROR(&quot;Application Cache Storage: failed to execute statement \&quot;%s\&quot; error \&quot;%s\&quot;&quot;, 
</span><span class="lines">@@ -717,9 +690,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::store(ApplicationCacheGroup* group, GroupStorageIDJournal* journal)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     ASSERT(group-&gt;storageID() == 0);
</span><span class="cx">     ASSERT(journal);
</span><span class="cx"> 
</span><span class="lines">@@ -746,9 +717,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::store(ApplicationCache* cache, ResourceStorageIDJournal* storageIDJournal)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     ASSERT(cache-&gt;storageID() == 0);
</span><span class="cx">     ASSERT(cache-&gt;group()-&gt;storageID() != 0);
</span><span class="cx">     ASSERT(storageIDJournal);
</span><span class="lines">@@ -830,9 +799,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::store(ApplicationCacheResource* resource, unsigned cacheStorageID)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     ASSERT(cacheStorageID);
</span><span class="cx">     ASSERT(!resource-&gt;storageID());
</span><span class="cx">     
</span><span class="lines">@@ -950,10 +917,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::storeUpdatedType(ApplicationCacheResource* resource, ApplicationCache* cache)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT_UNUSED(cache, cache-&gt;storageID());
</span><span class="cx">     ASSERT(resource-&gt;storageID());
</span><span class="cx"> 
</span><span class="lines">@@ -970,10 +935,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::store(ApplicationCacheResource* resource, ApplicationCache* cache)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(cache-&gt;storageID());
</span><span class="cx">     
</span><span class="cx">     openDatabase(true);
</span><span class="lines">@@ -1009,9 +972,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::ensureOriginRecord(const SecurityOrigin* origin)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
</del><span class="cx">     SQLiteStatement insertOriginStatement(m_database, &quot;INSERT INTO Origins (origin, quota) VALUES (?, ?)&quot;);
</span><span class="cx">     if (insertOriginStatement.prepare() != SQLResultOk)
</span><span class="cx">         return false;
</span><span class="lines">@@ -1159,10 +1120,8 @@
</span><span class="cx">     
</span><span class="cx"> PassRefPtr&lt;ApplicationCache&gt; ApplicationCacheStorage::loadCache(unsigned storageID)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     ASSERT(SQLiteDatabaseTracker::hasTransactionInProgress());
</span><del>-#endif
-    SQLiteStatement cacheStatement(m_database, 
</del><ins>+    SQLiteStatement cacheStatement(m_database,
</ins><span class="cx">                                    &quot;SELECT url, statusCode, type, mimeType, textEncodingName, headers, CacheResourceData.data, CacheResourceData.path FROM CacheEntries INNER JOIN CacheResources ON CacheEntries.resource=CacheResources.id &quot;
</span><span class="cx">                                    &quot;INNER JOIN CacheResourceData ON CacheResourceData.id=CacheResources.data WHERE CacheEntries.cache=?&quot;);
</span><span class="cx">     if (cacheStatement.prepare() != SQLResultOk) {
</span><span class="lines">@@ -1270,10 +1229,8 @@
</span><span class="cx">     
</span><span class="cx"> void ApplicationCacheStorage::remove(ApplicationCache* cache)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     if (!cache-&gt;storageID())
</span><span class="cx">         return;
</span><span class="cx">     
</span><span class="lines">@@ -1311,10 +1268,8 @@
</span><span class="cx"> 
</span><span class="cx"> void ApplicationCacheStorage::empty()
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(false);
</span><span class="cx">     
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="lines">@@ -1379,10 +1334,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::storeCopyOfCache(const String&amp; cacheDirectory, ApplicationCacheHost* cacheHost)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ApplicationCache* cache = cacheHost-&gt;applicationCache();
</span><span class="cx">     if (!cache)
</span><span class="cx">         return true;
</span><span class="lines">@@ -1419,10 +1372,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::manifestURLs(Vector&lt;URL&gt;* urls)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(urls);
</span><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="lines">@@ -1441,10 +1392,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::cacheGroupSize(const String&amp; manifestURL, int64_t* size)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(size);
</span><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="lines">@@ -1471,10 +1420,8 @@
</span><span class="cx"> 
</span><span class="cx"> bool ApplicationCacheStorage::deleteCacheGroup(const String&amp; manifestURL)
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     SQLiteTransaction deleteTransaction(m_database);
</span><span class="cx">     // Check to see if the group is in memory.
</span><span class="cx">     ApplicationCacheGroup* group = m_cachesInMemory.get(manifestURL);
</span><span class="lines">@@ -1526,10 +1473,8 @@
</span><span class="cx"> 
</span><span class="cx"> void ApplicationCacheStorage::vacuumDatabaseFile()
</span><span class="cx"> {
</span><del>-#if PLATFORM(IOS)
-    // FIXME: Move the PLATFORM(IOS)-guards inside the constructor and destructor of SQLiteTransactionInProgressAutoCounter.
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     openDatabase(false);
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -374,8 +374,6 @@
</span><span class="cx">         break;
</span><span class="cx"> #if ENABLE(VIDEO_TRACK)
</span><span class="cx">     case CachedResource::TextTrackResource:
</span><del>-        // Cues aren't called out in the CPS spec yet, but they only work with a media element
-        // so use the media policy.
</del><span class="cx">         if (!shouldBypassMainWorldContentSecurityPolicy &amp;&amp; !m_document-&gt;contentSecurityPolicy()-&gt;allowMediaFromSource(url))
</span><span class="cx">             return false;
</span><span class="cx">         break;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageChromecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Chrome.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Chrome.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Chrome.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -556,7 +556,7 @@
</span><span class="cx"> 
</span><span class="cx"> // --------
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> void ChromeClient::annotatedRegionsChanged()
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageChromeClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/ChromeClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/ChromeClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/ChromeClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx">     // the new cache.
</span><span class="cx">     virtual void reachedApplicationCacheOriginQuota(SecurityOrigin*, int64_t totalSpaceNeeded) = 0;
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     virtual void annotatedRegionsChanged();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageEventHandlercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/EventHandler.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/EventHandler.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/EventHandler.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AXObjectCache.h&quot;
</span><span class="cx"> #include &quot;AutoscrollController.h&quot;
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;CachedImage.h&quot;
</span><span class="cx"> #include &quot;Chrome.h&quot;
</span><span class="cx"> #include &quot;ChromeClient.h&quot;
</span><span class="lines">@@ -2015,7 +2016,7 @@
</span><span class="cx">     if (!view)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    view-&gt;resetDeferredRepaintDelay();
</del><ins>+    view-&gt;disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx">     RefPtr&lt;MouseEvent&gt; me = MouseEvent::create(eventType,
</span><span class="cx">         true, true, event.timestamp(), m_frame.document()-&gt;defaultView(),
</span><span class="cx">         0, event.globalPosition().x(), event.globalPosition().y(), event.position().x(), event.position().y(),
</span><span class="lines">@@ -2387,7 +2388,7 @@
</span><span class="cx"> bool EventHandler::dispatchMouseEvent(const AtomicString&amp; eventType, Node* targetNode, bool /*cancelable*/, int clickCount, const PlatformMouseEvent&amp; mouseEvent, bool setUnder)
</span><span class="cx"> {
</span><span class="cx">     if (FrameView* view = m_frame.view())
</span><del>-        view-&gt;resetDeferredRepaintDelay();
</del><ins>+        view-&gt;disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx"> 
</span><span class="cx">     updateMouseEventTargetNode(targetNode, mouseEvent, setUnder);
</span><span class="cx"> 
</span><span class="lines">@@ -2913,7 +2914,7 @@
</span><span class="cx">     UserTypingGestureIndicator typingGestureIndicator(m_frame);
</span><span class="cx"> 
</span><span class="cx">     if (FrameView* view = m_frame.view())
</span><del>-        view-&gt;resetDeferredRepaintDelay();
</del><ins>+        view-&gt;disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx"> 
</span><span class="cx">     // FIXME (bug 68185): this call should be made at another abstraction layer
</span><span class="cx">     m_frame.loader().resetMultipleFormSubmissionProtection();
</span><span class="lines">@@ -3335,7 +3336,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     
</span><span class="cx">     if (FrameView* view = m_frame.view())
</span><del>-        view-&gt;resetDeferredRepaintDelay();
</del><ins>+        view-&gt;disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;TextEvent&gt; event = TextEvent::create(m_frame.document()-&gt;domWindow(), text, inputType);
</span><span class="cx">     event-&gt;setUnderlyingEvent(underlyingEvent);
</span><span class="lines">@@ -3422,9 +3423,9 @@
</span><span class="cx">     bool handledEvent = false;
</span><span class="cx"> 
</span><span class="cx">     if (event-&gt;shiftKey())
</span><del>-        handledEvent = page-&gt;goForward();
</del><ins>+        handledEvent = page-&gt;backForward().goForward();
</ins><span class="cx">     else
</span><del>-        handledEvent = page-&gt;goBack();
</del><ins>+        handledEvent = page-&gt;backForward().goBack();
</ins><span class="cx"> 
</span><span class="cx">     if (handledEvent)
</span><span class="cx">         event-&gt;setDefaultHandled();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageFramecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Frame.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Frame.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Frame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -956,7 +956,6 @@
</span><span class="cx">     if (!m_view)
</span><span class="cx">         return;
</span><span class="cx">     m_view-&gt;updateLayoutAndStyleIfNeededRecursive();
</span><del>-    m_view-&gt;flushDeferredRepaints();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Frame::tiledBackingStorePaint(GraphicsContext* context, const IntRect&amp; rect)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageFrameViewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/FrameView.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/FrameView.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/FrameView.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -118,28 +118,6 @@
</span><span class="cx"> 
</span><span class="cx"> double FrameView::sCurrentPaintTimeStamp = 0.0;
</span><span class="cx"> 
</span><del>-
-// REPAINT_THROTTLING now chooses default values for throttling parameters.
-// Should be removed when applications start using runtime configuration.
-#if ENABLE(REPAINT_THROTTLING)
-// Normal delay
-double FrameView::s_normalDeferredRepaintDelay = 0.016;
-// Negative value would mean that first few repaints happen without a delay
-double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
-// The delay grows on each repaint to this maximum value
-double FrameView::s_maxDeferredRepaintDelayDuringLoading = 2.5;
-// On each repaint the delay increses by this amount
-double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0.5;
-#else
-// FIXME: Repaint throttling could be good to have on all platform.
-// The balance between CPU use and repaint frequency will need some tuning for desktop.
-// More hooks may be needed to reset the delay on things like GIF and CSS animations.
-double FrameView::s_normalDeferredRepaintDelay = 0;
-double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
-double FrameView::s_maxDeferredRepaintDelayDuringLoading = 0;
-double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0;
-#endif
-
</del><span class="cx"> // The maximum number of updateEmbeddedObjects iterations that should be done before returning.
</span><span class="cx"> static const unsigned maxUpdateEmbeddedObjectsIterations = 2;
</span><span class="cx"> 
</span><span class="lines">@@ -198,7 +176,6 @@
</span><span class="cx">     , m_wasScrolledByUser(false)
</span><span class="cx">     , m_inProgrammaticScroll(false)
</span><span class="cx">     , m_safeToPropagateScrollToParent(true)
</span><del>-    , m_deferredRepaintTimer(this, &amp;FrameView::deferredRepaintTimerFired)
</del><span class="cx">     , m_isTrackingRepaints(false)
</span><span class="cx">     , m_shouldUpdateWhileOffscreen(true)
</span><span class="cx">     , m_exposedRect(FloatRect::infiniteRect())
</span><span class="lines">@@ -285,11 +262,6 @@
</span><span class="cx">     m_safeToPropagateScrollToParent = true;
</span><span class="cx">     m_lastViewportSize = IntSize();
</span><span class="cx">     m_lastZoomFactor = 1.0f;
</span><del>-    m_deferringRepaints = 0;
-    m_repaintCount = 0;
-    m_repaintRects.clear();
-    m_deferredRepaintDelay = s_initialDeferredRepaintDelayDuringLoading;
-    m_deferredRepaintTimer.stop();
</del><span class="cx">     m_isTrackingRepaints = false;
</span><span class="cx">     m_trackedRepaintRects.clear();
</span><span class="cx">     m_lastPaintTime = 0;
</span><span class="lines">@@ -902,10 +874,6 @@
</span><span class="cx">     if (needsLayout())
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    // If we sync compositing layers and allow the repaint to be deferred, there is time for a
-    // visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
-    flushDeferredRepaints();
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     if (TileCache* tileCache = this-&gt;tileCache())
</span><span class="cx">         tileCache-&gt;doPendingRepaints();
</span><span class="lines">@@ -1242,7 +1210,7 @@
</span><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">             if (m_firstLayout &amp;&amp; !frame().ownerElement())
</span><del>-                printf(&quot;Elapsed time before first layout: %d\n&quot;, document.elapsedTime());
</del><ins>+                printf(&quot;Elapsed time before first layout: %lld\n&quot;, document.elapsedTime().count());
</ins><span class="cx"> #endif        
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -1312,7 +1280,6 @@
</span><span class="cx">         ASSERT(m_layoutPhase == InPreLayout);
</span><span class="cx">         m_layoutPhase = InLayout;
</span><span class="cx"> 
</span><del>-        beginDeferredRepaints();
</del><span class="cx">         forceLayoutParentViewIfNeeded();
</span><span class="cx"> 
</span><span class="cx">         ASSERT(m_layoutPhase == InLayout);
</span><span class="lines">@@ -1332,7 +1299,6 @@
</span><span class="cx">         if (document.textAutosizer()-&gt;processSubtree(root) &amp;&amp; root-&gt;needsLayout())
</span><span class="cx">             root-&gt;layout();
</span><span class="cx"> #endif
</span><del>-        endDeferredRepaints();
</del><span class="cx"> 
</span><span class="cx">         ASSERT(m_layoutPhase == InLayout);
</span><span class="cx"> 
</span><span class="lines">@@ -1356,14 +1322,11 @@
</span><span class="cx">     m_needsFullRepaint = neededFullRepaint;
</span><span class="cx"> 
</span><span class="cx">     // Now update the positions of all layers.
</span><del>-    beginDeferredRepaints();
</del><span class="cx">     if (m_needsFullRepaint)
</span><span class="cx">         root-&gt;view().repaintRootContents();
</span><span class="cx"> 
</span><span class="cx">     layer-&gt;updateLayerPositionsAfterLayout(renderView()-&gt;layer(), updateLayerPositionFlags(layer, subtree, m_needsFullRepaint));
</span><span class="cx"> 
</span><del>-    endDeferredRepaints();
-
</del><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="cx">     updateCompositingLayersAfterLayout();
</span><span class="cx"> #endif
</span><span class="lines">@@ -1375,7 +1338,7 @@
</span><span class="cx">         cache-&gt;postNotification(root, AXObjectCache::AXLayoutComplete);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     updateAnnotatedRegions();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -2151,40 +2114,12 @@
</span><span class="cx">     m_trackedRepaintRects.append(repaintRect);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const unsigned cRepaintRectUnionThreshold = 25;
-
</del><span class="cx"> void FrameView::repaintContentRectangle(const IntRect&amp; r, bool immediate)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!frame().ownerElement());
</span><span class="cx"> 
</span><span class="cx">     addTrackedRepaintRect(r);
</span><span class="cx"> 
</span><del>-    double delay = m_deferringRepaints ? 0 : adjustedDeferredRepaintDelay();
-    if ((m_deferringRepaints || m_deferredRepaintTimer.isActive() || delay) &amp;&amp; !immediate) {
-        IntRect paintRect = r;
-        if (clipsRepaints() &amp;&amp; !paintsEntireContents())
-            paintRect.intersect(visibleContentRect(LegacyIOSDocumentVisibleRect));
-        if (paintRect.isEmpty())
-            return;
-        if (m_repaintCount == cRepaintRectUnionThreshold) {
-            IntRect unionedRect;
-            for (unsigned i = 0; i &lt; cRepaintRectUnionThreshold; ++i)
-                unionedRect.unite(pixelSnappedIntRect(m_repaintRects[i]));
-            m_repaintRects.clear();
-            m_repaintRects.append(unionedRect);
-        }
-        if (m_repaintCount &lt; cRepaintRectUnionThreshold)
-            m_repaintRects.append(paintRect);
-        else
-            m_repaintRects[0].unite(paintRect);
-        m_repaintCount++;
-
-        if (!m_deferringRepaints)
-            startDeferredRepaintTimer(delay);
-
-        return;
-    }
-    
</del><span class="cx">     if (!shouldUpdate(immediate))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="lines">@@ -2275,143 +2210,14 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void FrameView::beginDeferredRepaints()
</del><ins>+void FrameView::disableLayerFlushThrottlingTemporarilyForInteraction()
</ins><span class="cx"> {
</span><del>-    if (!frame().isMainFrame()) {
-        frame().mainFrame().view()-&gt;beginDeferredRepaints();
-        return;
-    }
-
-    m_deferringRepaints++;
-}
-
-void FrameView::endDeferredRepaints()
-{
-    if (!frame().isMainFrame()) {
-        frame().mainFrame().view()-&gt;endDeferredRepaints();
-        return;
-    }
-
-    ASSERT(m_deferringRepaints &gt; 0);
-
-    if (--m_deferringRepaints)
-        return;
-
-    if (m_deferredRepaintTimer.isActive())
-        return;
-
-    if (double delay = adjustedDeferredRepaintDelay()) {
-        startDeferredRepaintTimer(delay);
-        return;
-    }
-    
-    doDeferredRepaints();
-}
-
-void FrameView::startDeferredRepaintTimer(double delay)
-{
-    if (m_deferredRepaintTimer.isActive())
-        return;
-
-    m_deferredRepaintTimer.startOneShot(delay);
-}
-
-void FrameView::handleLoadCompleted()
-{
-    // Once loading has completed, allow autoSize one last opportunity to
-    // reduce the size of the frame.
-    autoSizeIfEnabled();
-    if (shouldUseLoadTimeDeferredRepaintDelay())
-        return;
-    m_deferredRepaintDelay = s_normalDeferredRepaintDelay;
-    flushDeferredRepaints();
-}
-
-void FrameView::flushDeferredRepaints()
-{
-    if (!m_deferredRepaintTimer.isActive())
-        return;
-    m_deferredRepaintTimer.stop();
-    doDeferredRepaints();
-}
-
-void FrameView::doDeferredRepaints()
-{
-    ASSERT(!m_deferringRepaints);
-    if (!shouldUpdate()) {
-        m_repaintRects.clear();
-        m_repaintCount = 0;
-        return;
-    }
-    unsigned size = m_repaintRects.size();
-    for (unsigned i = 0; i &lt; size; i++) {
-#if USE(TILED_BACKING_STORE)
-        if (frame().tiledBackingStore()) {
-            frame().tiledBackingStore()-&gt;invalidate(pixelSnappedIntRect(m_repaintRects[i]));
-            continue;
-        }
-#endif
-        ScrollView::repaintContentRectangle(pixelSnappedIntRect(m_repaintRects[i]), false);
-    }
-    m_repaintRects.clear();
-    m_repaintCount = 0;
-    
-    updateDeferredRepaintDelayAfterRepaint();
-}
-
-bool FrameView::shouldUseLoadTimeDeferredRepaintDelay() const
-{
-    // Don't defer after the initial load of the page has been completed.
-    if (frame().tree().top().loader().isComplete())
-        return false;
-    Document* document = frame().document();
-    if (!document)
-        return false;
-    if (document-&gt;parsing())
-        return true;
-    if (document-&gt;cachedResourceLoader()-&gt;requestCount())
-        return true;
-    return false;
-}
-
-void FrameView::updateDeferredRepaintDelayAfterRepaint()
-{
-    if (!shouldUseLoadTimeDeferredRepaintDelay()) {
-        m_deferredRepaintDelay = s_normalDeferredRepaintDelay;
-        return;
-    }
-    double incrementedRepaintDelay = m_deferredRepaintDelay + s_deferredRepaintDelayIncrementDuringLoading;
-    m_deferredRepaintDelay = std::min(incrementedRepaintDelay, s_maxDeferredRepaintDelayDuringLoading);
-}
-
-void FrameView::resetDeferredRepaintDelay()
-{
-    m_deferredRepaintDelay = 0;
-    if (m_deferredRepaintTimer.isActive()) {
-        m_deferredRepaintTimer.stop();
-        if (!m_deferringRepaints)
-            doDeferredRepaints();
-    }
</del><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="cx">     if (RenderView* view = renderView())
</span><span class="cx">         view-&gt;compositor().disableLayerFlushThrottlingTemporarilyForInteraction();
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-double FrameView::adjustedDeferredRepaintDelay() const
-{
-    ASSERT(!m_deferringRepaints);
-    if (!m_deferredRepaintDelay)
-        return 0;
-    double timeSinceLastPaint = monotonicallyIncreasingTime() - m_lastPaintTime;
-    return std::max&lt;double&gt;(0, m_deferredRepaintDelay - timeSinceLastPaint);
-}
-    
-void FrameView::deferredRepaintTimerFired(Timer&lt;FrameView&gt;&amp;)
-{
-    doDeferredRepaints();
-}
-
</del><span class="cx"> void FrameView::updateLayerFlushThrottlingInAllFrames()
</span><span class="cx"> {
</span><span class="cx"> #if USE(ACCELERATED_COMPOSITING)
</span><span class="lines">@@ -2472,7 +2278,7 @@
</span><span class="cx"> {
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!frame().document()-&gt;ownerElement())
</span><del>-        printf(&quot;Layout timer fired at %d\n&quot;, frame().document()-&gt;elapsedTime());
</del><ins>+        printf(&quot;Layout timer fired at %lld\n&quot;, frame().document()-&gt;elapsedTime().count());
</ins><span class="cx"> #endif
</span><span class="cx">     layout();
</span><span class="cx"> }
</span><span class="lines">@@ -2499,20 +2305,20 @@
</span><span class="cx">     if (frame().ownerRenderer() &amp;&amp; isInChildFrameWithFrameFlattening())
</span><span class="cx">         frame().ownerRenderer()-&gt;setNeedsLayout(MarkContainingBlockChain);
</span><span class="cx"> 
</span><del>-    int delay = frame().document()-&gt;minimumLayoutDelay();
-    if (m_layoutTimer.isActive() &amp;&amp; m_delayedLayout &amp;&amp; !delay)
</del><ins>+    std::chrono::milliseconds delay = frame().document()-&gt;minimumLayoutDelay();
+    if (m_layoutTimer.isActive() &amp;&amp; m_delayedLayout &amp;&amp; !delay.count())
</ins><span class="cx">         unscheduleRelayout();
</span><span class="cx">     if (m_layoutTimer.isActive())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_delayedLayout = delay != 0;
</del><ins>+    m_delayedLayout = delay.count();
</ins><span class="cx"> 
</span><span class="cx"> #ifdef INSTRUMENT_LAYOUT_SCHEDULING
</span><span class="cx">     if (!frame().document()-&gt;ownerElement())
</span><span class="cx">         printf(&quot;Scheduling layout for %d\n&quot;, delay);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    m_layoutTimer.startOneShot(delay * 0.001);
</del><ins>+    m_layoutTimer.startOneShot(delay);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool isObjectAncestorContainerOf(RenderObject* ancestor, RenderObject* descendant)
</span><span class="lines">@@ -2539,12 +2345,12 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!layoutPending() &amp;&amp; m_layoutSchedulingEnabled) {
</span><del>-        int delay = renderView.document().minimumLayoutDelay();
</del><ins>+        std::chrono::milliseconds delay = renderView.document().minimumLayoutDelay();
</ins><span class="cx">         ASSERT(!newRelayoutRoot.container() || !newRelayoutRoot.container()-&gt;needsLayout());
</span><span class="cx">         m_layoutRoot = &amp;newRelayoutRoot;
</span><span class="cx">         InspectorInstrumentation::didInvalidateLayout(&amp;frame());
</span><del>-        m_delayedLayout = delay != 0;
-        m_layoutTimer.startOneShot(delay * 0.001);
</del><ins>+        m_delayedLayout = delay.count();
+        m_layoutTimer.startOneShot(delay);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -3351,7 +3157,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> void FrameView::updateAnnotatedRegions()
</span><span class="cx"> {
</span><span class="cx">     Document* document = frame().document();
</span><span class="lines">@@ -3710,7 +3516,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Regions may have changed as a result of the visibility/z-index of element changing.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     if (document-&gt;annotatedRegionsDirty())
</span><span class="cx">         updateAnnotatedRegions();
</span><span class="cx"> #endif
</span><span class="lines">@@ -3822,10 +3628,6 @@
</span><span class="cx">     for (unsigned i = 0; i &lt; childViews.size(); ++i)
</span><span class="cx">         childViews[i]-&gt;updateLayoutAndStyleIfNeededRecursive();
</span><span class="cx"> 
</span><del>-    // updateLayoutAndStyleIfNeededRecursive is called when we need to make sure style and layout are up-to-date before
-    // painting, so we need to flush out any deferred repaints too.
-    flushDeferredRepaints();
-
</del><span class="cx">     // When frame flattening is on, child frame can mark parent frame dirty. In such case, child frame
</span><span class="cx">     // needs to call layout on parent frame recursively.
</span><span class="cx">     // This assert ensures that parent frames are clean, when child frames finished updating layout and style.
</span><span class="lines">@@ -4115,30 +3917,6 @@
</span><span class="cx">     return parentPoint;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// Normal delay
-void FrameView::setRepaintThrottlingDeferredRepaintDelay(double p)
-{
-    s_normalDeferredRepaintDelay = p;
-}
-
-// Negative value would mean that first few repaints happen without a delay
-void FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(double p)
-{
-    s_initialDeferredRepaintDelayDuringLoading = p;
-}
-
-// The delay grows on each repaint to this maximum value
-void FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(double p)
-{
-    s_maxDeferredRepaintDelayDuringLoading = p;
-}
-
-// On each repaint the delay increases by this amount
-void FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(double p)
-{
-    s_deferredRepaintDelayIncrementDuringLoading = p;
-}
-
</del><span class="cx"> void FrameView::setTracksRepaints(bool trackRepaints)
</span><span class="cx"> {
</span><span class="cx">     if (trackRepaints == m_isTrackingRepaints)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageFrameViewh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/FrameView.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/FrameView.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/FrameView.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -260,18 +260,12 @@
</span><span class="cx"> 
</span><span class="cx">     bool fixedElementsLayoutRelativeToFrame() const;
</span><span class="cx"> 
</span><del>-    void beginDeferredRepaints();
-    void endDeferredRepaints();
-    void handleLoadCompleted();
-    void flushDeferredRepaints();
-    void startDeferredRepaintTimer(double delay);
-    void resetDeferredRepaintDelay();
-
</del><ins>+    void disableLayerFlushThrottlingTemporarilyForInteraction();
</ins><span class="cx">     void updateLayerFlushThrottlingInAllFrames();
</span><span class="cx">     void adjustTiledBackingCoverage();
</span><span class="cx">     bool speculativeTilingEnabled() const { return m_speculativeTilingEnabled; }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     void updateAnnotatedRegions();
</span><span class="cx"> #endif
</span><span class="cx">     void updateControlTints();
</span><span class="lines">@@ -360,15 +354,6 @@
</span><span class="cx">     enum ScrollbarModesCalculationStrategy { RulesFromWebContentOnly, AnyRule };
</span><span class="cx">     void calculateScrollbarModesForLayout(ScrollbarMode&amp; hMode, ScrollbarMode&amp; vMode, ScrollbarModesCalculationStrategy = AnyRule);
</span><span class="cx"> 
</span><del>-    // Normal delay
-    static void setRepaintThrottlingDeferredRepaintDelay(double p);
-    // Negative value would mean that first few repaints happen without a delay
-    static void setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(double p);
-    // The delay grows on each repaint to this maximum value
-    static void setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(double p);
-    // On each repaint the delay increses by this amount
-    static void setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(double p);
-
</del><span class="cx">     virtual IntPoint lastKnownMousePosition() const override;
</span><span class="cx">     virtual bool isHandlingWheelEvent() const override;
</span><span class="cx">     bool shouldSetCursor() const;
</span><span class="lines">@@ -552,12 +537,6 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void notifyPageThatContentAreaWillPaint() const override;
</span><span class="cx"> 
</span><del>-    bool shouldUseLoadTimeDeferredRepaintDelay() const;
-    void deferredRepaintTimerFired(Timer&lt;FrameView&gt;&amp;);
-    void doDeferredRepaints();
-    void updateDeferredRepaintDelayAfterRepaint();
-    double adjustedDeferredRepaintDelay() const;
-
</del><span class="cx">     void enableSpeculativeTilingIfNeeded();
</span><span class="cx">     void speculativeTilingEnableTimerFired(Timer&lt;FrameView&gt;&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -637,11 +616,6 @@
</span><span class="cx">     bool m_inProgrammaticScroll;
</span><span class="cx">     bool m_safeToPropagateScrollToParent;
</span><span class="cx"> 
</span><del>-    unsigned m_deferringRepaints;
-    unsigned m_repaintCount;
-    Vector&lt;LayoutRect&gt; m_repaintRects;
-    Timer&lt;FrameView&gt; m_deferredRepaintTimer;
-    double m_deferredRepaintDelay;
</del><span class="cx">     double m_lastPaintTime;
</span><span class="cx"> 
</span><span class="cx">     bool m_isTrackingRepaints; // Used for testing.
</span><span class="lines">@@ -698,11 +672,6 @@
</span><span class="cx"> 
</span><span class="cx">     LayoutMilestones m_milestonesPendingPaint;
</span><span class="cx"> 
</span><del>-    static double s_normalDeferredRepaintDelay;
-    static double s_initialDeferredRepaintDelayDuringLoading;
-    static double s_maxDeferredRepaintDelayDuringLoading;
-    static double s_deferredRepaintDelayIncrementDuringLoading;
-
</del><span class="cx">     static const unsigned visualCharacterThreshold = 200;
</span><span class="cx">     static const unsigned visualPixelThreshold = 32 * 32;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagePagecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Page.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Page.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Page.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -361,66 +361,6 @@
</span><span class="cx">     m_openedByDOM = true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-BackForwardClient* Page::backForwardClient() const
-{
-    return backForward().client();
-}
-
-bool Page::goBack()
-{
-    HistoryItem* item = backForward().backItem();
-    
-    if (item) {
-        goToItem(item, FrameLoadTypeBack);
-        return true;
-    }
-    return false;
-}
-
-bool Page::goForward()
-{
-    HistoryItem* item = backForward().forwardItem();
-    
-    if (item) {
-        goToItem(item, FrameLoadTypeForward);
-        return true;
-    }
-    return false;
-}
-
-bool Page::canGoBackOrForward(int distance) const
-{
-    if (distance == 0)
-        return true;
-    if (distance &gt; 0 &amp;&amp; distance &lt;= backForward().forwardCount())
-        return true;
-    if (distance &lt; 0 &amp;&amp; -distance &lt;= backForward().backCount())
-        return true;
-    return false;
-}
-
-void Page::goBackOrForward(int distance)
-{
-    if (distance == 0)
-        return;
-
-    HistoryItem* item = backForward().itemAtIndex(distance);
-    if (!item) {
-        if (distance &gt; 0) {
-            if (int forwardCount = backForward().forwardCount())
-                item = backForward().itemAtIndex(forwardCount);
-        } else {
-            if (int backCount = backForward().backCount())
-                item = backForward().itemAtIndex(-backCount);
-        }
-    }
-
-    if (!item)
-        return;
-
-    goToItem(item, FrameLoadTypeIndexedBackForward);
-}
-
</del><span class="cx"> void Page::goToItem(HistoryItem* item, FrameLoadType type)
</span><span class="cx"> {
</span><span class="cx">     // stopAllLoaders may end up running onload handlers, which could cause further history traversals that may lead to the passed in HistoryItem
</span><span class="lines">@@ -433,11 +373,6 @@
</span><span class="cx">     m_mainFrame-&gt;loader().history().goToItem(item, type);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-int Page::getHistoryLength()
-{
-    return backForward().backCount() + 1 + backForward().forwardCount();
-}
-
</del><span class="cx"> void Page::setGroupName(const String&amp; name)
</span><span class="cx"> {
</span><span class="cx">     if (m_group &amp;&amp; !m_group-&gt;name().isEmpty()) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagePageh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Page.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Page.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Page.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -167,14 +167,6 @@
</span><span class="cx">     bool openedByDOM() const;
</span><span class="cx">     void setOpenedByDOM();
</span><span class="cx"> 
</span><del>-    // DEPRECATED. Use backForward() instead of the following 6 functions.
-    BackForwardClient* backForwardClient() const;
-    bool goBack();
-    bool goForward();
-    bool canGoBackOrForward(int distance) const;
-    void goBackOrForward(int distance);
-    int getHistoryLength();
-
</del><span class="cx">     void goToItem(HistoryItem*, FrameLoadType);
</span><span class="cx"> 
</span><span class="cx">     void setGroupName(const String&amp;);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageSettingscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Settings.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Settings.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Settings.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -47,8 +47,8 @@
</span><span class="cx"> #include &quot;TextAutosizer.h&quot;
</span><span class="cx"> #include &lt;limits&gt;
</span><span class="cx"> #include &lt;wtf/NeverDestroyed.h&gt;
</span><ins>+#include &lt;wtf/StdLibExtras.h&gt;
</ins><span class="cx"> 
</span><del>-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static void setImageLoadingSettings(Page* page)
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> // This amount of time must have elapsed before we will even consider scheduling a layout without a delay.
</span><span class="cx"> // FIXME: For faster machines this value can really be lowered to 200. 250 is adequate, but a little high
</span><span class="cx"> // for dual G5s. :)
</span><del>-static const int layoutScheduleThreshold = 250;
</del><ins>+static const auto layoutScheduleThreshold = std::chrono::milliseconds(250);
</ins><span class="cx"> 
</span><span class="cx"> Settings::Settings(Page* page)
</span><span class="cx">     : m_page(0)
</span><span class="lines">@@ -507,7 +507,7 @@
</span><span class="cx">     return m_page-&gt;timerAlignmentInterval();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void Settings::setLayoutInterval(int layoutInterval)
</del><ins>+void Settings::setLayoutInterval(std::chrono::milliseconds layoutInterval)
</ins><span class="cx"> {
</span><span class="cx">     // FIXME: It seems weird that this function may disregard the specified layout interval.
</span><span class="cx">     // We should either expose layoutScheduleThreshold or better communicate this invariant.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepageSettingsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/Settings.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/Settings.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/Settings.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><span class="cx"> #include &quot;SettingsMacros.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><ins>+#include &lt;chrono&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span><span class="cx"> #include &lt;wtf/text/AtomicString.h&gt;
</span><span class="lines">@@ -171,9 +172,8 @@
</span><span class="cx">     void setDOMTimerAlignmentInterval(double);
</span><span class="cx">     double domTimerAlignmentInterval() const;
</span><span class="cx"> 
</span><del>-    // FIXME: Change these methods to take/return an unsigned integer after we upstream the iOS port.
-    void setLayoutInterval(int);
-    int layoutInterval() const { return m_layoutInterval; }
</del><ins>+    void setLayoutInterval(std::chrono::milliseconds);
+    std::chrono::milliseconds layoutInterval() const { return m_layoutInterval; }
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(HIDDEN_PAGE_DOM_TIMER_THROTTLING)
</span><span class="cx">     bool hiddenPageDOMTimerThrottlingEnabled() const { return m_hiddenPageDOMTimerThrottlingEnabled; }
</span><span class="lines">@@ -321,7 +321,7 @@
</span><span class="cx">     URL m_userStyleSheetLocation;
</span><span class="cx">     const std::unique_ptr&lt;FontGenericFamilies&gt; m_fontGenericFamilies;
</span><span class="cx">     SecurityOrigin::StorageBlockingPolicy m_storageBlockingPolicy;
</span><del>-    int m_layoutInterval;
</del><ins>+    std::chrono::milliseconds m_layoutInterval;
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     double m_maxParseDuration;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingAsyncScrollingCoordinatorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> AsyncScrollingCoordinator::AsyncScrollingCoordinator(Page* page)
</span><span class="cx">     : ScrollingCoordinator(page)
</span><ins>+    , m_updateNodeScrollPositionTimer(this, &amp;AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired)
</ins><span class="cx">     , m_scrollingStateTree(ScrollingStateTree::create(this))
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -135,7 +136,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if (frameView-&gt;inProgrammaticScroll() || frameView-&gt;frame().document()-&gt;inPageCache())
</span><del>-        updateMainFrameScrollPosition(scrollPosition, frameView-&gt;inProgrammaticScroll(), SetScrollingLayerPosition);
</del><ins>+        updateScrollPositionAfterAsyncScroll(frameView-&gt;scrollLayerID(), scrollPosition, frameView-&gt;inProgrammaticScroll(), SetScrollingLayerPosition);
</ins><span class="cx"> 
</span><span class="cx">     // If this frame view's document is being put into the page cache, we don't want to update our
</span><span class="cx">     // main frame scroll position. Just let the FrameView think that we did.
</span><span class="lines">@@ -150,6 +151,88 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll(ScrollingNodeID nodeID, const IntPoint&amp; scrollPosition, bool programmaticScroll, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
+{
+    ScheduledScrollUpdate scrollUpdate(nodeID, scrollPosition, programmaticScroll, scrollingLayerPositionAction);
+    
+    if (m_updateNodeScrollPositionTimer.isActive()) {
+        if (m_scheduledScrollUpdate.matchesUpdateType(scrollUpdate)) {
+            m_scheduledScrollUpdate.scrollPosition = scrollPosition;
+            return;
+        }
+    
+        // If the parameters don't match what was previosly scheduled, dispatch immediately.
+        m_updateNodeScrollPositionTimer.stop();
+        updateScrollPositionAfterAsyncScroll(m_scheduledScrollUpdate.nodeID, m_scheduledScrollUpdate.scrollPosition, m_scheduledScrollUpdate.isProgrammaticScroll, m_scheduledScrollUpdate.updateLayerPositionAction);
+        updateScrollPositionAfterAsyncScroll(nodeID, scrollPosition, programmaticScroll, scrollingLayerPositionAction);
+        return;
+    }
+
+    m_scheduledScrollUpdate = scrollUpdate;
+    m_updateNodeScrollPositionTimer.startOneShot(0);
+}
+
+void AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired(Timer&lt;AsyncScrollingCoordinator&gt;*)
+{
+    updateScrollPositionAfterAsyncScroll(m_scheduledScrollUpdate.nodeID, m_scheduledScrollUpdate.scrollPosition, m_scheduledScrollUpdate.isProgrammaticScroll, m_scheduledScrollUpdate.updateLayerPositionAction);
+}
+
+void AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll(ScrollingNodeID scrollingNodeID, const IntPoint&amp; scrollPosition, bool programmaticScroll, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
+{
+    ASSERT(isMainThread());
+
+    if (!m_page)
+        return;
+
+    FrameView* frameView = m_page-&gt;mainFrame().view();
+    if (!frameView)
+        return;
+
+    bool oldProgrammaticScroll = frameView-&gt;inProgrammaticScroll();
+    frameView-&gt;setInProgrammaticScroll(programmaticScroll);
+
+    frameView-&gt;setConstrainsScrollingToContentEdge(false);
+    frameView-&gt;notifyScrollPositionChanged(scrollPosition);
+    frameView-&gt;setConstrainsScrollingToContentEdge(true);
+
+    frameView-&gt;setInProgrammaticScroll(oldProgrammaticScroll);
+
+#if USE(ACCELERATED_COMPOSITING)
+    if (scrollingNodeID == frameView-&gt;scrollLayerID()) {
+        if (GraphicsLayer* scrollLayer = scrollLayerForFrameView(frameView)) {
+            GraphicsLayer* counterScrollingLayer = counterScrollingLayerForFrameView(frameView);
+            GraphicsLayer* headerLayer = headerLayerForFrameView(frameView);
+            GraphicsLayer* footerLayer = footerLayerForFrameView(frameView);
+            IntSize scrollOffsetForFixed = frameView-&gt;scrollOffsetForFixedPosition();
+
+            if (programmaticScroll || scrollingLayerPositionAction == SetScrollingLayerPosition) {
+                scrollLayer-&gt;setPosition(-frameView-&gt;scrollPosition());
+                if (counterScrollingLayer)
+                    counterScrollingLayer-&gt;setPosition(IntPoint(scrollOffsetForFixed));
+                if (headerLayer)
+                    headerLayer-&gt;setPosition(FloatPoint(scrollOffsetForFixed.width(), 0));
+                if (footerLayer)
+                    footerLayer-&gt;setPosition(FloatPoint(scrollOffsetForFixed.width(), frameView-&gt;totalContentsSize().height() - frameView-&gt;footerHeight()));
+            } else {
+                scrollLayer-&gt;syncPosition(-frameView-&gt;scrollPosition());
+                if (counterScrollingLayer)
+                    counterScrollingLayer-&gt;syncPosition(IntPoint(scrollOffsetForFixed));
+                if (headerLayer)
+                    headerLayer-&gt;syncPosition(FloatPoint(scrollOffsetForFixed.width(), 0));
+                if (footerLayer)
+                    footerLayer-&gt;syncPosition(FloatPoint(scrollOffsetForFixed.width(), frameView-&gt;totalContentsSize().height() - frameView-&gt;footerHeight()));
+
+                LayoutRect viewportRect = frameView-&gt;viewportConstrainedVisibleContentRect();
+                syncChildPositions(viewportRect);
+            }
+        }
+    }
+    // FIXME: handle non-main scrolling nodes.
+#else
+    UNUSED_PARAM(scrollingLayerPositionAction);
+#endif
+}
+
</ins><span class="cx"> void AsyncScrollingCoordinator::scrollableAreaScrollbarLayerDidChange(ScrollableArea* scrollableArea, ScrollbarOrientation orientation)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingAsyncScrollingCoordinatorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;ScrollingCoordinator.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ScrollingTree.h&quot;
</span><ins>+#include &quot;Timer.h&quot;
</ins><span class="cx"> #include &lt;wtf/OwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/PassRefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="lines">@@ -56,6 +57,8 @@
</span><span class="cx"> 
</span><span class="cx">     void scrollingStateTreePropertiesChanged();
</span><span class="cx"> 
</span><ins>+    void scheduleUpdateScrollPositionAfterAsyncScroll(ScrollingNodeID, const IntPoint&amp;, bool programmaticScroll, SetOrSyncScrollingLayerPosition);
+
</ins><span class="cx"> protected:
</span><span class="cx">     AsyncScrollingCoordinator(Page*);
</span><span class="cx"> 
</span><span class="lines">@@ -65,6 +68,8 @@
</span><span class="cx"> 
</span><span class="cx">     PassRefPtr&lt;ScrollingTree&gt; releaseScrollingTree() { return m_scrollingTree.release(); }
</span><span class="cx"> 
</span><ins>+    void updateScrollPositionAfterAsyncScroll(ScrollingNodeID, const IntPoint&amp;, bool programmaticScroll, SetOrSyncScrollingLayerPosition);
+
</ins><span class="cx"> private:
</span><span class="cx">     virtual bool isAsyncScrollingCoordinator() const override { return true; }
</span><span class="cx"> 
</span><span class="lines">@@ -107,6 +112,39 @@
</span><span class="cx">     // FIXME: move somewhere else?
</span><span class="cx">     void setScrollbarPaintersFromScrollbarsForNode(Scrollbar* verticalScrollbar, Scrollbar* horizontalScrollbar, ScrollingStateScrollingNode*);
</span><span class="cx"> 
</span><ins>+    void updateScrollPositionAfterAsyncScrollTimerFired(Timer&lt;AsyncScrollingCoordinator&gt;*);
+
+    Timer&lt;AsyncScrollingCoordinator&gt; m_updateNodeScrollPositionTimer;
+
+    struct ScheduledScrollUpdate {
+        ScheduledScrollUpdate()
+            : nodeID(0)
+            , isProgrammaticScroll(false)
+            , updateLayerPositionAction(SyncScrollingLayerPosition)
+        { }
+
+        ScheduledScrollUpdate(ScrollingNodeID scrollingNodeID, IntPoint point, bool isProgrammatic, SetOrSyncScrollingLayerPosition udpateAction)
+            : nodeID(scrollingNodeID)
+            , scrollPosition(point)
+            , isProgrammaticScroll(isProgrammatic)
+            , updateLayerPositionAction(udpateAction)
+        { }
+
+        ScrollingNodeID nodeID;
+        IntPoint scrollPosition;
+        bool isProgrammaticScroll;
+        SetOrSyncScrollingLayerPosition updateLayerPositionAction;
+        
+        bool matchesUpdateType(const ScheduledScrollUpdate&amp; other) const
+        {
+            return nodeID == other.nodeID
+                &amp;&amp; isProgrammaticScroll == other.isProgrammaticScroll
+                &amp;&amp; updateLayerPositionAction == other.updateLayerPositionAction;
+        }
+    };
+
+    ScheduledScrollUpdate m_scheduledScrollUpdate;
+
</ins><span class="cx">     OwnPtr&lt;ScrollingStateTree&gt; m_scrollingStateTree;
</span><span class="cx">     RefPtr&lt;ScrollingTree&gt; m_scrollingTree;
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingCoordinatorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -64,9 +64,6 @@
</span><span class="cx"> 
</span><span class="cx"> ScrollingCoordinator::ScrollingCoordinator(Page* page)
</span><span class="cx">     : m_page(page)
</span><del>-    , m_updateMainFrameScrollPositionTimer(this, &amp;ScrollingCoordinator::updateMainFrameScrollPositionTimerFired)
-    , m_scheduledUpdateIsProgrammaticScroll(false)
-    , m_scheduledScrollingLayerPositionAction(SyncScrollingLayerPosition)
</del><span class="cx">     , m_forceSynchronousScrollLayerPositionUpdates(false)
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="lines">@@ -260,92 +257,6 @@
</span><span class="cx">     updateSynchronousScrollingReasons();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingCoordinator::scheduleUpdateScrollPositionForNode(ScrollingNodeID, const IntPoint&amp; scrollPosition, bool programmaticScroll, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
-{
-    // FIXME: need to handle non-main nodes.
-    scheduleUpdateMainFrameScrollPosition(scrollPosition, programmaticScroll, scrollingLayerPositionAction);
-}
-
-void ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, bool programmaticScroll, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
-{
-    if (m_updateMainFrameScrollPositionTimer.isActive()) {
-        if (m_scheduledUpdateIsProgrammaticScroll == programmaticScroll
-            &amp;&amp; m_scheduledScrollingLayerPositionAction == scrollingLayerPositionAction) {
-            m_scheduledUpdateScrollPosition = scrollPosition;
-            return;
-        }
-    
-        // If the parameters don't match what was previosly scheduled, dispatch immediately.
-        m_updateMainFrameScrollPositionTimer.stop();
-        updateMainFrameScrollPosition(m_scheduledUpdateScrollPosition, m_scheduledUpdateIsProgrammaticScroll, m_scheduledScrollingLayerPositionAction);
-        updateMainFrameScrollPosition(scrollPosition, programmaticScroll, scrollingLayerPositionAction);
-        return;
-    }
-
-    m_scheduledUpdateScrollPosition = scrollPosition;
-    m_scheduledUpdateIsProgrammaticScroll = programmaticScroll;
-    m_scheduledScrollingLayerPositionAction = scrollingLayerPositionAction;
-    m_updateMainFrameScrollPositionTimer.startOneShot(0);
-}
-
-void ScrollingCoordinator::updateMainFrameScrollPositionTimerFired(Timer&lt;ScrollingCoordinator&gt;*)
-{
-    updateMainFrameScrollPosition(m_scheduledUpdateScrollPosition, m_scheduledUpdateIsProgrammaticScroll, m_scheduledScrollingLayerPositionAction);
-}
-
-void ScrollingCoordinator::updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, bool programmaticScroll, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
-{
-    ASSERT(isMainThread());
-
-    if (!m_page)
-        return;
-
-    FrameView* frameView = m_page-&gt;mainFrame().view();
-    if (!frameView)
-        return;
-
-    bool oldProgrammaticScroll = frameView-&gt;inProgrammaticScroll();
-    frameView-&gt;setInProgrammaticScroll(programmaticScroll);
-
-    frameView-&gt;setConstrainsScrollingToContentEdge(false);
-    frameView-&gt;notifyScrollPositionChanged(scrollPosition);
-    frameView-&gt;setConstrainsScrollingToContentEdge(true);
-
-    frameView-&gt;setInProgrammaticScroll(oldProgrammaticScroll);
-
-#if USE(ACCELERATED_COMPOSITING)
-    if (GraphicsLayer* scrollLayer = scrollLayerForFrameView(frameView)) {
-        GraphicsLayer* counterScrollingLayer = counterScrollingLayerForFrameView(frameView);
-        GraphicsLayer* headerLayer = headerLayerForFrameView(frameView);
-        GraphicsLayer* footerLayer = footerLayerForFrameView(frameView);
-        IntSize scrollOffsetForFixed = frameView-&gt;scrollOffsetForFixedPosition();
-
-        if (programmaticScroll || scrollingLayerPositionAction == SetScrollingLayerPosition) {
-            scrollLayer-&gt;setPosition(-frameView-&gt;scrollPosition());
-            if (counterScrollingLayer)
-                counterScrollingLayer-&gt;setPosition(IntPoint(scrollOffsetForFixed));
-            if (headerLayer)
-                headerLayer-&gt;setPosition(FloatPoint(scrollOffsetForFixed.width(), 0));
-            if (footerLayer)
-                footerLayer-&gt;setPosition(FloatPoint(scrollOffsetForFixed.width(), frameView-&gt;totalContentsSize().height() - frameView-&gt;footerHeight()));
-        } else {
-            scrollLayer-&gt;syncPosition(-frameView-&gt;scrollPosition());
-            if (counterScrollingLayer)
-                counterScrollingLayer-&gt;syncPosition(IntPoint(scrollOffsetForFixed));
-            if (headerLayer)
-                headerLayer-&gt;syncPosition(FloatPoint(scrollOffsetForFixed.width(), 0));
-            if (footerLayer)
-                footerLayer-&gt;syncPosition(FloatPoint(scrollOffsetForFixed.width(), frameView-&gt;totalContentsSize().height() - frameView-&gt;footerHeight()));
-
-            LayoutRect viewportRect = frameView-&gt;viewportConstrainedVisibleContentRect();
-            syncChildPositions(viewportRect);
-        }
-    }
-#else
-    UNUSED_PARAM(scrollingLayerPositionAction);
-#endif
-}
-
</del><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> void ScrollingCoordinator::handleWheelEventPhase(PlatformWheelEventPhase phase)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingCoordinatorh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingCoordinator.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,7 +31,6 @@
</span><span class="cx"> #include &quot;PlatformWheelEvent.h&quot;
</span><span class="cx"> #include &quot;RenderObject.h&quot;
</span><span class="cx"> #include &quot;ScrollTypes.h&quot;
</span><del>-#include &quot;Timer.h&quot;
</del><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(ASYNC_SCROLLING)
</span><span class="lines">@@ -159,12 +158,6 @@
</span><span class="cx">     // Generated a unique id for scroll layers.
</span><span class="cx">     ScrollingNodeID uniqueScrollLayerID();
</span><span class="cx"> 
</span><del>-    void scheduleUpdateScrollPositionForNode(ScrollingNodeID, const IntPoint&amp;, bool programmaticScroll, SetOrSyncScrollingLayerPosition);
-
-    // Dispatched by the scrolling tree whenever the main frame scroll position changes.
-    void scheduleUpdateMainFrameScrollPosition(const IntPoint&amp;, bool programmaticScroll, SetOrSyncScrollingLayerPosition);
-    void updateMainFrameScrollPosition(const IntPoint&amp;, bool programmaticScroll, SetOrSyncScrollingLayerPosition);
-
</del><span class="cx">     enum MainThreadScrollingReasonFlags {
</span><span class="cx">         ForcedOnMainThread = 1 &lt;&lt; 0,
</span><span class="cx">         HasSlowRepaintObjects = 1 &lt;&lt; 1,
</span><span class="lines">@@ -210,13 +203,6 @@
</span><span class="cx">     virtual bool hasVisibleSlowRepaintViewportConstrainedObjects(FrameView*) const;
</span><span class="cx">     void updateSynchronousScrollingReasons();
</span><span class="cx">     
</span><del>-    void updateMainFrameScrollPositionTimerFired(Timer&lt;ScrollingCoordinator&gt;*);
-
-    Timer&lt;ScrollingCoordinator&gt; m_updateMainFrameScrollPositionTimer;
-    IntPoint m_scheduledUpdateScrollPosition;
-    bool m_scheduledUpdateIsProgrammaticScroll;
-    SetOrSyncScrollingLayerPosition m_scheduledScrollingLayerPositionAction;
-
</del><span class="cx">     bool m_forceSynchronousScrollLayerPositionUpdates;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 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">@@ -48,6 +48,7 @@
</span><span class="cx">     , m_mainFramePinnedToTheBottom(false)
</span><span class="cx">     , m_mainFrameIsRubberBanding(false)
</span><span class="cx">     , m_scrollPinningBehavior(DoNotPin)
</span><ins>+    , m_latchedNode(0)
</ins><span class="cx">     , m_scrollingPerformanceLoggingEnabled(false)
</span><span class="cx">     , m_isHandlingProgrammaticScroll(false)
</span><span class="cx"> {
</span><span class="lines">@@ -59,10 +60,14 @@
</span><span class="cx"> 
</span><span class="cx"> bool ScrollingTree::shouldHandleWheelEventSynchronously(const PlatformWheelEvent&amp; wheelEvent)
</span><span class="cx"> {
</span><ins>+    // This method is invoked by the event handling thread
</ins><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><ins>+    
+    if (hasLatchedNode())
+        return false;
</ins><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">@@ -80,6 +85,18 @@
</span><span class="cx">         m_rootNode-&gt;handleWheelEvent(wheelEvent);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void ScrollingTree::scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const IntPoint&amp; scrollPosition)
+{
+    ScrollingTreeNode* node = nodeForID(nodeID);
+    if (!node)
+        return;
+
+    if (node-&gt;nodeType() != ScrollingNode)
+        return;
+
+    toScrollingTreeScrollingNode(node)-&gt;setScrollPosition(scrollPosition);
+}
+
</ins><span class="cx"> void ScrollingTree::commitNewTreeState(PassOwnPtr&lt;ScrollingStateTree&gt; scrollingStateTree)
</span><span class="cx"> {
</span><span class="cx">     bool rootStateNodeChanged = scrollingStateTree-&gt;hasNewRootStateNode();
</span><span class="lines">@@ -162,17 +179,29 @@
</span><span class="cx"> 
</span><span class="cx"> void ScrollingTree::removeDestroyedNodes(const ScrollingStateTree&amp; stateTree)
</span><span class="cx"> {
</span><del>-    const Vector&lt;ScrollingNodeID&gt;&amp; removedNodes = stateTree.removedNodes();
-    size_t size = removedNodes.size();
-    for (size_t i = 0; i &lt; size; ++i) {
-        ScrollingTreeNode* node = m_nodeMap.take(removedNodes[i]);
</del><ins>+    for (const auto&amp; removedNode : stateTree.removedNodes()) {
+        ScrollingTreeNode* node = m_nodeMap.take(removedNode);
+        if (!node)
+            continue;
+
</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 &amp;&amp; node-&gt;parent())
</del><ins>+        if (node-&gt;parent())
</ins><span class="cx">             m_rootNode-&gt;removeChild(node);
</span><ins>+
+        if (node-&gt;scrollingNodeID() == m_latchedNode)
+            clearLatchedNode();
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+ScrollingTreeNode* ScrollingTree::nodeForID(ScrollingNodeID nodeID) const
+{
+    if (!nodeID)
+        return nullptr;
+
+    return m_nodeMap.get(nodeID);
+}
+
</ins><span class="cx"> void ScrollingTree::setMainFramePinState(bool pinnedToTheLeft, bool pinnedToTheRight, bool pinnedToTheTop, bool pinnedToTheBottom)
</span><span class="cx"> {
</span><span class="cx">     MutexLocker locker(m_swipeStateMutex);
</span><span class="lines">@@ -295,6 +324,24 @@
</span><span class="cx">     return m_scrollingPerformanceLoggingEnabled;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+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;
+}
+
</ins><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 (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTree.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 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">@@ -62,6 +62,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual EventResult tryToHandleWheelEvent(const PlatformWheelEvent&amp;) = 0;
</span><span class="cx">     bool shouldHandleWheelEventSynchronously(const PlatformWheelEvent&amp;);
</span><ins>+    
+    virtual void scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID, const IntPoint&amp;);
</ins><span class="cx"> 
</span><span class="cx">     void setMainFrameIsRubberBanding(bool);
</span><span class="cx">     bool isRubberBandInProgress();
</span><span class="lines">@@ -71,10 +73,10 @@
</span><span class="cx"> 
</span><span class="cx">     void setMainFramePinState(bool pinnedToTheLeft, bool pinnedToTheRight, bool pinnedToTheTop, bool pinnedToTheBottom);
</span><span class="cx"> 
</span><del>-    virtual void updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) = 0;
</del><ins>+    virtual void scrollingTreeNodeDidScroll(ScrollingNodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) = 0;
</ins><span class="cx">     IntPoint mainFrameScrollPosition();
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     virtual void handleWheelEventPhase(PlatformWheelEventPhase) = 0;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -97,6 +99,12 @@
</span><span class="cx"> 
</span><span class="cx">     ScrollingTreeScrollingNode* rootNode() const { return m_rootNode.get(); }
</span><span class="cx"> 
</span><ins>+    ScrollingNodeID latchedNode();
+    void setLatchedNode(ScrollingNodeID);
+    void clearLatchedNode();
+
+    bool hasLatchedNode() const { return m_latchedNode; }
+
</ins><span class="cx"> protected:
</span><span class="cx">     void setMainFrameScrollPosition(IntPoint);
</span><span class="cx">     virtual void handleWheelEvent(const PlatformWheelEvent&amp;);
</span><span class="lines">@@ -107,6 +115,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassOwnPtr&lt;ScrollingTreeNode&gt; createNode(ScrollingNodeType, ScrollingNodeID) = 0;
</span><span class="cx"> 
</span><ins>+    ScrollingTreeNode* nodeForID(ScrollingNodeID) const;
+
</ins><span class="cx">     OwnPtr&lt;ScrollingTreeScrollingNode&gt; m_rootNode;
</span><span class="cx"> 
</span><span class="cx">     typedef HashMap&lt;ScrollingNodeID, ScrollingTreeNode*&gt; ScrollingTreeNodeMap;
</span><span class="lines">@@ -128,6 +138,7 @@
</span><span class="cx">     bool m_mainFramePinnedToTheBottom;
</span><span class="cx">     bool m_mainFrameIsRubberBanding;
</span><span class="cx">     ScrollPinningBehavior m_scrollPinningBehavior;
</span><ins>+    ScrollingNodeID m_latchedNode;
</ins><span class="cx"> 
</span><span class="cx">     bool m_scrollingPerformanceLoggingEnabled;
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreeNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,8 +32,9 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-ScrollingTreeNode::ScrollingTreeNode(ScrollingTree&amp; scrollingTree, ScrollingNodeID nodeID)
</del><ins>+ScrollingTreeNode::ScrollingTreeNode(ScrollingTree&amp; scrollingTree, ScrollingNodeType nodeType, ScrollingNodeID nodeID)
</ins><span class="cx">     : m_scrollingTree(scrollingTree)
</span><ins>+    , m_nodeType(nodeType)
</ins><span class="cx">     , m_nodeID(nodeID)
</span><span class="cx">     , m_parent(0)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreeNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,13 +43,14 @@
</span><span class="cx"> public:
</span><span class="cx">     virtual ~ScrollingTreeNode();
</span><span class="cx"> 
</span><ins>+    ScrollingNodeType nodeType() const { return m_nodeType; }
+    ScrollingNodeID scrollingNodeID() const { return m_nodeID; }
+
</ins><span class="cx">     virtual void updateBeforeChildren(const ScrollingStateNode&amp;) = 0;
</span><span class="cx">     virtual void updateAfterChildren(const ScrollingStateNode&amp;) { }
</span><span class="cx"> 
</span><span class="cx">     virtual void parentScrollPositionDidChange(const IntRect&amp; viewportRect, const FloatSize&amp; cumulativeDelta) = 0;
</span><span class="cx"> 
</span><del>-    ScrollingNodeID scrollingNodeID() const { return m_nodeID; }
-
</del><span class="cx">     ScrollingTreeNode* parent() const { return m_parent; }
</span><span class="cx">     void setParent(ScrollingTreeNode* parent) { m_parent = parent; }
</span><span class="cx"> 
</span><span class="lines">@@ -57,7 +58,7 @@
</span><span class="cx">     void removeChild(ScrollingTreeNode*);
</span><span class="cx"> 
</span><span class="cx"> protected:
</span><del>-    ScrollingTreeNode(ScrollingTree&amp;, ScrollingNodeID);
</del><ins>+    ScrollingTreeNode(ScrollingTree&amp;, ScrollingNodeType, ScrollingNodeID);
</ins><span class="cx">     ScrollingTree&amp; scrollingTree() const { return m_scrollingTree; }
</span><span class="cx"> 
</span><span class="cx">     typedef Vector&lt;OwnPtr&lt;ScrollingTreeNode&gt;&gt; ScrollingTreeChildrenVector;
</span><span class="lines">@@ -66,11 +67,15 @@
</span><span class="cx"> private:
</span><span class="cx">     ScrollingTree&amp; m_scrollingTree;
</span><span class="cx"> 
</span><del>-    ScrollingNodeID m_nodeID;
</del><ins>+    const ScrollingNodeType m_nodeType;
+    const ScrollingNodeID m_nodeID;
</ins><span class="cx"> 
</span><span class="cx">     ScrollingTreeNode* m_parent;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+#define SCROLLING_NODE_TYPE_CASTS(ToValueTypeName, predicate) \
+    TYPE_CASTS_BASE(ToValueTypeName, ScrollingTreeNode, value, value-&gt;predicate, value.predicate)
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(ASYNC_SCROLLING)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreeScrollingNodecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> ScrollingTreeScrollingNode::ScrollingTreeScrollingNode(ScrollingTree&amp; scrollingTree, ScrollingNodeID nodeID)
</span><del>-    : ScrollingTreeNode(scrollingTree, nodeID)
</del><ins>+    : ScrollingTreeNode(scrollingTree, ScrollingNode, nodeID)
</ins><span class="cx">     , m_frameScaleFactor(1)
</span><span class="cx">     , m_headerHeight(0)
</span><span class="cx">     , m_footerHeight(0)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingScrollingTreeScrollingNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -100,6 +100,8 @@
</span><span class="cx">     ScrollBehaviorForFixedElements m_behaviorForFixed;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+SCROLLING_NODE_TYPE_CASTS(ScrollingTreeScrollingNode, nodeType() == ScrollingNode);
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(ASYNC_SCROLLING)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingThreadedScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -100,17 +100,18 @@
</span><span class="cx">     ScrollingTree::commitNewTreeState(scrollingStateTree);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ThreadedScrollingTree::updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
</del><ins>+void ThreadedScrollingTree::scrollingTreeNodeDidScroll(ScrollingNodeID nodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_scrollingCoordinator)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    setMainFrameScrollPosition(scrollPosition);
</del><ins>+    if (nodeID == rootNode()-&gt;scrollingNodeID())
+        setMainFrameScrollPosition(scrollPosition);
</ins><span class="cx"> 
</span><del>-    callOnMainThread(bind(&amp;ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition, m_scrollingCoordinator.get(), scrollPosition, isHandlingProgrammaticScroll(), scrollingLayerPositionAction));
</del><ins>+    callOnMainThread(bind(&amp;AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll, m_scrollingCoordinator.get(), nodeID, scrollPosition, isHandlingProgrammaticScroll(), scrollingLayerPositionAction));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> void ThreadedScrollingTree::handleWheelEventPhase(PlatformWheelEventPhase phase)
</span><span class="cx"> {
</span><span class="cx">     if (!m_scrollingCoordinator)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingThreadedScrollingTreeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ThreadedScrollingTree.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -64,8 +64,8 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassOwnPtr&lt;ScrollingTreeNode&gt; createNode(ScrollingNodeType, ScrollingNodeID) override;
</span><span class="cx"> 
</span><del>-    virtual void updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) override;
-#if PLATFORM(MAC)
</del><ins>+    virtual void scrollingTreeNodeDidScroll(ScrollingNodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) override;
+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     virtual void handleWheelEventPhase(PlatformWheelEventPhase) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeIOScpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -81,14 +81,15 @@
</span><span class="cx">     ScrollingTree::commitNewTreeState(scrollingStateTree);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ScrollingTreeIOS::updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
</del><ins>+void ScrollingTreeIOS::scrollingTreeNodeDidScroll(ScrollingNodeID nodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition scrollingLayerPositionAction)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_scrollingCoordinator)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    setMainFrameScrollPosition(scrollPosition);
</del><ins>+    if (nodeID == rootNode()-&gt;scrollingNodeID())
+        setMainFrameScrollPosition(scrollPosition);
</ins><span class="cx"> 
</span><del>-    callOnMainThread(bind(&amp;ScrollingCoordinator::scheduleUpdateMainFrameScrollPosition, m_scrollingCoordinator.get(), scrollPosition, isHandlingProgrammaticScroll(), scrollingLayerPositionAction));
</del><ins>+    callOnMainThread(bind(&amp;AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll, m_scrollingCoordinator.get(), nodeID, scrollPosition, isHandlingProgrammaticScroll(), scrollingLayerPositionAction));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassOwnPtr&lt;ScrollingTreeNode&gt; ScrollingTreeIOS::createNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeIOSh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -56,10 +56,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassOwnPtr&lt;ScrollingTreeNode&gt; createNode(ScrollingNodeType, ScrollingNodeID) override;
</span><span class="cx"> 
</span><del>-    virtual void updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) override;
-#if PLATFORM(MAC)
-    virtual void handleWheelEventPhase(PlatformWheelEventPhase) override { }
-#endif
</del><ins>+    virtual void scrollingTreeNodeDidScroll(ScrollingNodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition = SyncScrollingLayerPosition) override;
</ins><span class="cx"> 
</span><span class="cx">     RefPtr&lt;AsyncScrollingCoordinator&gt; m_scrollingCoordinator;
</span><span class="cx"> };
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingiosScrollingTreeScrollingNodeIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -118,12 +118,12 @@
</span><span class="cx"> {
</span><span class="cx">     if (shouldUpdateScrollLayerPositionSynchronously()) {
</span><span class="cx">         m_probableMainThreadScrollPosition = scrollPosition;
</span><del>-        scrollingTree().updateMainFrameScrollPosition(scrollPosition, SetScrollingLayerPosition);
</del><ins>+        scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, SetScrollingLayerPosition);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     setScrollLayerPosition(scrollPosition);
</span><del>-    scrollingTree().updateMainFrameScrollPosition(scrollPosition);
</del><ins>+    scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScrollingTreeScrollingNodeIOS::setScrollLayerPosition(const IntPoint&amp; position)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeFixedNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -54,6 +54,8 @@
</span><span class="cx">     RetainPtr&lt;CALayer&gt; m_layer;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+SCROLLING_NODE_TYPE_CASTS(ScrollingTreeFixedNode, nodeType() == FixedNode);
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(ASYNC_SCROLLING)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeFixedNodemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScrollingTreeFixedNode::ScrollingTreeFixedNode(ScrollingTree&amp; scrollingTree, ScrollingNodeID nodeID)
</span><del>-    : ScrollingTreeNode(scrollingTree, nodeID)
</del><ins>+    : ScrollingTreeNode(scrollingTree, FixedNode, nodeID)
</ins><span class="cx"> {
</span><span class="cx"> }
</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 (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,5 +1,5 @@
</span><span class="cx"> /*
</span><del>- * Copyright (C) 2012 Apple Inc. All rights reserved.
</del><ins>+ * Copyright (C) 2012, 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">@@ -128,12 +128,22 @@
</span><span class="cx">         updateMainFramePinState(scrollPosition());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static bool shouldConsiderLatching(const PlatformWheelEvent&amp; wheelEvent)
+{
+    return wheelEvent.phase() == PlatformWheelEventPhaseBegan
+        || wheelEvent.phase() == PlatformWheelEventPhaseMayBegin;
+}
+
</ins><span class="cx"> void ScrollingTreeScrollingNodeMac::handleWheelEvent(const PlatformWheelEvent&amp; 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><ins>+
+    if (shouldConsiderLatching(wheelEvent))
+        scrollingTree().setLatchedNode(scrollingNodeID());
+
</ins><span class="cx">     scrollingTree().handleWheelEventPhase(wheelEvent.phase());
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -315,12 +325,12 @@
</span><span class="cx"> 
</span><span class="cx">     if (shouldUpdateScrollLayerPositionSynchronously()) {
</span><span class="cx">         m_probableMainThreadScrollPosition = scrollPosition;
</span><del>-        scrollingTree().updateMainFrameScrollPosition(scrollPosition, SetScrollingLayerPosition);
</del><ins>+        scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition, SetScrollingLayerPosition);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     setScrollLayerPosition(scrollPosition);
</span><del>-    scrollingTree().updateMainFrameScrollPosition(scrollPosition);
</del><ins>+    scrollingTree().scrollingTreeNodeDidScroll(scrollingNodeID(), scrollPosition);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ScrollingTreeScrollingNodeMac::setScrollLayerPosition(const IntPoint&amp; position)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeStickyNodeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -54,6 +54,8 @@
</span><span class="cx">     RetainPtr&lt;CALayer&gt; m_layer;
</span><span class="cx"> };
</span><span class="cx"> 
</span><ins>+SCROLLING_NODE_TYPE_CASTS(ScrollingTreeStickyNode, nodeType() == StickyNode);
+
</ins><span class="cx"> } // namespace WebCore
</span><span class="cx"> 
</span><span class="cx"> #endif // ENABLE(ASYNC_SCROLLING)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorepagescrollingmacScrollingTreeStickyNodemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/page/scrolling/mac/ScrollingTreeStickyNode.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ScrollingTreeStickyNode::ScrollingTreeStickyNode(ScrollingTree&amp; scrollingTree, ScrollingNodeID nodeID)
</span><del>-    : ScrollingTreeNode(scrollingTree, nodeID)
</del><ins>+    : ScrollingTreeNode(scrollingTree, StickyNode, nodeID)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformDragDatah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/DragData.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/DragData.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/DragData.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><del>-typedef HashMap&lt;UINT, Vector&lt;String&gt;&gt; DragDataMap;
</del><ins>+typedef HashMap&lt;unsigned, Vector&lt;String&gt;&gt; DragDataMap;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> class DragData {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformLayoutUnith"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/LayoutUnit.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/LayoutUnit.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/LayoutUnit.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -118,6 +118,11 @@
</span><span class="cx">     LayoutUnit(double value) { REPORT_OVERFLOW(isInBounds(value)); m_value = clampTo&lt;int&gt;(value); }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    static LayoutUnit fromPixel(int value)
+    {
+        return LayoutUnit(value);
+    }
+
</ins><span class="cx">     static LayoutUnit fromFloatCeil(float value)
</span><span class="cx">     {
</span><span class="cx">         LayoutUnit v;
</span><span class="lines">@@ -953,11 +958,6 @@
</span><span class="cx">     return value.abs();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-inline LayoutUnit layoutMod(const LayoutUnit&amp; numerator, const LayoutUnit&amp; denominator)
-{
-    return numerator % denominator;
-}
-
</del><span class="cx"> inline bool isIntegerValue(const LayoutUnit value)
</span><span class="cx"> {
</span><span class="cx">     return value.toInt() == value;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformLengthcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/Length.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/Length.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/Length.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -88,7 +88,7 @@
</span><span class="cx"> std::unique_ptr&lt;Length[]&gt; newCoordsArray(const String&amp; string, int&amp; len)
</span><span class="cx"> {
</span><span class="cx">     unsigned length = string.length();
</span><del>-    const UChar* data = string.characters();
</del><ins>+    const UChar* data = string.deprecatedCharacters();
</ins><span class="cx">     StringBuffer&lt;UChar&gt; spacified(length);
</span><span class="cx">     for (unsigned i = 0; i &lt; length; i++) {
</span><span class="cx">         UChar cc = data[i];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformLinkHashcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/LinkHash.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/LinkHash.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/LinkHash.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -217,7 +217,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (length &amp;&amp; url.is8Bit())
</span><span class="cx">         return visitedLinkHashInline(url.characters8(), length);
</span><del>-    return visitedLinkHashInline(url.characters(), length);
</del><ins>+    return visitedLinkHashInline(url.deprecatedCharacters(), length);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LinkHash visitedLinkHash(const UChar* url, unsigned length)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformScrollableAreah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ScrollableArea.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ScrollableArea.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/ScrollableArea.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -254,6 +254,8 @@
</span><span class="cx">     bool hasLayerForVerticalScrollbar() const;
</span><span class="cx">     bool hasLayerForScrollCorner() const;
</span><span class="cx"> 
</span><ins>+    virtual void sendWillRevealEdgeEventsIfNeeded(const IntPoint&amp;, const IntPoint&amp;) { }
+
</ins><span class="cx"> private:
</span><span class="cx">     virtual IntRect visibleContentRectInternal(VisibleContentRectIncludesScrollbars, VisibleContentRectBehavior) const;
</span><span class="cx">     void scrollPositionChanged(const IntPoint&amp;);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformThreadGlobalDatacpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,23 +30,18 @@
</span><span class="cx"> #include &quot;CachedResourceRequestInitiators.h&quot;
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;InspectorCounters.h&quot;
</span><ins>+#include &quot;TextCodecICU.h&quot;
</ins><span class="cx"> #include &quot;ThreadTimers.h&quot;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><ins>+#include &lt;wtf/ThreadSpecific.h&gt;
+#include &lt;wtf/Threading.h&gt;
</ins><span class="cx"> #include &lt;wtf/WTFThreadData.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringImpl.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
-#include &quot;TextCodecICU.h&quot;
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
+#include &quot;TextCodeCMac.h&quot;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
-#include &quot;TextCodecMac.h&quot;
-#endif
-
-#include &lt;wtf/Threading.h&gt;
-#include &lt;wtf/ThreadSpecific.h&gt;
-using namespace WTF;
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> ThreadSpecific&lt;ThreadGlobalData&gt;* ThreadGlobalData::staticData;
</span><span class="lines">@@ -61,9 +56,7 @@
</span><span class="cx"> #ifndef NDEBUG
</span><span class="cx">     , m_isMainThread(isMainThread())
</span><span class="cx"> #endif
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">     , m_cachedConverterICU(adoptPtr(new ICUConverterWrapper))
</span><del>-#endif
</del><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     , m_cachedConverterTEC(adoptPtr(new TECConverterWrapper))
</span><span class="cx"> #endif
</span><span class="lines">@@ -89,9 +82,7 @@
</span><span class="cx">     m_cachedConverterTEC.clear();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">     m_cachedConverterICU.clear();
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if ENABLE(INSPECTOR)
</span><span class="cx">     m_inspectorCounters.clear();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformThreadGlobalDatah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/ThreadGlobalData.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -58,9 +58,7 @@
</span><span class="cx">         EventNames&amp; eventNames() { return *m_eventNames; }
</span><span class="cx">         ThreadTimers&amp; threadTimers() { return *m_threadTimers; }
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">         ICUConverterWrapper&amp; cachedConverterICU() { return *m_cachedConverterICU; }
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">         TECConverterWrapper&amp; cachedConverterTEC() { return *m_cachedConverterTEC; }
</span><span class="lines">@@ -83,9 +81,7 @@
</span><span class="cx">         bool m_isMainThread;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">         OwnPtr&lt;ICUConverterWrapper&gt; m_cachedConverterICU;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">         OwnPtr&lt;TECConverterWrapper&gt; m_cachedConverterTEC;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformTimerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/Timer.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/Timer.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/Timer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,7 @@
</span><span class="cx"> #ifndef Timer_h
</span><span class="cx"> #define Timer_h
</span><span class="cx"> 
</span><ins>+#include &lt;chrono&gt;
</ins><span class="cx"> #include &lt;functional&gt;
</span><span class="cx"> #include &lt;wtf/Noncopyable.h&gt;
</span><span class="cx"> #include &lt;wtf/Threading.h&gt;
</span><span class="lines">@@ -52,6 +53,7 @@
</span><span class="cx"> 
</span><span class="cx">     void startRepeating(double repeatInterval) { start(repeatInterval, repeatInterval); }
</span><span class="cx">     void startOneShot(double interval) { start(interval, 0); }
</span><ins>+    void startOneShot(std::chrono::milliseconds interval) { startOneShot(interval.count() * 0.001); }
</ins><span class="cx"> 
</span><span class="cx">     void stop();
</span><span class="cx">     bool isActive() const;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformURLcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/URL.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/URL.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/URL.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><span class="cx"> #include &quot;TextEncoding.h&quot;
</span><span class="cx"> #include &lt;stdio.h&gt;
</span><ins>+#include &lt;unicode/uidna.h&gt;
</ins><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HexNumber.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="lines">@@ -38,10 +39,6 @@
</span><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
-#include &lt;unicode/uidna.h&gt;
-#endif
-
</del><span class="cx"> // FIXME: This file makes too much use of the + operator on String.
</span><span class="cx"> // We either have to optimize that operator so it doesn't involve
</span><span class="cx"> // so many allocations, or change this to use StringBuffer instead.
</span><span class="lines">@@ -1504,14 +1501,12 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">     UChar hostnameBuffer[hostnameBufferLength];
</span><span class="cx">     UErrorCode error = U_ZERO_ERROR;
</span><span class="cx">     int32_t numCharactersConverted = uidna_IDNToASCII(str, strLen, hostnameBuffer,
</span><span class="cx">         hostnameBufferLength, UIDNA_ALLOW_UNASSIGNED, 0, &amp;error);
</span><span class="cx">     if (error == U_ZERO_ERROR)
</span><span class="cx">         buffer.append(hostnameBuffer, numCharactersConverted);
</span><del>-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void findHostnamesInMailToURL(const UChar* str, int strLen, Vector&lt;std::pair&lt;int, int&gt;&gt;&amp; nameRanges)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformaudioAudioSessionh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/audio/AudioSession.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/audio/AudioSession.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/audio/AudioSession.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;memory&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/Noncopyable.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformeflEflKeyboardUtilitiescpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/efl/EflKeyboardUtilities.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,37 +32,34 @@
</span><span class="cx"> #include &quot;WindowsKeyboardCodes.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HexNumber.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/text/StringBuilder.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-typedef HashMap&lt;String, String&gt; KeyMap;
-typedef HashMap&lt;String, int&gt; WindowsKeyMap;
-typedef HashMap&lt;int, const char*&gt; KeyCommandMap;
-
-static KeyMap&amp; keyMap()
</del><ins>+static HashMap&lt;String, String&gt;&amp; keyMap()
</ins><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(KeyMap, keyMap, ());
</del><ins>+    static NeverDestroyed&lt;HashMap&lt;String, String&gt;&gt; keyMap;
</ins><span class="cx">     return keyMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static WindowsKeyMap&amp; windowsKeyMap()
</del><ins>+static HashMap&lt;String, int&gt;&amp; windowsKeyMap()
</ins><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(WindowsKeyMap, windowsKeyMap, ());
</del><ins>+    static NeverDestroyed&lt;HashMap&lt;String, int&gt;&gt; windowsKeyMap;
</ins><span class="cx">     return windowsKeyMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static KeyCommandMap&amp; keyDownCommandsMap()
</del><ins>+static HashMap&lt;int, const char*&gt;&amp; keyDownCommandsMap()
</ins><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(KeyCommandMap, keyDownCommandsMap, ());
</del><ins>+    static NeverDestroyed&lt;HashMap&lt;int, const char*&gt;&gt; keyDownCommandsMap;
</ins><span class="cx">     return keyDownCommandsMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static KeyCommandMap&amp; keyPressCommandsMap()
</del><ins>+static HashMap&lt;int, const char*&gt;&amp; keyPressCommandsMap()
</ins><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(KeyCommandMap, keyPressCommandsMap, ());
</del><ins>+    static NeverDestroyed&lt;HashMap&lt;int, const char*&gt;&gt; keyPressCommandsMap;
</ins><span class="cx">     return keyPressCommandsMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformeflGamepadsEflcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/efl/GamepadsEfl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/efl/GamepadsEfl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/efl/GamepadsEfl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &lt;Eina.h&gt;
</span><span class="cx"> #include &lt;unistd.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> #include &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="lines">@@ -110,6 +111,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> class GamepadsEfl {
</span><ins>+    friend class NeverDestroyed&lt;GamepadsEfl&gt;;
</ins><span class="cx"> public:
</span><span class="cx">     GamepadsEfl(size_t length);
</span><span class="cx"> 
</span><span class="lines">@@ -235,8 +237,8 @@
</span><span class="cx"> 
</span><span class="cx"> void sampleGamepads(GamepadList* into)
</span><span class="cx"> {
</span><del>-    DEFINE_STATIC_LOCAL(GamepadsEfl, gamepadsEfl, (into-&gt;length()));
-    gamepadsEfl.updateGamepadList(into);
</del><ins>+    static NeverDestroyed&lt;GamepadsEfl&gt; gamepadsEfl(into-&gt;length());
+    gamepadsEfl.get().updateGamepadList(into);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformeflRenderThemeEflcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/efl/RenderThemeEfl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/efl/RenderThemeEfl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/efl/RenderThemeEfl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1028,11 +1028,8 @@
</span><span class="cx"> {
</span><span class="cx">     // It was called by RenderEmbeddedObject::paintReplaced to render alternative string.
</span><span class="cx">     // To avoid cairo_error while rendering, fontDescription should be passed.
</span><del>-    DEFINE_STATIC_LOCAL(String, fontFace, (ASCIILiteral(&quot;Sans&quot;)));
-    float fontSize = defaultFontSize;
-
-    fontDescription.setOneFamily(fontFace);
-    fontDescription.setSpecifiedSize(fontSize);
</del><ins>+    fontDescription.setOneFamily(&quot;Sans&quot;);
+    fontDescription.setSpecifiedSize(defaultFontSize);
</ins><span class="cx">     fontDescription.setIsAbsoluteSize(true);
</span><span class="cx">     fontDescription.setGenericFamily(FontDescription::NoFamily);
</span><span class="cx">     fontDescription.setWeight(FontWeightNormal);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsBitmapImageh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/BitmapImage.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/BitmapImage.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/BitmapImage.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,9 +36,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#endif
+
+#if USE(APPKIT)
</ins><span class="cx"> OBJC_CLASS NSImage;
</span><del>-#endif // PLATFORM(IOS)
</del><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="lines">@@ -156,11 +157,13 @@
</span><span class="cx">     virtual void drawPattern(GraphicsContext*, const FloatRect&amp; srcRect, const AffineTransform&amp; patternTransform,
</span><span class="cx">         const FloatPoint&amp; phase, ColorSpace styleColorSpace, CompositeOperator, const FloatRect&amp; destRect, BlendMode = BlendModeNormal) override;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><span class="cx">     // Accessors for native image formats.
</span><del>-#if !PLATFORM(IOS)
</del><ins>+
+#if USE(APPKIT)
</ins><span class="cx">     virtual NSImage* getNSImage() override;
</span><span class="cx"> #endif
</span><ins>+
+#if PLATFORM(MAC)
</ins><span class="cx">     virtual CFDataRef getTIFFRepresentation() override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -313,10 +316,10 @@
</span><span class="cx">     int m_repetitionsComplete;  // How many repetitions we've finished.
</span><span class="cx">     double m_desiredFrameStartTime;  // The system time at which we hope to see the next call to startAnimation().
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
-#if !PLATFORM(IOS)
</del><ins>+#if USE(APPKIT)
</ins><span class="cx">     mutable RetainPtr&lt;NSImage&gt; m_nsImage; // A cached NSImage of frame 0. Only built lazily if someone actually queries for one.
</span><span class="cx"> #endif
</span><ins>+#if USE(CG)
</ins><span class="cx">     mutable RetainPtr&lt;CFDataRef&gt; m_tiffRep; // Cached TIFF rep for frame 0.  Only built lazily if someone queries for one.
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsColorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/Color.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/Color.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/Color.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -165,7 +165,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     if (name.is8Bit())
</span><span class="cx">         return parseHexColor(name.characters8(), name.length(), rgb);
</span><del>-    return parseHexColor(name.characters(), name.length(), rgb);
</del><ins>+    return parseHexColor(name.deprecatedCharacters(), name.length(), rgb);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> int differenceSquared(const Color&amp; c1, const Color&amp; c2)
</span><span class="lines">@@ -182,7 +182,7 @@
</span><span class="cx">         if (name.is8Bit())
</span><span class="cx">             m_valid = parseHexColor(name.characters8() + 1, name.length() - 1, m_color);
</span><span class="cx">         else
</span><del>-            m_valid = parseHexColor(name.characters() + 1, name.length() - 1, m_color);
</del><ins>+            m_valid = parseHexColor(name.deprecatedCharacters() + 1, name.length() - 1, m_color);
</ins><span class="cx">     } else
</span><span class="cx">         setNamedColor(name);
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsImageh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/Image.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/Image.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/Image.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -141,10 +141,14 @@
</span><span class="cx"> 
</span><span class="cx">     virtual PassNativeImagePtr nativeImageForCurrentFrame() { return 0; }
</span><span class="cx">     virtual ImageOrientation orientationForCurrentFrame() { return ImageOrientation(); }
</span><del>-    
-#if PLATFORM(MAC)
</del><ins>+
</ins><span class="cx">     // Accessors for native image formats.
</span><ins>+
+#if USE(APPKIT)
</ins><span class="cx">     virtual NSImage* getNSImage() { return 0; }
</span><ins>+#endif
+
+#if PLATFORM(MAC)
</ins><span class="cx">     virtual CFDataRef getTIFFRepresentation() { return 0; }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsLayoutRecth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/LayoutRect.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/LayoutRect.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/LayoutRect.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,8 +39,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><del>-class FloatRect;
-
</del><span class="cx"> class LayoutRect {
</span><span class="cx"> public:
</span><span class="cx">     LayoutRect() { }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsSurrogatePairAwareTextIteratorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,13 +23,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;SurrogatePairAwareTextIterator.h&quot;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx"> #include &lt;unicode/unorm.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><del>-using namespace WTF;
-using namespace Unicode;
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> SurrogatePairAwareTextIterator::SurrogatePairAwareTextIterator(const UChar* characters, int currentCharacter, int lastCharacter, int endCharacter)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsTextRunh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/TextRun.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/TextRun.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/TextRun.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx">             m_data.characters8 = s.characters8();
</span><span class="cx">             m_is8Bit = true;
</span><span class="cx">         } else {
</span><del>-            m_data.characters16 = s.characters();
</del><ins>+            m_data.characters16 = s.deprecatedCharacters();
</ins><span class="cx">             m_is8Bit = false;
</span><span class="cx">         }
</span><span class="cx"> #else
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationAVTrackPrivateAVFObjCImplmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -115,11 +115,7 @@
</span><span class="cx">         return emptyAtom;
</span><span class="cx"> 
</span><span class="cx">     // If possible, return a title in one of the user's preferred languages.
</span><del>-#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">     NSArray *titlesForPreferredLanguages = [AVMetadataItem metadataItemsFromArray:titles filteredAndSortedAccordingToPreferredLanguages:[NSLocale preferredLanguages]];
</span><del>-#else
-    NSArray *titlesForPreferredLanguages = [AVMetadataItem metadataItemsFromArray:titles withLocale:[NSLocale currentLocale]];
-#endif
</del><span class="cx">     if ([titlesForPreferredLanguages count])
</span><span class="cx">         return [[titlesForPreferredLanguages objectAtIndex:0] stringValue];
</span><span class="cx">     return [[titles objectAtIndex:0] stringValue];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcInbandTextTrackPrivateLegacyAVFObjCmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -104,12 +104,8 @@
</span><span class="cx"> 
</span><span class="cx">     NSArray *titles = [AVMetadataItem metadataItemsFromArray:[[m_playerItemTrack assetTrack] commonMetadata] withKey:AVMetadataCommonKeyTitle keySpace:AVMetadataKeySpaceCommon];
</span><span class="cx">     if ([titles count]) {
</span><del>-#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">         // If possible, return a title in one of the user's preferred languages.
</span><span class="cx">         NSArray *titlesForPreferredLanguages = [AVMetadataItem metadataItemsFromArray:titles filteredAndSortedAccordingToPreferredLanguages:[NSLocale preferredLanguages]];
</span><del>-#else
-         NSArray *titlesForPreferredLanguages = [AVMetadataItem metadataItemsFromArray:titles withLocale:[NSLocale currentLocale]];
-#endif
</del><span class="cx">         if ([titlesForPreferredLanguages count])
</span><span class="cx">             title = [[titlesForPreferredLanguages objectAtIndex:0] stringValue];
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsavfoundationobjcMediaPlayerPrivateAVFoundationObjCmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -476,7 +476,6 @@
</span><span class="cx"> 
</span><span class="cx">     [options.get() setObject:[NSNumber numberWithInt:AVAssetReferenceRestrictionForbidRemoteReferenceToLocal | AVAssetReferenceRestrictionForbidLocalReferenceToRemote] forKey:AVURLAssetReferenceRestrictionsKey];
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">     RetainPtr&lt;NSMutableDictionary&gt; headerFields = adoptNS([[NSMutableDictionary alloc] init]);
</span><span class="cx"> 
</span><span class="cx">     String referrer = player()-&gt;referrer();
</span><span class="lines">@@ -489,7 +488,6 @@
</span><span class="cx"> 
</span><span class="cx">     if ([headerFields.get() count])
</span><span class="cx">         [options.get() setObject:headerFields.get() forKey:@&quot;AVURLAssetHTTPHeaderFieldsKey&quot;];
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     NSURL *cocoaURL = URL(ParsedURLString, url);
</span><span class="cx">     m_avAsset = adoptNS([[AVURLAsset alloc] initWithURL:cocoaURL options:options.get()]);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgBitmapImageCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,12 +32,15 @@
</span><span class="cx"> #include &quot;GraphicsContextCG.h&quot;
</span><span class="cx"> #include &quot;ImageObserver.h&quot;
</span><span class="cx"> #include &quot;SubimageCacheWithTimer.h&quot;
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#include &lt;wtf/RetainPtr.h&gt;
+
+#if USE(APPKIT)
</ins><span class="cx"> #include &lt;ApplicationServices/ApplicationServices.h&gt;
</span><del>-#else
</del><ins>+#endif
+
+#if PLATFORM(IOS)
</ins><span class="cx"> #include &lt;CoreGraphics/CGContextPrivate.h&gt;
</span><span class="cx"> #endif
</span><del>-#include &lt;wtf/RetainPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx"> #include &quot;WebCoreSystemInterface.h&quot;
</span><span class="lines">@@ -144,36 +147,19 @@
</span><span class="cx"> 
</span><span class="cx">     // Currently we only check for solid color in the important special case of a 1x1 image.
</span><span class="cx">     if (image &amp;&amp; CGImageGetWidth(image) == 1 &amp;&amp; CGImageGetHeight(image) == 1) {
</span><del>-#if !PLATFORM(IOS)
</del><span class="cx">         unsigned char pixel[4]; // RGBA
</span><del>-        RetainPtr&lt;CGContextRef&gt; bmap = adoptCF(CGBitmapContextCreate(pixel, 1, 1, 8, sizeof(pixel), deviceRGBColorSpaceRef(),
</del><ins>+        RetainPtr&lt;CGContextRef&gt; bitmapContext = adoptCF(CGBitmapContextCreate(pixel, 1, 1, 8, sizeof(pixel), deviceRGBColorSpaceRef(),
</ins><span class="cx">             kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big));
</span><del>-        if (!bmap)
</del><ins>+        if (!bitmapContext)
</ins><span class="cx">             return;
</span><del>-        GraphicsContext(bmap.get()).setCompositeOperation(CompositeCopy);
-        CGRect dst = { {0, 0}, {1, 1} };
-        CGContextDrawImage(bmap.get(), dst, image);
-        if (pixel[3] == 0)
-            m_solidColor = Color(0, 0, 0, 0);
-        else
-            m_solidColor = Color(pixel[0] * 255 / pixel[3], pixel[1] * 255 / pixel[3], pixel[2] * 255 / pixel[3], pixel[3]);
-#else
-        // FIXME: Can we share more code with the Mac port? Formerly the Mac port created a floating point bitmap context,
-        // but such a context wasn't support on iOS (rdar://problem/5106514). So, on iOS we created an integral bitmap
-        // context. Since &lt;https://trac.webkit.org/changeset/23939&gt; the Mac port creates an integral bitmap context.
-        unsigned char pixel[4] = {0, 0, 0, 0}; // RGBA
-        RetainPtr&lt;CGContextRef&gt; bitmap = adoptCF(CGBitmapContextCreate(pixel, 1, 1, 8, sizeof(pixel), deviceRGBColorSpaceRef(),
-            kCGImageAlphaPremultipliedLast));
-        if (!bitmap)
-            return;
-        GraphicsContext(bitmap.get()).setCompositeOperation(CompositeCopy);
-        CGRect destinationRect = { {0, 0}, {1, 1} };
-        CGContextDrawImage(bitmap.get(), destinationRect, image);
</del><ins>+        GraphicsContext(bitmapContext.get()).setCompositeOperation(CompositeCopy);
+        CGRect destinationRect = CGRectMake(0, 0, 1, 1);
+        CGContextDrawImage(bitmapContext.get(), destinationRect, image);
</ins><span class="cx">         if (!pixel[3])
</span><span class="cx">             m_solidColor = Color(0, 0, 0, 0);
</span><span class="cx">         else
</span><del>-            m_solidColor = Color(static_cast&lt;int&gt;(pixel[0]), static_cast&lt;int&gt;(pixel[1]), static_cast&lt;int&gt;(pixel[2]), static_cast&lt;int&gt;(pixel[3]));
-#endif
</del><ins>+            m_solidColor = Color(pixel[0] * 255 / pixel[3], pixel[1] * 255 / pixel[3], pixel[2] * 255 / pixel[3], pixel[3]);
+
</ins><span class="cx">         m_isSolidColor = true;
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgFloatPointCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatPointCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatPointCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatPointCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,11 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgFloatRectCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatRectCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatRectCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatRectCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,11 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgFloatSizeCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatSizeCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatSizeCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/FloatSizeCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,11 +29,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgGradientCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/GradientCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/GradientCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/GradientCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,11 +28,7 @@
</span><span class="cx"> #include &quot;Gradient.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;GraphicsContextCG.h&quot;
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgGraphicsContextCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1017,10 +1017,8 @@
</span><span class="cx">     if (context.isAcceleratedContext())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">     if (wkCGContextDrawsWithCorrectShadowOffsets(context.platformContext()))
</span><span class="cx">         return;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     // Work around &lt;rdar://problem/5539388&gt; by ensuring that the offsets will get truncated
</span><span class="cx">     // to the desired integer. Also see: &lt;rdar://problem/10056277&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgImageBufferCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,12 +34,8 @@
</span><span class="cx"> #include &quot;ImageData.h&quot;
</span><span class="cx"> #include &quot;MIMETypeRegistry.h&quot;
</span><span class="cx"> #include &lt;math.h&gt;
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><span class="cx"> #include &lt;ImageIO/ImageIO.h&gt;
</span><del>-#endif
</del><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> #include &lt;wtf/CheckedArithmetic.h&gt;
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgImageCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,11 +32,7 @@
</span><span class="cx"> #include &quot;FloatRect.h&quot;
</span><span class="cx"> #include &quot;GraphicsContextCG.h&quot;
</span><span class="cx"> #include &quot;ImageObserver.h&quot;
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgImageSourceCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,14 +46,13 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><ins>+const CFStringRef WebCoreCGImagePropertyAPNGUnclampedDelayTime = CFSTR(&quot;UnclampedDelayTime&quot;);
+const CFStringRef WebCoreCGImagePropertyAPNGDelayTime = CFSTR(&quot;DelayTime&quot;);
+const CFStringRef WebCoreCGImagePropertyAPNGLoopCount = CFSTR(&quot;LoopCount&quot;);
+
</ins><span class="cx"> const CFStringRef kCGImageSourceShouldPreferRGB32 = CFSTR(&quot;kCGImageSourceShouldPreferRGB32&quot;);
</span><span class="cx"> const CFStringRef kCGImageSourceSkipMetadata = CFSTR(&quot;kCGImageSourceSkipMetadata&quot;);
</span><span class="cx"> 
</span><del>-// kCGImagePropertyGIFUnclampedDelayTime is available in the ImageIO framework headers on some versions
-// of SnowLeopard. It's not possible to detect whether the constant is available so we define our own here
-// that won't conflict with ImageIO's version when it is available.
-const CFStringRef WebCoreCGImagePropertyGIFUnclampedDelayTime = CFSTR(&quot;UnclampedDelayTime&quot;);
-
</del><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> bool ImageSource::s_acceleratedImageDecoding;
</span><span class="cx"> #endif
</span><span class="lines">@@ -345,26 +344,41 @@
</span><span class="cx">     
</span><span class="cx"> int ImageSource::repetitionCount()
</span><span class="cx"> {
</span><del>-    int result = cAnimationLoopOnce; // No property means loop once.
</del><span class="cx">     if (!initialized())
</span><del>-        return result;
</del><ins>+        return cAnimationLoopOnce;
</ins><span class="cx"> 
</span><span class="cx">     RetainPtr&lt;CFDictionaryRef&gt; properties = adoptCF(CGImageSourceCopyProperties(m_decoder, imageSourceOptions(SkipMetadata)));
</span><del>-    if (properties) {
-        CFDictionaryRef gifProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyGIFDictionary);
-        if (gifProperties) {
-            CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFLoopCount);
-            if (num) {
-                // A property with value 0 means loop forever.
-                CFNumberGetValue(num, kCFNumberIntType, &amp;result);
-                if (!result)
-                    result = cAnimationLoopInfinite;
-            }
-        } else
-            result = cAnimationNone; // Turns out we're not a GIF after all, so we don't animate.
</del><ins>+    if (!properties)
+        return cAnimationLoopOnce;
+
+    CFDictionaryRef gifProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyGIFDictionary);
+    if (gifProperties) {
+        CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFLoopCount);
+
+        // No property means loop once.
+        if (!num)
+            return cAnimationLoopOnce;
+
+        int loopCount;
+        CFNumberGetValue(num, kCFNumberIntType, &amp;loopCount);
+
+        // A property with value 0 means loop forever.
+        return loopCount ? loopCount : cAnimationLoopInfinite;
</ins><span class="cx">     }
</span><del>-    
-    return result;
</del><ins>+
+    CFDictionaryRef pngProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyPNGDictionary);
+    if (pngProperties) {
+        CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(pngProperties, WebCoreCGImagePropertyAPNGLoopCount);
+        if (!num)
+            return cAnimationLoopOnce;
+
+        int loopCount;
+        CFNumberGetValue(num, kCFNumberIntType, &amp;loopCount);
+        return loopCount ? loopCount : cAnimationLoopInfinite;
+    }
+
+    // Turns out we're not an animated image after all, so we don't animate.
+    return cAnimationNone;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> size_t ImageSource::frameCount() const
</span><span class="lines">@@ -451,16 +465,24 @@
</span><span class="cx">     float duration = 0;
</span><span class="cx">     RetainPtr&lt;CFDictionaryRef&gt; properties = adoptCF(CGImageSourceCopyPropertiesAtIndex(m_decoder, index, imageSourceOptions(SkipMetadata)));
</span><span class="cx">     if (properties) {
</span><del>-        CFDictionaryRef typeProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyGIFDictionary);
-        if (typeProperties) {
-            if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(typeProperties, WebCoreCGImagePropertyGIFUnclampedDelayTime)) {
</del><ins>+        CFDictionaryRef gifProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyGIFDictionary);
+        if (gifProperties) {
+            if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFUnclampedDelayTime)) {
</ins><span class="cx">                 // Use the unclamped frame delay if it exists.
</span><span class="cx">                 CFNumberGetValue(num, kCFNumberFloatType, &amp;duration);
</span><del>-            } else if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(typeProperties, kCGImagePropertyGIFDelayTime)) {
</del><ins>+            } else if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(gifProperties, kCGImagePropertyGIFDelayTime)) {
</ins><span class="cx">                 // Fall back to the clamped frame delay if the unclamped frame delay does not exist.
</span><span class="cx">                 CFNumberGetValue(num, kCFNumberFloatType, &amp;duration);
</span><span class="cx">             }
</span><span class="cx">         }
</span><ins>+
+        CFDictionaryRef pngProperties = (CFDictionaryRef)CFDictionaryGetValue(properties.get(), kCGImagePropertyPNGDictionary);
+        if (pngProperties) {
+            if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(pngProperties, WebCoreCGImagePropertyAPNGUnclampedDelayTime))
+                CFNumberGetValue(num, kCFNumberFloatType, &amp;duration);
+            else if (CFNumberRef num = (CFNumberRef)CFDictionaryGetValue(pngProperties, WebCoreCGImagePropertyAPNGDelayTime))
+                CFNumberGetValue(num, kCFNumberFloatType, &amp;duration);
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Many annoying ads specify a 0 duration to make an image flash as quickly as possible.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgIntPointCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/IntPointCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/IntPointCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/IntPointCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,11 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgIntRectCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/IntRectCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/IntRectCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/IntRectCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,11 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgIntSizeCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/IntSizeCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/IntSizeCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/IntSizeCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,11 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if USE(CG)
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgPathCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/PathCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/PathCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/PathCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,12 +34,7 @@
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> #include &quot;IntRect.h&quot;
</span><span class="cx"> #include &quot;StrokeStyleApplier.h&quot;
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
-#include &lt;CoreGraphics/CGPathPrivate.h&gt;
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> #include &lt;wtf/MathExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -325,9 +320,6 @@
</span><span class="cx">     return CGPathGetCurrentPoint(m_path);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// MARK: -
-// MARK: Path Management
-
</del><span class="cx"> struct PathApplierInfo {
</span><span class="cx">     void* info;
</span><span class="cx">     PathApplierFunction function;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscgPatternCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cg/PatternCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cg/PatternCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cg/PatternCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,11 +30,7 @@
</span><span class="cx"> #include &quot;AffineTransform.h&quot;
</span><span class="cx"> #include &quot;GraphicsContext.h&quot;
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicscocoaFontPlatformDataCocoamm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -79,9 +79,7 @@
</span><span class="cx">     {
</span><span class="cx">         CTFontSymbolicTraits traits = CTFontGetSymbolicTraits(toCTFontRef(m_font));
</span><span class="cx">         m_isColorBitmapFont = traits &amp; kCTFontColorGlyphsTrait;
</span><del>-#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">         m_isCompositeFontReference = traits &amp; kCTFontCompositeTrait;
</span><del>-#endif
</del><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (m_font)
</span><span class="lines">@@ -194,9 +192,7 @@
</span><span class="cx">     {
</span><span class="cx">         CTFontSymbolicTraits traits = CTFontGetSymbolicTraits(toCTFontRef(m_font));
</span><span class="cx">         m_isColorBitmapFont = traits &amp; kCTFontColorGlyphsTrait;
</span><del>-#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</del><span class="cx">         m_isCompositeFontReference = traits &amp; kCTFontCompositeTrait;
</span><del>-#endif
</del><span class="cx">     }
</span><span class="cx">     m_CTFont = 0;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsgstreamerWebKitWebSourceGStreamercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -874,6 +874,9 @@
</span><span class="cx">     priv-&gt;size = length &gt;= 0 ? length : 0;
</span><span class="cx">     priv-&gt;seekable = length &gt; 0 &amp;&amp; g_ascii_strcasecmp(&quot;none&quot;, response.httpHeaderField(&quot;Accept-Ranges&quot;).utf8().data());
</span><span class="cx"> 
</span><ins>+    // Wait until we unlock to send notifications
+    g_object_freeze_notify(G_OBJECT(src));
+
</ins><span class="cx">     GstTagList* tags = gst_tag_list_new_empty();
</span><span class="cx">     String value = response.httpHeaderField(&quot;icy-name&quot;);
</span><span class="cx">     if (!value.isEmpty()) {
</span><span class="lines">@@ -905,6 +908,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     locker.unlock();
</span><ins>+    g_object_thaw_notify(G_OBJECT(src));
</ins><span class="cx"> 
</span><span class="cx">     // notify size/duration
</span><span class="cx">     if (length &gt; 0) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsmacColorMach"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/mac/ColorMac.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/mac/ColorMac.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/mac/ColorMac.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,13 +31,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;Color.h&quot;
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#if USE(APPKIT)
</ins><span class="cx"> OBJC_CLASS NSColor;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#if USE(APPKIT)
</ins><span class="cx">     // These functions assume NSColors are in DeviceRGB colorspace
</span><span class="cx">     Color colorFromNSColor(NSColor *);
</span><span class="cx">     NSColor *nsColor(const Color&amp;);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsmacFontCustomPlatformDatacpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/mac/FontCustomPlatformData.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,11 +23,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;FontPlatformData.h&quot;
</span><span class="cx"> #include &quot;SharedBuffer.h&quot;
</span><del>-#if !PLATFORM(IOS)
-#include &lt;ApplicationServices/ApplicationServices.h&gt;
-#else
</del><span class="cx"> #include &lt;CoreGraphics/CoreGraphics.h&gt;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsmacImageMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/mac/ImageMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/mac/ImageMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/mac/ImageMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     if (m_frames.size() != 1)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#if USE(APPKIT)
</ins><span class="cx">     m_nsImage = 0;
</span><span class="cx"> #endif
</span><span class="cx">     m_tiffRep = 0;
</span><span class="lines">@@ -84,9 +84,9 @@
</span><span class="cx"> {
</span><span class="cx">     if (m_tiffRep)
</span><span class="cx">         return m_tiffRep.get();
</span><del>-    
</del><ins>+
</ins><span class="cx">     unsigned numFrames = frameCount();
</span><del>-    
</del><ins>+
</ins><span class="cx">     // If numFrames is zero, we know for certain this image doesn't have valid data
</span><span class="cx">     // Even though the call to CGImageDestinationCreateWithData will fail and we'll handle it gracefully,
</span><span class="cx">     // in certain circumstances that call will spam the console with an error message
</span><span class="lines">@@ -101,13 +101,13 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     unsigned numValidFrames = images.size();
</span><del>-    
</del><ins>+
</ins><span class="cx">     RetainPtr&lt;CFMutableDataRef&gt; data = adoptCF(CFDataCreateMutable(0, 0));
</span><span class="cx">     RetainPtr&lt;CGImageDestinationRef&gt; destination = adoptCF(CGImageDestinationCreateWithData(data.get(), kUTTypeTIFF, numValidFrames, 0));
</span><span class="cx"> 
</span><span class="cx">     if (!destination)
</span><span class="cx">         return 0;
</span><del>-    
</del><ins>+
</ins><span class="cx">     for (unsigned i = 0; i &lt; numValidFrames; ++i)
</span><span class="cx">         CGImageDestinationAddImage(destination.get(), images[i], 0);
</span><span class="cx"> 
</span><span class="lines">@@ -117,7 +117,7 @@
</span><span class="cx">     return m_tiffRep.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if !PLATFORM(IOS)
</del><ins>+#if USE(APPKIT)
</ins><span class="cx"> NSImage* BitmapImage::getNSImage()
</span><span class="cx"> {
</span><span class="cx">     if (m_nsImage)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicsmacWebLayermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/mac/WebLayer.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/mac/WebLayer.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/mac/WebLayer.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,9 +32,6 @@
</span><span class="cx"> #import &quot;GraphicsContext.h&quot;
</span><span class="cx"> #import &quot;GraphicsLayerCA.h&quot;
</span><span class="cx"> #import &quot;PlatformCALayer.h&quot;
</span><del>-#if !PLATFORM(IOS)
-#import &quot;ThemeMac.h&quot;
-#endif
</del><span class="cx"> #import &lt;QuartzCore/QuartzCore.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="lines">@@ -43,6 +40,10 @@
</span><span class="cx"> #import &quot;WebCoreThread.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+#import &quot;ThemeMac.h&quot;
+#endif
+
</ins><span class="cx"> @interface CALayer(WebCoreCALayerPrivate)
</span><span class="cx"> - (void)reloadValueForKeyPath:(NSString *)keyPath;
</span><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicswinFontCacheWincpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/win/FontCacheWin.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/win/FontCacheWin.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/win/FontCacheWin.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #include &quot;Font.h&quot;
</span><span class="cx"> #include &quot;HWndDC.h&quot;
</span><span class="cx"> #include &quot;SimpleFontData.h&quot;
</span><del>-#include &quot;UnicodeRange.h&quot;
</del><span class="cx"> #include &lt;mlang.h&gt;
</span><span class="cx"> #include &lt;windows.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="lines">@@ -201,7 +200,7 @@
</span><span class="cx">         DWORD codePages = 0;
</span><span class="cx">         langFontLink-&gt;GetCharCodePages(character, &amp;codePages);
</span><span class="cx"> 
</span><del>-        if (codePages &amp;&amp; findCharUnicodeRange(character) == cRangeSetCJK) {
</del><ins>+        if (codePages &amp;&amp; u_getIntPropertyValue(character, UCHAR_UNIFIED_IDEOGRAPH)) {
</ins><span class="cx">             // The CJK character may belong to multiple code pages. We want to
</span><span class="cx">             // do font linking against a single one of them, preferring the default
</span><span class="cx">             // code page for the user's locale.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicswinceFontCacheWinCEcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/wince/FontCacheWinCE.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/wince/FontCacheWinCE.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/wince/FontCacheWinCE.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,9 +33,7 @@
</span><span class="cx"> #include &quot;Font.h&quot;
</span><span class="cx"> #include &quot;FontData.h&quot;
</span><span class="cx"> #include &quot;SimpleFontData.h&quot;
</span><del>-#include &quot;UnicodeRange.h&quot;
-#include &quot;wtf/OwnPtr.h&quot;
-
</del><ins>+#include &lt;wtf/OwnPtr.h&gt;
</ins><span class="cx"> #include &lt;windows.h&gt;
</span><span class="cx"> #include &lt;mlang.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -210,7 +208,6 @@
</span><span class="cx"> 
</span><span class="cx">     UChar character = characters[0];
</span><span class="cx">     const FontPlatformData&amp; origFont = originalFontData-&gt;platformData();
</span><del>-    unsigned unicodeRange = findCharUnicodeRange(character);
</del><span class="cx"> 
</span><span class="cx">     if (IMLangFontLinkType* langFontLink = getFontLinkInterface()) {
</span><span class="cx">         HGDIOBJ oldFont = GetCurrentObject(g_screenDC, OBJ_FONT);
</span><span class="lines">@@ -219,7 +216,7 @@
</span><span class="cx">         UINT codePage = 0;
</span><span class="cx">         // Try MLang font linking first.
</span><span class="cx">         langFontLink-&gt;GetCharCodePages(character, &amp;codePages);
</span><del>-        if (codePages &amp;&amp; unicodeRange == cRangeSetCJK) {
</del><ins>+        if (codePages &amp;&amp; u_getIntPropertyValue(character, UCHAR_UNIFIED_IDEOGRAPH)) {
</ins><span class="cx">             // The CJK character may belong to multiple code pages. We want to
</span><span class="cx">             // do font linking against a single one of them, preferring the default
</span><span class="cx">             // code page for the user's locale.
</span><span class="lines">@@ -266,7 +263,7 @@
</span><span class="cx">     if (!familyName.isEmpty()) {
</span><span class="cx">         // FIXME: temporary workaround for Thai font problem
</span><span class="cx">         FontDescription fontDescription(description);
</span><del>-        if (unicodeRange == cRangeThai &amp;&amp; fontDescription.weight() &gt; FontWeightNormal)
</del><ins>+        if (ublock_getCode(c) == UBLOCK_THAI &amp;&amp; fontDescription.weight() &gt; FontWeightNormal)
</ins><span class="cx">             fontDescription.setWeight(FontWeightNormal);
</span><span class="cx"> 
</span><span class="cx">         FontPlatformData* result = getCachedFontPlatformData(fontDescription, familyName);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgraphicswinceFontPlatformDatacpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;FontCache.h&quot;
</span><span class="cx"> #include &quot;FontData.h&quot;
</span><span class="cx"> #include &quot;SimpleFontData.h&quot;
</span><del>-#include &quot;UnicodeRange.h&quot;
</del><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringHash.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformgtkPasteboardGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/gtk/PasteboardGtk.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/gtk/PasteboardGtk.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/gtk/PasteboardGtk.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -207,7 +207,7 @@
</span><span class="cx"> 
</span><span class="cx"> void Pasteboard::writeImage(Element&amp; element, const URL&amp;, const String&amp; title)
</span><span class="cx"> {
</span><del>-    if (!(element.renderer() &amp;&amp; element.renderer()-&gt;isImage()))
</del><ins>+    if (!(element.renderer() &amp;&amp; element.renderer()-&gt;isRenderImage()))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RenderImage* renderer = toRenderImage(element.renderer());
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformmacThemeMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/mac/ThemeMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/mac/ThemeMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/mac/ThemeMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -659,7 +659,7 @@
</span><span class="cx">             // This also guarantees the HTML &lt;button&gt; will match our rendering by default, since we're using a consistent
</span><span class="cx">             // padding.
</span><span class="cx">             const int padding = 8 * zoomFactor;
</span><del>-            return LengthBox(0, padding, 0, padding);
</del><ins>+            return LengthBox(2, padding, 3, padding);
</ins><span class="cx">         }
</span><span class="cx">         default:
</span><span class="cx">             return Theme::controlPadding(part, font, zoomedBox, zoomFactor);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformnetworkcfSocketStreamHandleh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/network/cf/SocketStreamHandle.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/network/cf/SocketStreamHandle.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/network/cf/SocketStreamHandle.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;AuthenticationClient.h&quot;
</span><span class="cx"> #include &quot;SocketStreamHandleBase.h&quot;
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><ins>+#include &lt;wtf/ThreadSafeRefCounted.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> typedef struct __CFHTTPMessage* CFHTTPMessageRef;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformnetworkcurlCurlDownloadh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/network/curl/CurlDownload.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/network/curl/CurlDownload.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/network/curl/CurlDownload.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><span class="cx"> #include &quot;ResourceHandle.h&quot;
</span><span class="cx"> #include &quot;ResourceResponse.h&quot;
</span><ins>+#include &lt;wtf/Threading.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="cx"> #include &lt;windows.h&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackercpp"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.cpp (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.cpp                                (rev 0)
+++ branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,87 @@
</span><ins>+/*
+ * Copyright (C) 2010, 2012 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. ``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
+ * 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 &quot;config.h&quot;
+#include &quot;SQLiteDatabaseTracker.h&quot;
+
+#include &lt;mutex&gt;
+#include &lt;wtf/NeverDestroyed.h&gt;
+
+namespace WebCore {
+
+namespace SQLiteDatabaseTracker {
+
+static SQLiteDatabaseTrackerClient* s_staticSQLiteDatabaseTrackerClient = nullptr;
+static unsigned s_transactionInProgressCounter = 0;
+
+static std::mutex&amp; transactionInProgressMutex()
+{
+    static NeverDestroyed&lt;std::mutex&gt; tipMutex;
+    return tipMutex;
+}
+
+void setClient(SQLiteDatabaseTrackerClient* client)
+{
+    ASSERT(client);
+    ASSERT(!s_staticSQLiteDatabaseTrackerClient || s_staticSQLiteDatabaseTrackerClient == client);
+    s_staticSQLiteDatabaseTrackerClient = client;
+}
+
+void incrementTransactionInProgressCount()
+{
+    if (!s_staticSQLiteDatabaseTrackerClient)
+        return;
+
+    std::lock_guard&lt;std::mutex&gt; lock(transactionInProgressMutex());
+
+    s_transactionInProgressCounter++;
+    if (s_transactionInProgressCounter == 1)
+        s_staticSQLiteDatabaseTrackerClient-&gt;willBeginFirstTransaction();
+}
+
+void decrementTransactionInProgressCount()
+{
+    if (!s_staticSQLiteDatabaseTrackerClient)
+        return;
+
+    std::lock_guard&lt;std::mutex&gt; lock(transactionInProgressMutex());
+
+    ASSERT(s_transactionInProgressCounter);
+    s_transactionInProgressCounter--;
+
+    if (!s_transactionInProgressCounter)
+        s_staticSQLiteDatabaseTrackerClient-&gt;didFinishLastTransaction();
+}
+
+#if !ASSERT_DISABLED
+bool hasTransactionInProgress()
+{
+    return !s_staticSQLiteDatabaseTrackerClient || s_transactionInProgressCounter &gt; 0;
+}
+#endif
+
+} // namespace SQLiteDatabaseTracker
+
+} // namespace WebCore
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackerh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTracker.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,60 @@
</span><ins>+/*
+ * Copyright (C) 2010, 2012 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. ``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
+ * 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 SQLiteDatabaseTracker_h
+#define SQLiteDatabaseTracker_h
+
+#include &quot;SQLiteDatabaseTrackerClient.h&quot;
+
+namespace WebCore {
+
+namespace SQLiteDatabaseTracker {
+
+void decrementTransactionInProgressCount();
+void incrementTransactionInProgressCount();
+
+void setClient(SQLiteDatabaseTrackerClient*);
+
+#if !ASSERT_DISABLED
+bool hasTransactionInProgress();
+#endif
+
+};
+
+class SQLiteTransactionInProgressAutoCounter {
+public:
+    SQLiteTransactionInProgressAutoCounter()
+    {
+        SQLiteDatabaseTracker::incrementTransactionInProgressCount();
+    }
+    ~SQLiteTransactionInProgressAutoCounter()
+    {
+        SQLiteDatabaseTracker::decrementTransactionInProgressCount();
+    }
+};
+
+} // namespace WebCore
+
+#endif // SQLiteDatabaseTracker_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqlSQLiteDatabaseTrackerClienth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTrackerClient.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTrackerClient.h                                (rev 0)
+++ branches/jsCStack/Source/WebCore/platform/sql/SQLiteDatabaseTrackerClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+ * Copyright (C) 2010 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. ``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
+ * 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 SQLiteDatabaseTrackerClient_h
+#define SQLiteDatabaseTrackerClient_h
+
+namespace WebCore {
+
+class SQLiteDatabaseTrackerClient {
+public:
+    virtual ~SQLiteDatabaseTrackerClient() { }
+
+    virtual void willBeginFirstTransaction() = 0;
+    virtual void didFinishLastTransaction() = 0;
+};
+
+} // namespace WebCore
+
+#endif // SQLiteDatabaseTrackerClient_h
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,86 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010, 2012 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. ``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
- * 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 &quot;config.h&quot;
-#include &quot;SQLiteDatabaseTracker.h&quot;
-
-#include &lt;wtf/NeverDestroyed.h&gt;
-#include &lt;wtf/StdLibExtras.h&gt;
-#include &lt;wtf/ThreadingPrimitives.h&gt;
-
-namespace WebCore {
-
-namespace SQLiteDatabaseTracker {
-
-static SQLiteDatabaseTrackerClient* s_staticSQLiteDatabaseTrackerClient = 0;
-static unsigned s_transactionInProgressCounter = 0;
-
-static Mutex&amp; transactionInProgressMutex()
-{
-    static NeverDestroyed&lt;Mutex&gt; tipMutex;
-    return tipMutex;
-}
-
-void setClient(SQLiteDatabaseTrackerClient* client)
-{
-    ASSERT(client);
-    ASSERT(!s_staticSQLiteDatabaseTrackerClient || s_staticSQLiteDatabaseTrackerClient == client);
-    s_staticSQLiteDatabaseTrackerClient = client;
-}
-
-void incrementTransactionInProgressCount()
-{
-    if (!s_staticSQLiteDatabaseTrackerClient)
-        return;
-    MutexLocker lock(transactionInProgressMutex());
-
-    s_transactionInProgressCounter++;
-    if (s_transactionInProgressCounter == 1)
-        s_staticSQLiteDatabaseTrackerClient-&gt;willBeginFirstTransaction();
-}
-
-void decrementTransactionInProgressCount()
-{
-    if (!s_staticSQLiteDatabaseTrackerClient)
-        return;
-    MutexLocker lock(transactionInProgressMutex());
-
-    ASSERT(s_transactionInProgressCounter);
-    s_transactionInProgressCounter--;
-
-    if (!s_transactionInProgressCounter)
-        s_staticSQLiteDatabaseTrackerClient-&gt;didFinishLastTransaction();
-}
-
-#if !ASSERT_DISABLED
-bool hasTransactionInProgress()
-{
-    return !s_staticSQLiteDatabaseTrackerClient || s_transactionInProgressCounter &gt; 0;
-}
-#endif // !ASSERT_DISABLED
-
-} // namespace SQLiteDatabaseTracker
-
-} // namespace WebCore
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,61 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010, 2012 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. ``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
- * 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 SQLiteDatabaseTracker_h
-#define SQLiteDatabaseTracker_h
-
-#include &quot;SQLiteDatabaseTrackerClient.h&quot;
-#include &lt;wtf/Noncopyable.h&gt;
-
-namespace WebCore {
-
-namespace SQLiteDatabaseTracker {
-
-void decrementTransactionInProgressCount();
-void incrementTransactionInProgressCount();
-
-void setClient(SQLiteDatabaseTrackerClient*);
-
-#if !ASSERT_DISABLED
-bool hasTransactionInProgress();
-#endif // !ASSERT_DISABLED
-
-};
-
-class SQLiteTransactionInProgressAutoCounter {
-public:
-    SQLiteTransactionInProgressAutoCounter()
-    {
-        SQLiteDatabaseTracker::incrementTransactionInProgressCount();
-    }
-    ~SQLiteTransactionInProgressAutoCounter()
-    {
-        SQLiteDatabaseTracker::decrementTransactionInProgressCount();
-    }
-};
-
-} // namespace WebCore
-
-#endif // SQLiteDatabaseTracker_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformsqliosSQLiteDatabaseTrackerClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,41 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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. ``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
- * 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 SQLiteDatabaseTrackerClient_h
-#define SQLiteDatabaseTrackerClient_h
-
-namespace WebCore {
-
-class SQLiteDatabaseTrackerClient {
-public:
-    virtual ~SQLiteDatabaseTrackerClient() { }
-
-    virtual void willBeginFirstTransaction() = 0;
-    virtual void didFinishLastTransaction() = 0;
-};
-
-} // namespace WebCore
-
-#endif // SQLiteDatabaseTrackerClient_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextTextBreakIteratorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/TextBreakIterator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/TextBreakIterator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/TextBreakIterator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> #include &quot;LineBreakIteratorPoolICU.h&quot;
</span><span class="cx"> #include &quot;UTextProviderLatin1.h&quot;
</span><span class="cx"> #include &quot;UTextProviderUTF16.h&quot;
</span><ins>+#include &lt;mutex&gt;
</ins><span class="cx"> #include &lt;wtf/Atomics.h&gt;
</span><span class="cx"> #include &lt;wtf/text/StringView.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="lines">@@ -276,8 +277,8 @@
</span><span class="cx"> #if ENABLE(COMPARE_AND_SWAP)
</span><span class="cx">     return WTF::weakCompareAndSwap(reinterpret_cast&lt;void**&gt;(&amp;nonSharedCharacterBreakIterator), expected, newValue);
</span><span class="cx"> #else
</span><del>-    DEFINE_STATIC_LOCAL(Mutex, nonSharedCharacterBreakIteratorMutex, ());
-    MutexLocker locker(nonSharedCharacterBreakIteratorMutex);
</del><ins>+    DEFINE_STATIC_LOCAL(std::mutex, nonSharedCharacterBreakIteratorMutex, ());
+    std::lock_guard&lt;std::mutex&gt; locker(nonSharedCharacterBreakIteratorMutex);
</ins><span class="cx">     if (nonSharedCharacterBreakIterator != expected)
</span><span class="cx">         return false;
</span><span class="cx">     nonSharedCharacterBreakIterator = newValue;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextTextCodecICUcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/TextCodecICU.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/TextCodecICU.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/TextCodecICU.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx"> #include &quot;TextCodecICU.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;TextEncoding.h&quot;
</span><span class="lines">@@ -542,5 +541,3 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span><del>-#endif
-
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextTextEncodingcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/TextEncoding.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/TextEncoding.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/TextEncoding.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,15 +30,12 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;TextCodec.h&quot;
</span><span class="cx"> #include &quot;TextEncodingRegistry.h&quot;
</span><ins>+#include &lt;unicode/unorm.h&gt;
</ins><span class="cx"> #include &lt;wtf/OwnPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
-#include &lt;unicode/unorm.h&gt;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static const TextEncoding&amp; UTF7Encoding()
</span><span class="lines">@@ -75,7 +72,6 @@
</span><span class="cx">     if (!length)
</span><span class="cx">         return &quot;&quot;;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">     // FIXME: What's the right place to do normalization?
</span><span class="cx">     // It's a little strange to do it inside the encode function.
</span><span class="cx">     // Perhaps normalization should be an explicit step done before calling encode.
</span><span class="lines">@@ -101,11 +97,6 @@
</span><span class="cx">         sourceLength = normalizedLength;
</span><span class="cx">     }
</span><span class="cx">     return newTextCodec(*this)-&gt;encode(source, sourceLength, handling);
</span><del>-#elif OS(WINDOWS) &amp;&amp; USE(WCHAR_UNICODE)
-    // normalization will be done by Windows CE API
-    OwnPtr&lt;TextCodec&gt; textCodec = newTextCodec(*this);
-    return textCodec.get() ? textCodec-&gt;encode(characters, length, handling) : CString();
-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> const char* TextEncoding::domName() const
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextTextEncodingRegistrycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/TextEncodingRegistry.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/TextEncodingRegistry.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/TextEncodingRegistry.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;TextEncodingRegistry.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;TextCodecICU.h&quot;
</ins><span class="cx"> #include &quot;TextCodecLatin1.h&quot;
</span><span class="cx"> #include &quot;TextCodecUserDefined.h&quot;
</span><span class="cx"> #include &quot;TextCodecUTF16.h&quot;
</span><span class="lines">@@ -41,15 +42,9 @@
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="cx"> 
</span><del>-#if USE(ICU_UNICODE)
-#include &quot;TextCodecICU.h&quot;
-#endif
</del><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx"> #include &quot;TextCodecMac.h&quot;
</span><span class="cx"> #endif
</span><del>-#if OS(WINDOWS) &amp;&amp; USE(WCHAR_UNICODE)
-#include &quot;win/TextCodecWin.h&quot;
-#endif
</del><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="lines">@@ -281,21 +276,14 @@
</span><span class="cx"> 
</span><span class="cx"> static void extendTextCodecMaps()
</span><span class="cx"> {
</span><del>-#if USE(ICU_UNICODE)
</del><span class="cx">     TextCodecICU::registerEncodingNames(addToTextEncodingNameMap);
</span><span class="cx">     TextCodecICU::registerCodecs(addToTextCodecMap);
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</span><span class="cx">     TextCodecMac::registerEncodingNames(addToTextEncodingNameMap);
</span><span class="cx">     TextCodecMac::registerCodecs(addToTextCodecMap);
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if OS(WINDOWS) &amp;&amp; USE(WCHAR_UNICODE)
-    TextCodecWin::registerExtendedEncodingNames(addToTextEncodingNameMap);
-    TextCodecWin::registerExtendedCodecs(addToTextCodecMap);
-#endif
-
</del><span class="cx">     pruneBlacklistedCodecs();
</span><span class="cx">     buildQuirksSets();
</span><span class="cx"> }
</span><span class="lines">@@ -353,7 +341,7 @@
</span><span class="cx">     if (alias.is8Bit())
</span><span class="cx">         return atomicCanonicalTextEncodingName&lt;LChar&gt;(alias.characters8(), alias.length());
</span><span class="cx"> 
</span><del>-    return atomicCanonicalTextEncodingName&lt;UChar&gt;(alias.characters(), alias.length());
</del><ins>+    return atomicCanonicalTextEncodingName&lt;UChar&gt;(alias.deprecatedCharacters(), alias.length());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool noExtendedTextEncodingNameUsed()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextUnicodeRangecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,462 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007 Apple Computer, Inc.
- *
- * Portions are Copyright (C) 1998 Netscape Communications Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- * Alternatively, the contents of this file may be used under the terms
- * of either the Mozilla Public License Version 1.1, found at
- * http://www.mozilla.org/MPL/ (the &quot;MPL&quot;) or the GNU General Public
- * License Version 2.0, found at http://www.fsf.org/copyleft/gpl.html
- * (the &quot;GPL&quot;), in which case the provisions of the MPL or the GPL are
- * applicable instead of those above.  If you wish to allow use of your
- * version of this file only under the terms of one of those two
- * licenses (the MPL or the GPL) and not to allow others to use your
- * version of this file under the LGPL, indicate your decision by
- * deletingthe provisions above and replace them with the notice and
- * other provisions required by the MPL or the GPL, as the case may be.
- * If you do not delete the provisions above, a recipient may use your
- * version of this file under any of the LGPL, the MPL or the GPL.
- */
-
-#include &quot;config.h&quot;
-#include &quot;UnicodeRange.h&quot;
-
-namespace WebCore {
-
-// This table depends on unicode range definitions. 
-// Each item's index must correspond to a unicode range value
-// eg. x-cyrillic = LangGroupTable[cRangeCyrillic]
-static const char* const gUnicodeRangeToLangGroupTable[] =
-{
-  &quot;x-cyrillic&quot;,
-  &quot;el&quot;,
-  &quot;tr&quot;,
-  &quot;he&quot;,
-  &quot;ar&quot;,
-  &quot;x-baltic&quot;,
-  &quot;th&quot;,
-  &quot;ko&quot;,
-  &quot;ja&quot;,
-  &quot;zh-CN&quot;,
-  &quot;zh-TW&quot;,
-  &quot;x-devanagari&quot;,
-  &quot;x-tamil&quot;,
-  &quot;x-armn&quot;,
-  &quot;x-beng&quot;,
-  &quot;x-cans&quot;,
-  &quot;x-ethi&quot;,
-  &quot;x-geor&quot;,
-  &quot;x-gujr&quot;,
-  &quot;x-guru&quot;,
-  &quot;x-khmr&quot;,
-  &quot;x-mlym&quot;
-};
-
-/**********************************************************************
- * Unicode subranges as defined in unicode 3.0
- * x-western, x-central-euro, tr, x-baltic  -&gt; latin 
- *  0000 - 036f 
- *  1e00 - 1eff
- *  2000 - 206f  (general punctuation)
- *  20a0 - 20cf  (currency symbols)
- *  2100 - 214f  (letterlike symbols)
- *  2150 - 218f  (Number Forms)
- * el         -&gt; greek
- *  0370 - 03ff
- *  1f00 - 1fff
- * x-cyrillic -&gt; cyrillic
- *  0400 - 04ff
- * he         -&gt; hebrew
- *  0590 - 05ff
- * ar         -&gt; arabic
- *  0600 - 06ff
- *  fb50 - fdff (arabic presentation forms)
- *  fe70 - feff (arabic presentation forms b)
- * th - thai
- *  0e00 - 0e7f
- * ko        -&gt; korean
- *  ac00 - d7af  (hangul Syllables)
- *  1100 - 11ff    (jamo)
- *  3130 - 318f (hangul compatibility jamo)
- * ja
- *  3040 - 309f (hiragana)
- *  30a0 - 30ff (katakana)
- * zh-CN
- * zh-TW
- *
- * CJK
- *  3100 - 312f (bopomofo)
- *  31a0 - 31bf (bopomofo extended)
- *  3000 - 303f (CJK Symbols and Punctuation) 
- *  2e80 - 2eff (CJK radicals supplement)
- *  2f00 - 2fdf (Kangxi Radicals)
- *  2ff0 - 2fff (Ideographic Description Characters)
- *  3190 - 319f (kanbun)
- *  3200 - 32ff (Enclosed CJK letters and Months)
- *  3300 - 33ff (CJK compatibility)
- *  3400 - 4dbf (CJK Unified Ideographs Extension A)
- *  4e00 - 9faf (CJK Unified Ideographs)
- *  f900 - fa5f (CJK Compatibility Ideographs)
- *  fe30 - fe4f (CJK compatibility Forms)
- *  ff00 - ffef (halfwidth and fullwidth forms)
- *
- * Armenian
- *  0530 - 058f 
- * Sriac 
- *  0700 - 074f
- * Thaana
- *  0780 - 07bf
- * Devanagari
- *  0900 - 097f
- * Bengali
- *  0980 - 09ff
- * Gurmukhi
- *  0a00 - 0a7f
- * Gujarati
- *  0a80 - 0aff
- * Oriya
- *  0b00 - 0b7f
- * Tamil
- *  0b80 - 0bff
- * Telugu
- *  0c00 - 0c7f
- * Kannada
- *  0c80 - 0cff
- * Malayalam
- *  0d00 - 0d7f
- * Sinhala
- *  0d80 - 0def
- * Lao
- *  0e80 - 0eff
- * Tibetan
- *  0f00 - 0fbf
- * Myanmar
- *  1000 - 109f
- * Georgian
- *  10a0 - 10ff
- * Ethiopic
- *  1200 - 137f
- * Cherokee
- *  13a0 - 13ff
- * Canadian Aboriginal Syllabics
- *  1400 - 167f
- * Ogham
- *  1680 - 169f
- * Runic 
- *  16a0 - 16ff
- * Khmer
- *  1780 - 17ff
- * Mongolian
- *  1800 - 18af
- * Misc - superscripts and subscripts
- *  2070 - 209f
- * Misc - Combining Diacritical Marks for Symbols
- *  20d0 - 20ff
- * Misc - Arrows
- *  2190 - 21ff
- * Misc - Mathematical Operators
- *  2200 - 22ff
- * Misc - Miscellaneous Technical
- *  2300 - 23ff
- * Misc - Control picture
- *  2400 - 243f
- * Misc - Optical character recognition
- *  2440 - 2450
- * Misc - Enclose Alphanumerics
- *  2460 - 24ff
- * Misc - Box Drawing 
- *  2500 - 257f
- * Misc - Block Elements
- *  2580 - 259f
- * Misc - Geometric Shapes
- *  25a0 - 25ff
- * Misc - Miscellaneous Symbols
- *  2600 - 267f
- * Misc - Dingbats
- *  2700 - 27bf
- * Misc - Braille Patterns
- *  2800 - 28ff
- * Yi Syllables
- *  a000 - a48f
- * Yi radicals
- *  a490 - a4cf
- * Alphabetic Presentation Forms
- *  fb00 - fb4f
- * Misc - Combining half Marks
- *  fe20 - fe2f
- * Misc - small form variants
- *  fe50 - fe6f
- * Misc - Specials
- *  fff0 - ffff
- *********************************************************************/
-
-static const unsigned cNumSubTables = 9;
-static const unsigned cSubTableSize = 16;
-
-static const unsigned char gUnicodeSubrangeTable[cNumSubTables][cSubTableSize] = 
-{ 
-  { // table for X---
-    cRangeTableBase+1,  //u0xxx
-    cRangeTableBase+2,  //u1xxx
-    cRangeTableBase+3,  //u2xxx
-    cRangeSetCJK,       //u3xxx
-    cRangeSetCJK,       //u4xxx
-    cRangeSetCJK,       //u5xxx
-    cRangeSetCJK,       //u6xxx
-    cRangeSetCJK,       //u7xxx
-    cRangeSetCJK,       //u8xxx
-    cRangeSetCJK,       //u9xxx
-    cRangeTableBase+4,  //uaxxx
-    cRangeKorean,       //ubxxx
-    cRangeKorean,       //ucxxx
-    cRangeTableBase+5,  //udxxx
-    cRangePrivate,      //uexxx
-    cRangeTableBase+6   //ufxxx
-  },
-  { //table for 0X--
-    cRangeSetLatin,          //u00xx
-    cRangeSetLatin,          //u01xx
-    cRangeSetLatin,          //u02xx
-    cRangeGreek,             //u03xx     XXX 0300-036f is in fact cRangeCombiningDiacriticalMarks
-    cRangeCyrillic,          //u04xx
-    cRangeTableBase+7,       //u05xx, includes Cyrillic supplement, Hebrew, and Armenian
-    cRangeArabic,            //u06xx
-    cRangeTertiaryTable,     //u07xx
-    cRangeUnassigned,        //u08xx
-    cRangeTertiaryTable,     //u09xx
-    cRangeTertiaryTable,     //u0axx
-    cRangeTertiaryTable,     //u0bxx
-    cRangeTertiaryTable,     //u0cxx
-    cRangeTertiaryTable,     //u0dxx
-    cRangeTertiaryTable,     //u0exx
-    cRangeTibetan,           //u0fxx
-  },
-  { //table for 1x--
-    cRangeTertiaryTable,     //u10xx
-    cRangeKorean,            //u11xx
-    cRangeEthiopic,          //u12xx
-    cRangeTertiaryTable,     //u13xx
-    cRangeCanadian,          //u14xx
-    cRangeCanadian,          //u15xx
-    cRangeTertiaryTable,     //u16xx
-    cRangeKhmer,             //u17xx
-    cRangeMongolian,         //u18xx
-    cRangeUnassigned,        //u19xx
-    cRangeUnassigned,        //u1axx
-    cRangeUnassigned,        //u1bxx
-    cRangeUnassigned,        //u1cxx
-    cRangeUnassigned,        //u1dxx
-    cRangeSetLatin,          //u1exx
-    cRangeGreek,             //u1fxx
-  },
-  { //table for 2x--
-    cRangeSetLatin,          //u20xx
-    cRangeSetLatin,          //u21xx
-    cRangeMathOperators,     //u22xx
-    cRangeMiscTechnical,     //u23xx
-    cRangeControlOpticalEnclose, //u24xx
-    cRangeBoxBlockGeometrics, //u25xx
-    cRangeMiscSymbols,       //u26xx
-    cRangeDingbats,          //u27xx
-    cRangeBraillePattern,    //u28xx
-    cRangeUnassigned,        //u29xx
-    cRangeUnassigned,        //u2axx
-    cRangeUnassigned,        //u2bxx
-    cRangeUnassigned,        //u2cxx
-    cRangeUnassigned,        //u2dxx
-    cRangeSetCJK,            //u2exx
-    cRangeSetCJK,            //u2fxx
-  },
-  {  //table for ax--
-    cRangeYi,                //ua0xx
-    cRangeYi,                //ua1xx
-    cRangeYi,                //ua2xx
-    cRangeYi,                //ua3xx
-    cRangeYi,                //ua4xx
-    cRangeUnassigned,        //ua5xx
-    cRangeUnassigned,        //ua6xx
-    cRangeUnassigned,        //ua7xx
-    cRangeUnassigned,        //ua8xx
-    cRangeUnassigned,        //ua9xx
-    cRangeUnassigned,        //uaaxx
-    cRangeUnassigned,        //uabxx
-    cRangeKorean,            //uacxx
-    cRangeKorean,            //uadxx
-    cRangeKorean,            //uaexx
-    cRangeKorean,            //uafxx
-  },
-  {  //table for dx--
-    cRangeKorean,            //ud0xx
-    cRangeKorean,            //ud1xx
-    cRangeKorean,            //ud2xx
-    cRangeKorean,            //ud3xx
-    cRangeKorean,            //ud4xx
-    cRangeKorean,            //ud5xx
-    cRangeKorean,            //ud6xx
-    cRangeKorean,            //ud7xx
-    cRangeSurrogate,         //ud8xx
-    cRangeSurrogate,         //ud9xx
-    cRangeSurrogate,         //udaxx
-    cRangeSurrogate,         //udbxx
-    cRangeSurrogate,         //udcxx
-    cRangeSurrogate,         //uddxx
-    cRangeSurrogate,         //udexx
-    cRangeSurrogate,         //udfxx
-  },
-  { // table for fx--
-    cRangePrivate,           //uf0xx 
-    cRangePrivate,           //uf1xx 
-    cRangePrivate,           //uf2xx 
-    cRangePrivate,           //uf3xx 
-    cRangePrivate,           //uf4xx 
-    cRangePrivate,           //uf5xx 
-    cRangePrivate,           //uf6xx 
-    cRangePrivate,           //uf7xx 
-    cRangePrivate,           //uf8xx 
-    cRangeSetCJK,            //uf9xx 
-    cRangeSetCJK,            //ufaxx 
-    cRangeArabic,            //ufbxx, includes alphabic presentation form
-    cRangeArabic,            //ufcxx
-    cRangeArabic,            //ufdxx
-    cRangeArabic,            //ufexx, includes Combining half marks, 
-                             //                CJK compatibility forms, 
-                             //                CJK compatibility forms, 
-                             //                small form variants
-    cRangeTableBase+8,       //uffxx, halfwidth and fullwidth forms, includes Specials
-  },
-  { //table for 0x0500 - 0x05ff
-    cRangeCyrillic,          //u050x
-    cRangeCyrillic,          //u051x
-    cRangeCyrillic,          //u052x
-    cRangeArmenian,          //u053x
-    cRangeArmenian,          //u054x
-    cRangeArmenian,          //u055x
-    cRangeArmenian,          //u056x
-    cRangeArmenian,          //u057x
-    cRangeArmenian,          //u058x
-    cRangeHebrew,            //u059x
-    cRangeHebrew,            //u05ax
-    cRangeHebrew,            //u05bx
-    cRangeHebrew,            //u05cx
-    cRangeHebrew,            //u05dx
-    cRangeHebrew,            //u05ex
-    cRangeHebrew,            //u05fx
-  },
-  { //table for 0xff00 - 0xffff
-    cRangeSetCJK,            //uff0x, fullwidth latin
-    cRangeSetCJK,            //uff1x, fullwidth latin
-    cRangeSetCJK,            //uff2x, fullwidth latin
-    cRangeSetCJK,            //uff3x, fullwidth latin
-    cRangeSetCJK,            //uff4x, fullwidth latin
-    cRangeSetCJK,            //uff5x, fullwidth latin
-    cRangeSetCJK,            //uff6x, halfwidth katakana
-    cRangeSetCJK,            //uff7x, halfwidth katakana
-    cRangeSetCJK,            //uff8x, halfwidth katakana
-    cRangeSetCJK,            //uff9x, halfwidth katakana
-    cRangeSetCJK,            //uffax, halfwidth hangul jamo
-    cRangeSetCJK,            //uffbx, halfwidth hangul jamo
-    cRangeSetCJK,            //uffcx, halfwidth hangul jamo
-    cRangeSetCJK,            //uffdx, halfwidth hangul jamo
-    cRangeSetCJK,            //uffex, fullwidth symbols
-    cRangeSpecials,          //ufffx, Specials
-  },
-};
-
-// Most scripts between U+0700 and U+16FF are assigned a chunk of 128 (0x80) 
-// code points so that the number of entries in the tertiary range
-// table for that range is obtained by dividing (0x1700 - 0x0700) by 128.
-// Exceptions: Ethiopic, Tibetan, Hangul Jamo and Canadian aboriginal 
-// syllabaries take multiple chunks and Ogham and Runic share a single chunk.
-static const unsigned cTertiaryTableSize = ((0x1700 - 0x0700) / 0x80);
-
-static const unsigned char gUnicodeTertiaryRangeTable[cTertiaryTableSize] =
-{ //table for 0x0700 - 0x1600 
-    cRangeSyriac,            //u070x
-    cRangeThaana,            //u078x
-    cRangeUnassigned,        //u080x  place holder(resolved in the 2ndary tab.)
-    cRangeUnassigned,        //u088x  place holder(resolved in the 2ndary tab.)
-    cRangeDevanagari,        //u090x
-    cRangeBengali,           //u098x
-    cRangeGurmukhi,          //u0a0x
-    cRangeGujarati,          //u0a8x
-    cRangeOriya,             //u0b0x
-    cRangeTamil,             //u0b8x
-    cRangeTelugu,            //u0c0x
-    cRangeKannada,           //u0c8x
-    cRangeMalayalam,         //u0d0x
-    cRangeSinhala,           //u0d8x
-    cRangeThai,              //u0e0x  
-    cRangeLao,               //u0e8x
-    cRangeTibetan,           //u0f0x  place holder(resolved in the 2ndary tab.)
-    cRangeTibetan,           //u0f8x  place holder(resolved in the 2ndary tab.)
-    cRangeMyanmar,           //u100x
-    cRangeGeorgian,          //u108x
-    cRangeKorean,            //u110x  place holder(resolved in the 2ndary tab.)
-    cRangeKorean,            //u118x  place holder(resolved in the 2ndary tab.)
-    cRangeEthiopic,          //u120x  place holder(resolved in the 2ndary tab.)
-    cRangeEthiopic,          //u128x  place holder(resolved in the 2ndary tab.)
-    cRangeEthiopic,          //u130x  
-    cRangeCherokee,          //u138x
-    cRangeCanadian,          //u140x  place holder(resolved in the 2ndary tab.)
-    cRangeCanadian,          //u148x  place holder(resolved in the 2ndary tab.)
-    cRangeCanadian,          //u150x  place holder(resolved in the 2ndary tab.)
-    cRangeCanadian,          //u158x  place holder(resolved in the 2ndary tab.)
-    cRangeCanadian,          //u160x  
-    cRangeOghamRunic,        //u168x  this contains two scripts, Ogham &amp; Runic
-};
-
-// A two level index is almost enough for locating a range, with the 
-// exception of u03xx and u05xx. Since we don't really care about range for
-// combining diacritical marks in our font application, they are 
-// not discriminated further.  Future adoption of this method for other use 
-// should be aware of this limitation. The implementation can be extended if 
-// there is such a need.
-// For Indic, Southeast Asian scripts and some other scripts between
-// U+0700 and U+16FF, it's extended to the third level.
-unsigned int findCharUnicodeRange(UChar32 ch)
-{
-    if (ch &gt;= 0xFFFF)
-        return 0;
-
-    unsigned int range;
-
-    //search the first table
-    range = gUnicodeSubrangeTable[0][ch &gt;&gt; 12];
-  
-    if (range &lt; cRangeTableBase)
-        // we try to get a specific range 
-        return range;
-
-    // otherwise, we have one more table to look at
-    range = gUnicodeSubrangeTable[range - cRangeTableBase][(ch &amp; 0x0f00) &gt;&gt; 8];
-    if (range &lt; cRangeTableBase)
-        return range;
-    if (range &lt; cRangeTertiaryTable)
-        return gUnicodeSubrangeTable[range - cRangeTableBase][(ch &amp; 0x00f0) &gt;&gt; 4];
-
-    // Yet another table to look at : U+0700 - U+16FF : 128 code point blocks
-    return gUnicodeTertiaryRangeTable[(ch - 0x0700) &gt;&gt; 7];
-}
-
-const char* langGroupFromUnicodeRange(unsigned char unicodeRange)
-{
-    if (cRangeSpecificItemNum &gt; unicodeRange)  
-        return gUnicodeRangeToLangGroupTable[unicodeRange];
-    return 0;
-}
-
-}
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformtextUnicodeRangeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/text/UnicodeRange.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,120 +0,0 @@
</span><del>-/*
- * Copyright (C) 2007 Apple Computer, Inc.
- *
- * Portions are Copyright (C) 1998 Netscape Communications Corporation.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- *
- * Alternatively, the contents of this file may be used under the terms
- * of either the Mozilla Public License Version 1.1, found at
- * http://www.mozilla.org/MPL/ (the &quot;MPL&quot;) or the GNU General Public
- * License Version 2.0, found at http://www.fsf.org/copyleft/gpl.html
- * (the &quot;GPL&quot;), in which case the provisions of the MPL or the GPL are
- * applicable instead of those above.  If you wish to allow use of your
- * version of this file only under the terms of one of those two
- * licenses (the MPL or the GPL) and not to allow others to use your
- * version of this file under the LGPL, indicate your decision by
- * deletingthe provisions above and replace them with the notice and
- * other provisions required by the MPL or the GPL, as the case may be.
- * If you do not delete the provisions above, a recipient may use your
- * version of this file under any of the LGPL, the MPL or the GPL.
- */
-
-#ifndef UnicodeRange_H
-#define UnicodeRange_H
-
-#include &lt;wtf/unicode/Unicode.h&gt;
-
-namespace WebCore {
-
-// The following constants define unicode subranges
-// values below cRangeNum must be continuous so that we can map to 
-// a lang group directly.
-// All ranges we care about should fit within 32 bits.
-
-// Frequently used range definitions
-const unsigned char   cRangeCyrillic =    0;
-const unsigned char   cRangeGreek    =    1;
-const unsigned char   cRangeTurkish  =    2;
-const unsigned char   cRangeHebrew   =    3;
-const unsigned char   cRangeArabic   =    4;
-const unsigned char   cRangeBaltic   =    5;
-const unsigned char   cRangeThai     =    6;
-const unsigned char   cRangeKorean   =    7;
-const unsigned char   cRangeJapanese =    8;
-const unsigned char   cRangeSChinese =    9;
-const unsigned char   cRangeTChinese =   10;
-const unsigned char   cRangeDevanagari = 11;
-const unsigned char   cRangeTamil    =   12;
-const unsigned char   cRangeArmenian =   13;
-const unsigned char   cRangeBengali  =   14;
-const unsigned char   cRangeCanadian =   15;
-const unsigned char   cRangeEthiopic =   16;
-const unsigned char   cRangeGeorgian =   17;
-const unsigned char   cRangeGujarati =   18;
-const unsigned char   cRangeGurmukhi =   19;
-const unsigned char   cRangeKhmer    =   20;
-const unsigned char   cRangeMalayalam =  21;
-
-const unsigned char   cRangeSpecificItemNum = 22;
-
-//range/rangeSet grow to this place 22-29
-
-const unsigned char   cRangeSetStart  =  30;    // range set definition starts from here
-const unsigned char   cRangeSetLatin  =  30;
-const unsigned char   cRangeSetCJK    =  31;
-const unsigned char   cRangeSetEnd    =  31;   // range set definition ends here
-
-// less frequently used range definition
-const unsigned char   cRangeSurrogate            = 32;
-const unsigned char   cRangePrivate              = 33;
-const unsigned char   cRangeMisc                 = 34;
-const unsigned char   cRangeUnassigned           = 35;
-const unsigned char   cRangeSyriac               = 36;
-const unsigned char   cRangeThaana               = 37;
-const unsigned char   cRangeOriya                = 38;
-const unsigned char   cRangeTelugu               = 39;
-const unsigned char   cRangeKannada              = 40;
-const unsigned char   cRangeSinhala              = 41;
-const unsigned char   cRangeLao                  = 42;
-const unsigned char   cRangeTibetan              = 43;
-const unsigned char   cRangeMyanmar              = 44;
-const unsigned char   cRangeCherokee             = 45;
-const unsigned char   cRangeOghamRunic           = 46;
-const unsigned char   cRangeMongolian            = 47;
-const unsigned char   cRangeMathOperators        = 48;
-const unsigned char   cRangeMiscTechnical        = 49;
-const unsigned char   cRangeControlOpticalEnclose = 50;
-const unsigned char   cRangeBoxBlockGeometrics   = 51;
-const unsigned char   cRangeMiscSymbols          = 52;
-const unsigned char   cRangeDingbats             = 53;
-const unsigned char   cRangeBraillePattern       = 54;
-const unsigned char   cRangeYi                   = 55;
-const unsigned char   cRangeCombiningDiacriticalMarks = 56;
-const unsigned char   cRangeSpecials             = 57;
-
-const unsigned char   cRangeTableBase   = 128;    //values over 127 are reserved for internal use only
-const unsigned char   cRangeTertiaryTable  = 145; // leave room for 16 subtable 
-                                            // indices (cRangeTableBase + 1 ..
-                                            // cRangeTableBase + 16)
-
-
-
-unsigned int findCharUnicodeRange(UChar32 ch);
-const char* langGroupFromUnicodeRange(unsigned char unicodeRange);
-
-}
-
-#endif // UnicodeRange_H
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformwinPasteboardWincpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/win/PasteboardWin.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/win/PasteboardWin.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/win/PasteboardWin.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -726,7 +726,7 @@
</span><span class="cx"> 
</span><span class="cx"> void Pasteboard::writeImage(Element&amp; element, const URL&amp;, const String&amp;)
</span><span class="cx"> {
</span><del>-    if (!(element.renderer() &amp;&amp; element.renderer()-&gt;isImage()))
</del><ins>+    if (!(element.renderer() &amp;&amp; element.renderer()-&gt;isRenderImage()))
</ins><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     RenderImage* renderer = toRenderImage(element.renderer());
</span><span class="lines">@@ -862,7 +862,7 @@
</span><span class="cx"> {
</span><span class="cx">     // Attempt to pull CachedImage from element
</span><span class="cx">     RenderObject* renderer = element.renderer();
</span><del>-    if (!renderer || !renderer-&gt;isImage()) 
</del><ins>+    if (!renderer || !renderer-&gt;isRenderImage())
</ins><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     RenderImage* image = toRenderImage(renderer);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreplatformwinWindowMessageBroadcasterh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/platform/win/WindowMessageBroadcaster.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/platform/win/WindowMessageBroadcaster.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/platform/win/WindowMessageBroadcaster.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/Noncopyable.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingColumnInfoh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/ColumnInfo.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/ColumnInfo.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/ColumnInfo.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,7 +37,7 @@
</span><span class="cx">     ColumnInfo()
</span><span class="cx">         : m_desiredColumnWidth(0)
</span><span class="cx">         , m_desiredColumnCount(1)
</span><del>-        , m_progressionAxis(InlineAxis)
</del><ins>+        , m_progressionIsInline(true)
</ins><span class="cx">         , m_progressionIsReversed(false)
</span><span class="cx">         , m_columnCount(1)
</span><span class="cx">         , m_columnHeight(0)
</span><span class="lines">@@ -55,11 +55,9 @@
</span><span class="cx">     unsigned desiredColumnCount() const { return m_desiredColumnCount; }
</span><span class="cx">     void setDesiredColumnCount(unsigned count) { m_desiredColumnCount = count; }
</span><span class="cx"> 
</span><del>-    enum Axis { InlineAxis, BlockAxis };
</del><ins>+    bool progressionIsInline() const { return m_progressionIsInline; }
+    void setProgressionIsInline(bool progressionIsInline) { m_progressionIsInline = progressionIsInline; }
</ins><span class="cx"> 
</span><del>-    Axis progressionAxis() const { return m_progressionAxis; }
-    void setProgressionAxis(Axis progressionAxis) { m_progressionAxis = progressionAxis; }
-
</del><span class="cx">     bool progressionIsReversed() const { return m_progressionIsReversed; }
</span><span class="cx">     void setProgressionIsReversed(bool reversed) { m_progressionIsReversed = reversed; }
</span><span class="cx"> 
</span><span class="lines">@@ -105,7 +103,7 @@
</span><span class="cx"> private:
</span><span class="cx">     LayoutUnit m_desiredColumnWidth;
</span><span class="cx">     unsigned m_desiredColumnCount;
</span><del>-    Axis m_progressionAxis;
</del><ins>+    bool m_progressionIsInline;
</ins><span class="cx">     bool m_progressionIsReversed;
</span><span class="cx"> 
</span><span class="cx">     unsigned m_columnCount;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingFloatingObjectscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/FloatingObjects.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/FloatingObjects.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/FloatingObjects.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -450,7 +450,7 @@
</span><span class="cx"> template &lt;FloatingObject::Type FloatTypeValue&gt;
</span><span class="cx"> LayoutUnit ComputeFloatOffsetForFloatLayoutAdapter&lt;FloatTypeValue&gt;::heightRemaining() const
</span><span class="cx"> {
</span><del>-    return this-&gt;m_outermostFloat ? this-&gt;m_renderer.logicalBottomForFloat(this-&gt;m_outermostFloat) - this-&gt;m_lineTop : LayoutUnit(1);
</del><ins>+    return this-&gt;m_outermostFloat ? this-&gt;m_renderer.logicalBottomForFloat(this-&gt;m_outermostFloat) - this-&gt;m_lineTop : LayoutUnit::fromPixel(1);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> template &lt;FloatingObject::Type FloatTypeValue&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingHitTestResultcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/HitTestResult.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/HitTestResult.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/HitTestResult.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -294,8 +294,8 @@
</span><span class="cx">         return 0;
</span><span class="cx">     
</span><span class="cx">     auto renderer = m_innerNonSharedNode-&gt;renderer();
</span><del>-    if (renderer &amp;&amp; renderer-&gt;isImage()) {
-        RenderImage* image = static_cast&lt;WebCore::RenderImage*&gt;(renderer);
</del><ins>+    if (renderer &amp;&amp; renderer-&gt;isRenderImage()) {
+        RenderImage* image = toRenderImage(renderer);
</ins><span class="cx">         if (image-&gt;cachedImage() &amp;&amp; !image-&gt;cachedImage()-&gt;errorOccurred())
</span><span class="cx">             return image-&gt;cachedImage()-&gt;imageForRenderer(image);
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingPaintInfoh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/PaintInfo.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/PaintInfo.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/PaintInfo.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -53,7 +53,7 @@
</span><span class="cx">  * (tx|ty) is the calculated position of the parent
</span><span class="cx">  */
</span><span class="cx"> struct PaintInfo {
</span><del>-    PaintInfo(GraphicsContext* newContext, const IntRect&amp; newRect, PaintPhase newPhase, PaintBehavior newPaintBehavior,
</del><ins>+    PaintInfo(GraphicsContext* newContext, const LayoutRect&amp; newRect, PaintPhase newPhase, PaintBehavior newPaintBehavior,
</ins><span class="cx">         RenderObject* newSubtreePaintRoot = nullptr, RenderRegion* region = nullptr, ListHashSet&lt;RenderInline*&gt;* newOutlineObjects = nullptr,
</span><span class="cx">         OverlapTestRequestMap* overlapTestRequests = nullptr, const RenderLayerModelObject* newPaintContainer = nullptr)
</span><span class="cx">         : context(newContext)
</span><span class="lines">@@ -98,15 +98,17 @@
</span><span class="cx"> 
</span><span class="cx">         context-&gt;concatCTM(localToAncestorTransform);
</span><span class="cx"> 
</span><del>-        if (rect.isInfinite())
</del><ins>+        if (rect == LayoutRect::infiniteRect())
</ins><span class="cx">             return;
</span><span class="cx"> 
</span><del>-        rect = localToAncestorTransform.inverse().mapRect(rect);
</del><ins>+        FloatRect tranformedRect(localToAncestorTransform.inverse().mapRect(rect));
+        rect.setLocation(LayoutPoint(tranformedRect.location()));
+        rect.setSize(LayoutSize(tranformedRect.size()));
</ins><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     GraphicsContext* context;
</span><del>-    IntRect rect;
</del><ins>+    LayoutRect rect;
</ins><span class="cx">     PaintPhase phase;
</span><span class="cx">     PaintBehavior paintBehavior;
</span><span class="cx">     RenderObject* subtreePaintRoot; // used to draw just one element and its visual children
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlock.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1461,7 +1461,7 @@
</span><span class="cx">     if (!shapeInsideInfo &amp;&amp; flowThreadContainingBlock() &amp;&amp; allowsShapeInsideInfoSharing()) {
</span><span class="cx">         LayoutUnit lineHeight = this-&gt;lineHeight(false, isHorizontalWritingMode() ? HorizontalLine : VerticalLine, PositionOfInteriorLineBoxes);
</span><span class="cx">         // regionAtBlockOffset returns regions like an array first={0,N-1}, second={N,M-1}, ...
</span><del>-        LayoutUnit offset = logicalHeight() + lineHeight - LayoutUnit(1);
</del><ins>+        LayoutUnit offset = logicalHeight() + lineHeight - LayoutUnit::fromPixel(1);
</ins><span class="cx">         RenderRegion* region = regionAtBlockOffset(offset);
</span><span class="cx">         if (region &amp;&amp; region-&gt;logicalHeight())
</span><span class="cx">             shapeInsideInfo = region-&gt;shapeInsideInfo();
</span><span class="lines">@@ -1547,48 +1547,17 @@
</span><span class="cx"> bool RenderBlock::updateLogicalWidthAndColumnWidth()
</span><span class="cx"> {
</span><span class="cx">     LayoutUnit oldWidth = logicalWidth();
</span><del>-    LayoutUnit oldColumnWidth = desiredColumnWidth();
</del><ins>+    LayoutUnit oldColumnWidth = computedColumnWidth();
</ins><span class="cx"> 
</span><span class="cx">     updateLogicalWidth();
</span><del>-    calcColumnWidth();
</del><ins>+    computeColumnCountAndWidth();
</ins><span class="cx"> 
</span><span class="cx">     bool hasBorderOrPaddingLogicalWidthChanged = m_hasBorderOrPaddingLogicalWidthChanged;
</span><span class="cx">     m_hasBorderOrPaddingLogicalWidthChanged = false;
</span><span class="cx"> 
</span><del>-    return oldWidth != logicalWidth() || oldColumnWidth != desiredColumnWidth() || hasBorderOrPaddingLogicalWidthChanged;
</del><ins>+    return oldWidth != logicalWidth() || oldColumnWidth != computedColumnWidth() || hasBorderOrPaddingLogicalWidthChanged;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlock::checkForPaginationLogicalHeightChange(LayoutUnit&amp; pageLogicalHeight, bool&amp; pageLogicalHeightChanged, bool&amp; hasSpecifiedPageLogicalHeight)
-{
-    ColumnInfo* colInfo = columnInfo();
-    if (hasColumns()) {
-        if (!pageLogicalHeight) {
-            // We need to go ahead and set our explicit page height if one exists, so that we can
-            // avoid doing two layout passes.
-            updateLogicalHeight();
-            LayoutUnit columnHeight = isRenderView() ? view().pageOrViewLogicalHeight() : contentLogicalHeight();
-            if (columnHeight &gt; 0) {
-                pageLogicalHeight = columnHeight;
-                hasSpecifiedPageLogicalHeight = true;
-            }
-            setLogicalHeight(0);
-        }
-
-        if (colInfo-&gt;columnHeight() != pageLogicalHeight &amp;&amp; everHadLayout())
-            pageLogicalHeightChanged = true;
-
-        colInfo-&gt;setColumnHeight(pageLogicalHeight);
-        
-        if (!hasSpecifiedPageLogicalHeight &amp;&amp; !pageLogicalHeight)
-            colInfo-&gt;clearForcedBreaks();
-
-        colInfo-&gt;setPaginationUnit(paginationUnit());
-    } else if (isRenderFlowThread()) {
-        pageLogicalHeight = 1; // This is just a hack to always make sure we have a page logical height.
-        pageLogicalHeightChanged = toRenderFlowThread(this)-&gt;pageLogicalSizeChanged();
-    }
-}
-
</del><span class="cx"> void RenderBlock::layoutBlock(bool, LayoutUnit)
</span><span class="cx"> {
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="lines">@@ -2218,7 +2187,7 @@
</span><span class="cx">     // z-index.  We paint after we painted the background/border, so that the scrollbars will
</span><span class="cx">     // sit above the background/border.
</span><span class="cx">     if (hasOverflowClip() &amp;&amp; style().visibility() == VISIBLE &amp;&amp; (phase == PaintPhaseBlockBackground || phase == PaintPhaseChildBlockBackground) &amp;&amp; paintInfo.shouldPaintWithinRoot(*this) &amp;&amp; !paintInfo.paintRootBackgroundOnly())
</span><del>-        layer()-&gt;paintOverflowControls(paintInfo.context, roundedIntPoint(adjustedPaintOffset), paintInfo.rect);
</del><ins>+        layer()-&gt;paintOverflowControls(paintInfo.context, roundedIntPoint(adjustedPaintOffset), pixelSnappedIntRect(paintInfo.rect));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderBlock::paintColumnRules(PaintInfo&amp; paintInfo, const LayoutPoint&amp; paintOffset)
</span><span class="lines">@@ -2240,7 +2209,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool antialias = shouldAntialiasLines(paintInfo.context);
</span><span class="cx"> 
</span><del>-    if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis) {
</del><ins>+    if (colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">         bool leftToRight = style().isLeftToRightDirection() ^ colInfo-&gt;progressionIsReversed();
</span><span class="cx">         LayoutUnit currLogicalLeftOffset = leftToRight ? LayoutUnit() : contentLogicalWidth();
</span><span class="cx">         LayoutUnit ruleAdd = logicalLeftOffsetForContent();
</span><span class="lines">@@ -2313,7 +2282,7 @@
</span><span class="cx"> {
</span><span class="cx">     ColumnInfo* colInfo = columnInfo();
</span><span class="cx">     LayoutUnit result = 0;
</span><del>-    if (colInfo-&gt;progressionAxis() == ColumnInfo::BlockAxis &amp;&amp; colInfo-&gt;progressionIsReversed()) {
</del><ins>+    if (!colInfo-&gt;progressionIsInline() &amp;&amp; colInfo-&gt;progressionIsReversed()) {
</ins><span class="cx">         LayoutRect colRect = columnRectAt(colInfo, 0);
</span><span class="cx">         result = isHorizontalWritingMode() ? colRect.y() : colRect.x();
</span><span class="cx">         result -= borderAndPaddingBefore();
</span><span class="lines">@@ -2328,7 +2297,7 @@
</span><span class="cx">     ColumnInfo* colInfo = columnInfo();
</span><span class="cx">     LayoutUnit blockDelta = -colInfo-&gt;columnHeight();
</span><span class="cx">     LayoutUnit colGap = columnGap();
</span><del>-    if (colInfo-&gt;progressionAxis() == ColumnInfo::BlockAxis) {
</del><ins>+    if (!colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">         if (!colInfo-&gt;progressionIsReversed())
</span><span class="cx">             blockDelta = colGap;
</span><span class="cx">         else
</span><span class="lines">@@ -3662,7 +3631,7 @@
</span><span class="cx"> {
</span><span class="cx">     // If we have multiple columns, then the available logical width is reduced to our column width.
</span><span class="cx">     if (hasColumns())
</span><del>-        return desiredColumnWidth();
</del><ins>+        return computedColumnWidth();
</ins><span class="cx">     return RenderBox::availableLogicalWidth();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3673,11 +3642,8 @@
</span><span class="cx">     return static_cast&lt;int&gt;(style().columnGap());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlock::calcColumnWidth()
</del><ins>+void RenderBlock::computeColumnCountAndWidth()
</ins><span class="cx"> {   
</span><del>-    if (document().regionBasedColumnsEnabled())
-        return;
-
</del><span class="cx">     // Calculate our column width and column count.
</span><span class="cx">     // FIXME: Can overflow on fast/block/float/float-not-removed-from-next-sibling4.html, see https://bugs.webkit.org/show_bug.cgi?id=68744
</span><span class="cx">     unsigned desiredColumnCount = 1;
</span><span class="lines">@@ -3685,7 +3651,7 @@
</span><span class="cx">     
</span><span class="cx">     // For now, we don't support multi-column layouts when printing, since we have to do a lot of work for proper pagination.
</span><span class="cx">     if (document().paginated() || (style().hasAutoColumnCount() &amp;&amp; style().hasAutoColumnWidth()) || !style().hasInlineColumnAxis()) {
</span><del>-        setDesiredColumnCountAndWidth(desiredColumnCount, desiredColumnWidth);
</del><ins>+        setComputedColumnCountAndWidth(desiredColumnCount, desiredColumnWidth);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">         
</span><span class="lines">@@ -3704,7 +3670,7 @@
</span><span class="cx">         desiredColumnCount = std::max&lt;LayoutUnit&gt;(std::min&lt;LayoutUnit&gt;(colCount, (availWidth + colGap) / (colWidth + colGap)), 1);
</span><span class="cx">         desiredColumnWidth = ((availWidth + colGap) / desiredColumnCount) - colGap;
</span><span class="cx">     }
</span><del>-    setDesiredColumnCountAndWidth(desiredColumnCount, desiredColumnWidth);
</del><ins>+    setComputedColumnCountAndWidth(desiredColumnCount, desiredColumnWidth);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderBlock::requiresColumns(int desiredColumnCount) const
</span><span class="lines">@@ -3719,7 +3685,7 @@
</span><span class="cx">         &amp;&amp; !firstChild()-&gt;isAnonymousColumnSpanBlock();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlock::setDesiredColumnCountAndWidth(int count, LayoutUnit width)
</del><ins>+void RenderBlock::setComputedColumnCountAndWidth(int count, LayoutUnit width)
</ins><span class="cx"> {
</span><span class="cx">     bool destroyColumns = !requiresColumns(count);
</span><span class="cx">     if (destroyColumns) {
</span><span class="lines">@@ -3740,12 +3706,12 @@
</span><span class="cx">         }
</span><span class="cx">         info-&gt;setDesiredColumnCount(count);
</span><span class="cx">         info-&gt;setDesiredColumnWidth(width);
</span><del>-        info-&gt;setProgressionAxis(style().hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis);
</del><ins>+        info-&gt;setProgressionIsInline(style().hasInlineColumnAxis());
</ins><span class="cx">         info-&gt;setProgressionIsReversed(style().columnProgression() == ReverseColumnProgression);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderBlock::updateColumnInfoFromStyle(RenderStyle* style)
</del><ins>+void RenderBlock::updateColumnProgressionFromStyle(RenderStyle* style)
</ins><span class="cx"> {
</span><span class="cx">     if (!hasColumns())
</span><span class="cx">         return;
</span><span class="lines">@@ -3753,10 +3719,10 @@
</span><span class="cx">     ColumnInfo* info = gColumnInfoMap-&gt;get(this);
</span><span class="cx"> 
</span><span class="cx">     bool needsLayout = false;
</span><del>-    ColumnInfo::Axis oldAxis = info-&gt;progressionAxis();
-    ColumnInfo::Axis newAxis = style-&gt;hasInlineColumnAxis() ? ColumnInfo::InlineAxis : ColumnInfo::BlockAxis;
-    if (oldAxis != newAxis) {
-        info-&gt;setProgressionAxis(newAxis);
</del><ins>+    bool oldProgressionIsInline = info-&gt;progressionIsInline();
+    bool newProgressionIsInline = style-&gt;hasInlineColumnAxis();
+    if (oldProgressionIsInline != newProgressionIsInline) {
+        info-&gt;setProgressionIsInline(newProgressionIsInline);
</ins><span class="cx">         needsLayout = true;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -3771,14 +3737,14 @@
</span><span class="cx">         setNeedsLayoutAndPrefWidthsRecalc();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-LayoutUnit RenderBlock::desiredColumnWidth() const
</del><ins>+LayoutUnit RenderBlock::computedColumnWidth() const
</ins><span class="cx"> {
</span><span class="cx">     if (!hasColumns())
</span><span class="cx">         return contentLogicalWidth();
</span><span class="cx">     return gColumnInfoMap-&gt;get(this)-&gt;desiredColumnWidth();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-unsigned RenderBlock::desiredColumnCount() const
</del><ins>+unsigned RenderBlock::computedColumnCount() const
</ins><span class="cx"> {
</span><span class="cx">     if (!hasColumns())
</span><span class="cx">         return 1;
</span><span class="lines">@@ -3809,7 +3775,7 @@
</span><span class="cx">     LayoutUnit colLogicalTop = borderAndPaddingBefore();
</span><span class="cx">     LayoutUnit colLogicalLeft = logicalLeftOffsetForContent();
</span><span class="cx">     LayoutUnit colGap = columnGap();
</span><del>-    if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis) {
</del><ins>+    if (colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">         if (style().isLeftToRightDirection() ^ colInfo-&gt;progressionIsReversed())
</span><span class="cx">             colLogicalLeft += index * (colLogicalWidth + colGap);
</span><span class="cx">         else
</span><span class="lines">@@ -3845,10 +3811,10 @@
</span><span class="cx">         // Add in half the column gap to the left and right of the rect.
</span><span class="cx">         LayoutRect colRect = columnRectAt(colInfo, i);
</span><span class="cx">         flipForWritingMode(colRect);
</span><del>-        if (isHorizontalWritingMode() == (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis)) {
</del><ins>+        if (isHorizontalWritingMode() == colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">             LayoutRect gapAndColumnRect(colRect.x() - halfColGap, colRect.y(), colRect.width() + colGap, colRect.height());
</span><span class="cx">             if (point.x() &gt;= gapAndColumnRect.x() &amp;&amp; point.x() &lt; gapAndColumnRect.maxX()) {
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis) {
</del><ins>+                if (colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">                     // FIXME: The clamping that follows is not completely right for right-to-left
</span><span class="cx">                     // content.
</span><span class="cx">                     // Clamp everything above the column to its top left.
</span><span class="lines">@@ -3868,7 +3834,7 @@
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 // We're inside the column.  Translate the x and y into our column coordinate space.
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis)
</del><ins>+                if (colInfo-&gt;progressionIsInline())
</ins><span class="cx">                     point.move(columnPoint.x() - colRect.x(), (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset));
</span><span class="cx">                 else
</span><span class="cx">                     point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.x() + borderLeft() + paddingLeft(), 0);
</span><span class="lines">@@ -3876,11 +3842,11 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             // Move to the next position.
</span><del>-            logicalOffset += colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis ? colRect.height() : colRect.width();
</del><ins>+            logicalOffset += colInfo-&gt;progressionIsInline() ? colRect.height() : colRect.width();
</ins><span class="cx">         } else {
</span><span class="cx">             LayoutRect gapAndColumnRect(colRect.x(), colRect.y() - halfColGap, colRect.width(), colRect.height() + colGap);
</span><span class="cx">             if (point.y() &gt;= gapAndColumnRect.y() &amp;&amp; point.y() &lt; gapAndColumnRect.maxY()) {
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis) {
</del><ins>+                if (colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">                     // FIXME: The clamping that follows is not completely right for right-to-left
</span><span class="cx">                     // content.
</span><span class="cx">                     // Clamp everything above the column to its top left.
</span><span class="lines">@@ -3900,7 +3866,7 @@
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="cx">                 // We're inside the column.  Translate the x and y into our column coordinate space.
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis)
</del><ins>+                if (colInfo-&gt;progressionIsInline())
</ins><span class="cx">                     point.move((!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset), columnPoint.y() - colRect.y());
</span><span class="cx">                 else
</span><span class="cx">                     point.move(0, (!style().isFlippedBlocksWritingMode() ? logicalOffset : -logicalOffset) - colRect.y() + borderTop() + paddingTop());
</span><span class="lines">@@ -3908,7 +3874,7 @@
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="cx">             // Move to the next position.
</span><del>-            logicalOffset += colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis ? colRect.width() : colRect.height();
</del><ins>+            logicalOffset += colInfo-&gt;progressionIsInline() ? colRect.width() : colRect.height();
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -3949,7 +3915,7 @@
</span><span class="cx">         LayoutRect colRect = columnRectAt(colInfo, startColumn);
</span><span class="cx">         LayoutRect repaintRect = r;
</span><span class="cx"> 
</span><del>-        if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis) {
</del><ins>+        if (colInfo-&gt;progressionIsInline()) {
</ins><span class="cx">             if (isHorizontal)
</span><span class="cx">                 repaintRect.move(colRect.x() - logicalLeftOffset, - static_cast&lt;int&gt;(startColumn) * colHeight);
</span><span class="cx">             else
</span><span class="lines">@@ -4024,7 +3990,7 @@
</span><span class="cx">         // Now we're in the same coordinate space as the point.  See if it is inside the rectangle.
</span><span class="cx">         if (isHorizontalWritingMode()) {
</span><span class="cx">             if (point.y() &gt;= sliceRect.y() &amp;&amp; point.y() &lt; sliceRect.maxY()) {
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis)
</del><ins>+                if (colInfo-&gt;progressionIsInline())
</ins><span class="cx">                     offset.expand(columnRectAt(colInfo, i).x() - logicalLeft, -logicalOffset);
</span><span class="cx">                 else
</span><span class="cx">                     offset.expand(0, columnRectAt(colInfo, i).y() - logicalOffset - borderAndPaddingBefore());
</span><span class="lines">@@ -4032,7 +3998,7 @@
</span><span class="cx">             }
</span><span class="cx">         } else {
</span><span class="cx">             if (point.x() &gt;= sliceRect.x() &amp;&amp; point.x() &lt; sliceRect.maxX()) {
</span><del>-                if (colInfo-&gt;progressionAxis() == ColumnInfo::InlineAxis)
</del><ins>+                if (colInfo-&gt;progressionIsInline())
</ins><span class="cx">                     offset.expand(-logicalOffset, columnRectAt(colInfo, i).y() - logicalLeft);
</span><span class="cx">                 else
</span><span class="cx">                     offset.expand(columnRectAt(colInfo, i).x() - logicalOffset - borderAndPaddingBefore(), 0);
</span><span class="lines">@@ -4112,8 +4078,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderBlock::adjustIntrinsicLogicalWidthsForColumns(LayoutUnit&amp; minLogicalWidth, LayoutUnit&amp; maxLogicalWidth) const
</span><span class="cx"> {
</span><del>-    // FIXME: make this method virtual and move the code to RenderMultiColumnBlock once the old
-    // multicol code is gone.
</del><ins>+    // FIXME: Move this code to RenderBlockFlow.
</ins><span class="cx"> 
</span><span class="cx">     if (!style().hasAutoColumnCount() || !style().hasAutoColumnWidth()) {
</span><span class="cx">         // The min/max intrinsic widths calculated really tell how much space elements need when
</span><span class="lines">@@ -4864,7 +4829,7 @@
</span><span class="cx">     RenderStyle* pseudoStyle = styleForFirstLetter(firstLetterBlock, firstLetterContainer);
</span><span class="cx">     ASSERT(firstLetter-&gt;isFloating() || firstLetter-&gt;isInline());
</span><span class="cx"> 
</span><del>-    if (Style::determineChange(&amp;firstLetter-&gt;style(), pseudoStyle, &amp;frame().settings()) == Style::Detach) {
</del><ins>+    if (Style::determineChange(&amp;firstLetter-&gt;style(), pseudoStyle) == Style::Detach) {
</ins><span class="cx">         // The first-letter renderer needs to be replaced. Create a new renderer of the right type.
</span><span class="cx">         RenderBoxModelObject* newFirstLetter;
</span><span class="cx">         if (pseudoStyle-&gt;display() == INLINE)
</span><span class="lines">@@ -5483,7 +5448,7 @@
</span><span class="cx"> #if ENABLE(8BIT_TEXTRUN)
</span><span class="cx">     if (length &amp;&amp; string.is8Bit())
</span><span class="cx">         return constructTextRunInternal(context, font, string.characters8(), length, style, expansion, flags);
</span><del>-    return constructTextRunInternal(context, font, string.characters(), length, style, expansion, flags);
</del><ins>+    return constructTextRunInternal(context, font, string.deprecatedCharacters(), length, style, expansion, flags);
</ins><span class="cx"> #else
</span><span class="cx">     return constructTextRunInternal(context, font, string.deprecatedCharacters(), length, style, expansion, flags);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlock.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlock.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlock.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -257,7 +257,8 @@
</span><span class="cx">     ColumnInfo* columnInfo() const;
</span><span class="cx">     int columnGap() const;
</span><span class="cx"> 
</span><del>-    void updateColumnInfoFromStyle(RenderStyle*);
</del><ins>+    // FIXME: Can devirtualize this and only have the RenderBlockFlow version once the old multi-column code is gone.
+    virtual void updateColumnProgressionFromStyle(RenderStyle*);
</ins><span class="cx">     
</span><span class="cx">     LayoutUnit initialBlockOffsetForPainting() const;
</span><span class="cx">     LayoutUnit blockDeltaForPaintingNextColumn() const;
</span><span class="lines">@@ -416,7 +417,8 @@
</span><span class="cx">     bool simplifiedLayout();
</span><span class="cx">     virtual void simplifiedNormalFlowLayout();
</span><span class="cx"> 
</span><del>-    void setDesiredColumnCountAndWidth(int, LayoutUnit);
</del><ins>+    // FIXME: Can de-virtualize this once old columns go away.
+    virtual void setComputedColumnCountAndWidth(int, LayoutUnit);
</ins><span class="cx"> 
</span><span class="cx"> public:
</span><span class="cx">     virtual void computeOverflow(LayoutUnit oldClientAfterEdge, bool recomputeFloats = false);
</span><span class="lines">@@ -441,7 +443,6 @@
</span><span class="cx"> 
</span><span class="cx">     void updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, RenderBox&amp;);
</span><span class="cx"> 
</span><del>-    virtual void checkForPaginationLogicalHeightChange(LayoutUnit&amp; pageLogicalHeight, bool&amp; pageLogicalHeightChanged, bool&amp; hasSpecifiedPageLogicalHeight);
</del><span class="cx">     void prepareShapesAndPaginationBeforeBlockLayout(bool&amp;);
</span><span class="cx"> 
</span><span class="cx"> private:
</span><span class="lines">@@ -481,9 +482,6 @@
</span><span class="cx">     void insertIntoTrackedRendererMaps(RenderBox&amp; descendant, TrackedDescendantsMap*&amp;, TrackedContainerMap*&amp;);
</span><span class="cx">     static void removeFromTrackedRendererMaps(RenderBox&amp; descendant, TrackedDescendantsMap*&amp;, TrackedContainerMap*&amp;);
</span><span class="cx"> 
</span><del>-    // Called to lay out the legend for a fieldset or the ruby text of a ruby run.
-    virtual RenderObject* layoutSpecialExcludedChild(bool /*relayoutChildren*/) { return 0; }
-
</del><span class="cx">     void createFirstLetterRenderer(RenderObject* firstLetterBlock, RenderText* currentTextChild);
</span><span class="cx">     void updateFirstLetterStyle(RenderObject* firstLetterBlock, RenderObject* firstLetterContainer);
</span><span class="cx"> 
</span><span class="lines">@@ -546,8 +544,9 @@
</span><span class="cx">     virtual void absoluteRects(Vector&lt;IntRect&gt;&amp;, const LayoutPoint&amp; accumulatedOffset) const override;
</span><span class="cx">     virtual void absoluteQuads(Vector&lt;FloatQuad&gt;&amp;, bool* wasFixed) const override;
</span><span class="cx"> 
</span><del>-    LayoutUnit desiredColumnWidth() const;
-    unsigned desiredColumnCount() const;
</del><ins>+    // FIXME: Can de-virtualize once old columns go away.
+    virtual LayoutUnit computedColumnWidth() const;
+    virtual unsigned computedColumnCount() const;
</ins><span class="cx"> 
</span><span class="cx">     void paintContinuationOutlines(PaintInfo&amp;, const LayoutPoint&amp;);
</span><span class="cx"> 
</span><span class="lines">@@ -558,7 +557,7 @@
</span><span class="cx">     // FIXME-BLOCKFLOW: Remove virtualizaion when all callers have moved to RenderBlockFlow
</span><span class="cx">     virtual VisiblePosition positionForPointWithInlineChildren(const LayoutPoint&amp;);
</span><span class="cx"> 
</span><del>-    virtual void calcColumnWidth();
</del><ins>+    virtual void computeColumnCountAndWidth();
</ins><span class="cx">     void makeChildrenAnonymousColumnBlocks(RenderObject* beforeChild, RenderBlock* newBlockBox, RenderObject* newChild);
</span><span class="cx"> 
</span><span class="cx">     bool expandsToEncloseOverhangingFloats() const;
</span><span class="lines">@@ -590,9 +589,9 @@
</span><span class="cx">     // Adjust from painting offsets to the local coords of this renderer
</span><span class="cx">     void offsetForContents(LayoutPoint&amp;) const;
</span><span class="cx"> 
</span><del>-    virtual bool requiresColumns(int desiredColumnCount) const;
</del><ins>+    virtual bool requiresColumns(int computedColumnCount) const;
</ins><span class="cx"> 
</span><del>-    virtual bool updateLogicalWidthAndColumnWidth();
</del><ins>+    bool updateLogicalWidthAndColumnWidth();
</ins><span class="cx"> 
</span><span class="cx">     virtual bool canCollapseAnonymousBlockChild() const { return true; }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBlockFlowcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,6 +33,8 @@
</span><span class="cx"> #include &quot;RenderFlowThread.h&quot;
</span><span class="cx"> #include &quot;RenderIterator.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><ins>+#include &quot;RenderMultiColumnFlowThread.h&quot;
+#include &quot;RenderMultiColumnSet.h&quot;
</ins><span class="cx"> #include &quot;RenderNamedFlowFragment.h&quot;
</span><span class="cx"> #include &quot;RenderText.h&quot;
</span><span class="cx"> #include &quot;RenderView.h&quot;
</span><span class="lines">@@ -117,6 +119,33 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RenderBlockFlow::createMultiColumnFlowThread()
+{
+    RenderMultiColumnFlowThread* flowThread = new RenderMultiColumnFlowThread(document(), RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), BLOCK));
+    flowThread-&gt;initializeStyle();
+    moveAllChildrenTo(flowThread, true);
+    RenderBlock::addChild(flowThread);
+    setMultiColumnFlowThread(flowThread);
+}
+
+void RenderBlockFlow::destroyMultiColumnFlowThread()
+{
+    // Get the flow thread out of our list.
+    multiColumnFlowThread()-&gt;removeFromParent();
+    
+    // Destroy all the multicolumn sets.
+    destroyLeftoverChildren();
+    
+    // Move all the children of the flow thread into our block.
+    multiColumnFlowThread()-&gt;moveAllChildrenTo(this, true);
+    
+    // Now destroy the flow thread.
+    multiColumnFlowThread()-&gt;destroy();
+    
+    // Clear the multi-column flow thread pointer.
+    setMultiColumnFlowThread(nullptr);
+}
+
</ins><span class="cx"> void RenderBlockFlow::insertedIntoTree()
</span><span class="cx"> {
</span><span class="cx">     RenderBlock::insertedIntoTree();
</span><span class="lines">@@ -939,7 +968,7 @@
</span><span class="cx">             // If we are at the before side of the block and we collapse, ignore the computed margin
</span><span class="cx">             // and just add the child margin to the container height. This will correctly position
</span><span class="cx">             // the child inside the container.
</span><del>-            LayoutUnit separateMargin = !marginInfo.canCollapseWithMarginBefore() ? marginInfo.margin() : LayoutUnit(0);
</del><ins>+            LayoutUnit separateMargin = !marginInfo.canCollapseWithMarginBefore() ? marginInfo.margin() : LayoutUnit::fromPixel(0);
</ins><span class="cx">             setLogicalHeight(logicalHeight() + separateMargin + marginBeforeForChild(child));
</span><span class="cx">             logicalTop = logicalHeight();
</span><span class="cx">         } else if (!marginInfo.discardMargin() &amp;&amp; (!marginInfo.atBeforeSideOfBlock()
</span><span class="lines">@@ -1825,6 +1854,11 @@
</span><span class="cx"> 
</span><span class="cx">     if (diff &gt;= StyleDifferenceRepaint)
</span><span class="cx">         invalidateLineLayoutPath();
</span><ins>+    
+    if (multiColumnFlowThread()) {
+        for (RenderBox* child = firstChildBox(); child; child = child-&gt;nextSiblingBox())
+            child-&gt;setStyle(RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), BLOCK));
+    }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderBlockFlow::styleWillChange(StyleDifference diff, const RenderStyle&amp; newStyle)
</span><span class="lines">@@ -3165,54 +3199,96 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderBlockFlow::relayoutForPagination(bool hasSpecifiedPageLogicalHeight, LayoutUnit pageLogicalHeight, LayoutStateMaintainer&amp; statePusher)
</span><span class="cx"> {
</span><del>-    if (!hasColumns())
</del><ins>+    if (!hasColumns() &amp;&amp; !multiColumnFlowThread())
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;RenderOverflow&gt; savedOverflow = m_overflow.release();
-    if (childrenInline())
-        addOverflowFromInlineChildren();
-    else
-        addOverflowFromBlockChildren();
-    LayoutUnit layoutOverflowLogicalBottom = (isHorizontalWritingMode() ? layoutOverflowRect().maxY() : layoutOverflowRect().maxX()) - borderAndPaddingBefore();
</del><ins>+    if (hasColumns()) {
+        RefPtr&lt;RenderOverflow&gt; savedOverflow = m_overflow.release();
+        if (childrenInline())
+            addOverflowFromInlineChildren();
+        else
+            addOverflowFromBlockChildren();
+        LayoutUnit layoutOverflowLogicalBottom = (isHorizontalWritingMode() ? layoutOverflowRect().maxY() : layoutOverflowRect().maxX()) - borderAndPaddingBefore();
</ins><span class="cx"> 
</span><del>-    // FIXME: We don't balance properly at all in the presence of forced page breaks.  We need to understand what
-    // the distance between forced page breaks is so that we can avoid making the minimum column height too tall.
-    ColumnInfo* colInfo = columnInfo();
-    if (!hasSpecifiedPageLogicalHeight) {
-        LayoutUnit columnHeight = pageLogicalHeight;
-        int minColumnCount = colInfo-&gt;forcedBreaks() + 1;
-        int desiredColumnCount = colInfo-&gt;desiredColumnCount();
-        if (minColumnCount &gt;= desiredColumnCount) {
-            // The forced page breaks are in control of the balancing.  Just set the column height to the
-            // maximum page break distance.
-            if (!pageLogicalHeight) {
-                LayoutUnit distanceBetweenBreaks = std::max&lt;LayoutUnit&gt;(colInfo-&gt;maximumDistanceBetweenForcedBreaks(),
-                    view().layoutState()-&gt;pageLogicalOffset(this, borderAndPaddingBefore() + layoutOverflowLogicalBottom) - colInfo-&gt;forcedBreakOffset());
-                columnHeight = std::max(colInfo-&gt;minimumColumnHeight(), distanceBetweenBreaks);
</del><ins>+        // FIXME: We don't balance properly at all in the presence of forced page breaks. We need to understand what
+        // the distance between forced page breaks is so that we can avoid making the minimum column height too tall.
+        ColumnInfo* colInfo = columnInfo();
+        if (!hasSpecifiedPageLogicalHeight) {
+            LayoutUnit columnHeight = pageLogicalHeight;
+            int minColumnCount = colInfo-&gt;forcedBreaks() + 1;
+            int desiredColumnCount = colInfo-&gt;desiredColumnCount();
+            if (minColumnCount &gt;= desiredColumnCount) {
+                // The forced page breaks are in control of the balancing. Just set the column height to the
+                // maximum page break distance.
+                if (!pageLogicalHeight) {
+                    LayoutUnit distanceBetweenBreaks = std::max&lt;LayoutUnit&gt;(colInfo-&gt;maximumDistanceBetweenForcedBreaks(),
+                        view().layoutState()-&gt;pageLogicalOffset(this, borderAndPaddingBefore() + layoutOverflowLogicalBottom) - colInfo-&gt;forcedBreakOffset());
+                    columnHeight = std::max(colInfo-&gt;minimumColumnHeight(), distanceBetweenBreaks);
+                }
+            } else if (layoutOverflowLogicalBottom &gt; boundedMultiply(pageLogicalHeight, desiredColumnCount)) {
+                // Now that we know the intrinsic height of the columns, we have to rebalance them.
+                columnHeight = std::max&lt;LayoutUnit&gt;(colInfo-&gt;minimumColumnHeight(), ceilf((float)layoutOverflowLogicalBottom / desiredColumnCount));
</ins><span class="cx">             }
</span><del>-        } else if (layoutOverflowLogicalBottom &gt; boundedMultiply(pageLogicalHeight, desiredColumnCount)) {
-            // Now that we know the intrinsic height of the columns, we have to rebalance them.
-            columnHeight = std::max&lt;LayoutUnit&gt;(colInfo-&gt;minimumColumnHeight(), ceilf((float)layoutOverflowLogicalBottom / desiredColumnCount));
-        }
-        
-        if (columnHeight &amp;&amp; columnHeight != pageLogicalHeight) {
-            statePusher.pop();
-            setEverHadLayout(true);
-            layoutBlock(false, columnHeight);
-            return true;
-        }
-    } 
</del><ins>+            
+            if (columnHeight &amp;&amp; columnHeight != pageLogicalHeight) {
+                statePusher.pop();
+                setEverHadLayout(true);
+                layoutBlock(false, columnHeight);
+                return true;
+            }
+        } 
</ins><span class="cx"> 
</span><del>-    if (pageLogicalHeight)
-        colInfo-&gt;setColumnCountAndHeight(ceilf((float)layoutOverflowLogicalBottom / pageLogicalHeight), pageLogicalHeight);
</del><ins>+        if (pageLogicalHeight)
+            colInfo-&gt;setColumnCountAndHeight(ceilf((float)layoutOverflowLogicalBottom / pageLogicalHeight), pageLogicalHeight);
</ins><span class="cx"> 
</span><del>-    if (columnCount(colInfo)) {
-        setLogicalHeight(borderAndPaddingBefore() + colInfo-&gt;columnHeight() + borderAndPaddingAfter() + scrollbarLogicalHeight());
-        clearOverflow();
-    } else
-        m_overflow = savedOverflow.release();
</del><ins>+        if (columnCount(colInfo)) {
+            setLogicalHeight(borderAndPaddingBefore() + colInfo-&gt;columnHeight() + borderAndPaddingAfter() + scrollbarLogicalHeight());
+            clearOverflow();
+        } else
+            m_overflow = savedOverflow.release();
+        return false;
+    }
</ins><span class="cx">     
</span><del>-    return false;
</del><ins>+    if (!multiColumnFlowThread()-&gt;shouldRelayoutForPagination())
+        return false;
+    
+    multiColumnFlowThread()-&gt;setNeedsRebalancing(false);
+    multiColumnFlowThread()-&gt;setInBalancingPass(true); // Prevent re-entering this method (and recursion into layout).
+
+    bool needsRelayout;
+    bool neededRelayout = false;
+    bool firstPass = true;
+    do {
+        // Column heights may change here because of balancing. We may have to do multiple layout
+        // passes, depending on how the contents is fitted to the changed column heights. In most
+        // cases, laying out again twice or even just once will suffice. Sometimes we need more
+        // passes than that, though, but the number of retries should not exceed the number of
+        // columns, unless we have a bug.
+        needsRelayout = false;
+        for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox-&gt;nextSiblingBox())
+            if (childBox != multiColumnFlowThread() &amp;&amp; childBox-&gt;isRenderMultiColumnSet()) {
+                RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(childBox);
+                if (multicolSet-&gt;recalculateBalancedHeight(firstPass)) {
+                    multicolSet-&gt;setChildNeedsLayout(MarkOnlyThis);
+                    needsRelayout = true;
+                }
+            }
+
+        if (needsRelayout) {
+            // Layout again. Column balancing resulted in a new height.
+            neededRelayout = true;
+            multiColumnFlowThread()-&gt;setChildNeedsLayout(MarkOnlyThis);
+            setChildNeedsLayout(MarkOnlyThis);
+            if (firstPass)
+                statePusher.pop();
+            layoutBlock(false);
+        }
+        firstPass = false;
+    } while (needsRelayout);
+    
+    multiColumnFlowThread()-&gt;setInBalancingPass(false);
+    
+    return neededRelayout;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool RenderBlockFlow::hasLines() const
</span><span class="lines">@@ -3411,5 +3487,164 @@
</span><span class="cx"> }
</span><span class="cx"> #endif // ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx"> 
</span><ins>+RenderObject* RenderBlockFlow::layoutSpecialExcludedChild(bool relayoutChildren)
+{
+    if (!multiColumnFlowThread())
+        return 0;
+
+    // Update the dimensions of our regions before we lay out the flow thread.
+    // FIXME: Eventually this is going to get way more complicated, and we will be destroying regions
+    // instead of trying to keep them around.
+    bool shouldInvalidateRegions = false;
+    for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox-&gt;nextSiblingBox()) {
+        if (childBox == multiColumnFlowThread())
+            continue;
+
+        if (relayoutChildren || childBox-&gt;needsLayout()) {
+            if (!multiColumnFlowThread()-&gt;inBalancingPass() &amp;&amp; childBox-&gt;isRenderMultiColumnSet())
+                toRenderMultiColumnSet(childBox)-&gt;prepareForLayout();
+            shouldInvalidateRegions = true;
+        }
+    }
+    
+    if (shouldInvalidateRegions)
+        multiColumnFlowThread()-&gt;invalidateRegions();
+
+    if (relayoutChildren)
+        multiColumnFlowThread()-&gt;setChildNeedsLayout(MarkOnlyThis);
+    
+    if (multiColumnFlowThread()-&gt;requiresBalancing()) {
+        // At the end of multicol layout, relayoutForPagination() is called unconditionally, but if
+        // no children are to be laid out (e.g. fixed width with layout already being up-to-date),
+        // we want to prevent it from doing any work, so that the column balancing machinery doesn't
+        // kick in and trigger additional unnecessary layout passes. Actually, it's not just a good
+        // idea in general to not waste time on balancing content that hasn't been re-laid out; we
+        // are actually required to guarantee this. The calculation of implicit breaks needs to be
+        // preceded by a proper layout pass, since it's layout that sets up content runs, and the
+        // runs get deleted right after every pass.
+        multiColumnFlowThread()-&gt;setNeedsRebalancing(shouldInvalidateRegions || multiColumnFlowThread()-&gt;needsLayout());
+    }
+
+    setLogicalTopForChild(*multiColumnFlowThread(), borderAndPaddingBefore());
+    multiColumnFlowThread()-&gt;layoutIfNeeded();
+    determineLogicalLeftPositionForChild(*multiColumnFlowThread());
+    
+    return multiColumnFlowThread();
</ins><span class="cx"> }
</span><ins>+
+void RenderBlockFlow::addChild(RenderObject* newChild, RenderObject* beforeChild)
+{
+    if (multiColumnFlowThread())
+        return multiColumnFlowThread()-&gt;addChild(newChild, beforeChild);
+    RenderBlock::addChild(newChild, beforeChild);
+}
+
+void RenderBlockFlow::checkForPaginationLogicalHeightChange(LayoutUnit&amp; pageLogicalHeight, bool&amp; pageLogicalHeightChanged, bool&amp; hasSpecifiedPageLogicalHeight)
+{
+    // If we don't use either of the two column implementations or a flow thread, then bail.
+    if (!isRenderFlowThread() &amp;&amp; !multiColumnFlowThread() &amp;&amp; !hasColumns())
+        return;
+    
+    // We don't actually update any of the variables. We just subclassed to adjust our column height.
+    if (multiColumnFlowThread()) {
+        updateLogicalHeight();
+        multiColumnFlowThread()-&gt;setColumnHeightAvailable(std::max&lt;LayoutUnit&gt;(contentLogicalHeight(), 0));
+        setLogicalHeight(0);
+    } else if (hasColumns()) {
+        ColumnInfo* colInfo = columnInfo();
+    
+        if (!pageLogicalHeight) {
+            // We need to go ahead and set our explicit page height if one exists, so that we can
+            // avoid doing two layout passes.
+            updateLogicalHeight();
+            LayoutUnit columnHeight = isRenderView() ? view().pageOrViewLogicalHeight() : contentLogicalHeight();
+            if (columnHeight &gt; 0) {
+                pageLogicalHeight = columnHeight;
+                hasSpecifiedPageLogicalHeight = true;
+            }
+            setLogicalHeight(0);
+        }
+
+        if (colInfo-&gt;columnHeight() != pageLogicalHeight &amp;&amp; everHadLayout())
+            pageLogicalHeightChanged = true;
+
+        colInfo-&gt;setColumnHeight(pageLogicalHeight);
+        
+        if (!hasSpecifiedPageLogicalHeight &amp;&amp; !pageLogicalHeight)
+            colInfo-&gt;clearForcedBreaks();
+
+        colInfo-&gt;setPaginationUnit(paginationUnit());
+    } else if (isRenderFlowThread()) {
+        pageLogicalHeight = 1; // This is just a hack to always make sure we have a page logical height.
+        pageLogicalHeightChanged = toRenderFlowThread(this)-&gt;pageLogicalSizeChanged();
+    }
+}
+
+void RenderBlockFlow::setComputedColumnCountAndWidth(int count, LayoutUnit width)
+{
+    if (!document().regionBasedColumnsEnabled())
+        return RenderBlock::setComputedColumnCountAndWidth(count, width);
+    
+    bool destroyColumns = !requiresColumns(count);
+    if (destroyColumns) {
+        if (multiColumnFlowThread())
+            destroyMultiColumnFlowThread();
+    } else {
+        if (!multiColumnFlowThread())
+            createMultiColumnFlowThread();
+        multiColumnFlowThread()-&gt;setColumnCountAndWidth(count, width);
+        multiColumnFlowThread()-&gt;setProgressionIsInline(style().hasInlineColumnAxis());
+        multiColumnFlowThread()-&gt;setProgressionIsReversed(style().columnProgression() == ReverseColumnProgression);
+    }
+}
+
+void RenderBlockFlow::updateColumnProgressionFromStyle(RenderStyle* style)
+{
+    if (!document().regionBasedColumnsEnabled())
+        return RenderBlock::updateColumnProgressionFromStyle(style);
+
+    if (!multiColumnFlowThread())
+        return;
+    
+    bool needsLayout = false;
+    bool oldProgressionIsInline = multiColumnFlowThread()-&gt;progressionIsInline();
+    bool newProgressionIsInline = style-&gt;hasInlineColumnAxis();
+    if (oldProgressionIsInline != newProgressionIsInline) {
+        multiColumnFlowThread()-&gt;setProgressionIsInline(newProgressionIsInline);
+        needsLayout = true;
+    }
+
+    bool oldProgressionIsReversed = multiColumnFlowThread()-&gt;progressionIsReversed();
+    bool newProgressionIsReversed = style-&gt;columnProgression() == ReverseColumnProgression;
+    if (oldProgressionIsReversed != newProgressionIsReversed) {
+        multiColumnFlowThread()-&gt;setProgressionIsReversed(newProgressionIsReversed);
+        needsLayout = true;
+    }
+
+    if (needsLayout)
+        setNeedsLayoutAndPrefWidthsRecalc();
+}
+
+LayoutUnit RenderBlockFlow::computedColumnWidth() const
+{
+    if (!document().regionBasedColumnsEnabled())
+        return RenderBlock::computedColumnWidth();
+    
+    if (multiColumnFlowThread())
+        return multiColumnFlowThread()-&gt;computedColumnWidth();
+    return contentLogicalWidth();
+}
+
+unsigned RenderBlockFlow::computedColumnCount() const
+{
+    if (!document().regionBasedColumnsEnabled())
+        return RenderBlock::computedColumnCount();
+    
+    if (multiColumnFlowThread())
+        return multiColumnFlowThread()-&gt;computedColumnCount();
+    
+    return 1;
+}
+
+}
</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 (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBlockFlow.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -374,6 +374,13 @@
</span><span class="cx">     LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit offset, PageBoundaryRule = IncludePageBoundary) const;
</span><span class="cx">     bool hasNextPage(LayoutUnit logicalOffset, PageBoundaryRule = ExcludePageBoundary) const;
</span><span class="cx"> 
</span><ins>+    void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
+    
+    void createMultiColumnFlowThread();
+    void destroyMultiColumnFlowThread();
+    
+    virtual void updateColumnProgressionFromStyle(RenderStyle*) override;
+
</ins><span class="cx"> protected:
</span><span class="cx">     // A page break is required at some offset due to space shortage in the current fragmentainer.
</span><span class="cx">     void setPageBreak(LayoutUnit offset, LayoutUnit spaceShortage);
</span><span class="lines">@@ -428,7 +435,20 @@
</span><span class="cx">     virtual int firstLineBaseline() const override;
</span><span class="cx">     virtual int inlineBlockBaseline(LineDirectionMode) const override;
</span><span class="cx"> 
</span><ins>+    virtual bool isMultiColumnBlockFlow() const override { return multiColumnFlowThread(); }
+    
+    virtual void setComputedColumnCountAndWidth(int, LayoutUnit) override;
+
+    virtual LayoutUnit computedColumnWidth() const override;
+    virtual unsigned computedColumnCount() const override;
+
</ins><span class="cx"> private:
</span><ins>+    // 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
+    // the flow thread child.
+    virtual RenderObject* layoutSpecialExcludedChild(bool /*relayoutChildren*/);
+
+    void checkForPaginationLogicalHeightChange(LayoutUnit&amp; pageLogicalHeight, bool&amp; pageLogicalHeightChanged, bool&amp; hasSpecifiedPageLogicalHeight);
+    
</ins><span class="cx">     virtual void paintInlineChildren(PaintInfo&amp;, const LayoutPoint&amp;) override;
</span><span class="cx">     virtual void paintFloats(PaintInfo&amp;, const LayoutPoint&amp;, bool preservePhase = false) override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBoxcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBox.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -380,8 +380,8 @@
</span><span class="cx">         const Pagination&amp; pagination = view().frameView().pagination();
</span><span class="cx">         if (viewChangedWritingMode &amp;&amp; pagination.mode != Pagination::Unpaginated) {
</span><span class="cx">             viewStyle.setColumnStylesFromPaginationMode(pagination.mode);
</span><del>-            if (view().hasColumns())
-                view().updateColumnInfoFromStyle(&amp;viewStyle);
</del><ins>+            if (view().hasColumns() || view().multiColumnFlowThread())
+                view().updateColumnProgressionFromStyle(&amp;viewStyle);
</ins><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -4436,7 +4436,7 @@
</span><span class="cx">     return isReplaced() || hasUnsplittableScrollingOverflow() || (parent() &amp;&amp; isWritingModeRoot())
</span><span class="cx">         // FIXME: Treat multi-column elements as unsplittable for now. Remove once we implement the correct
</span><span class="cx">         // fragmentation model for multicolumn.
</span><del>-        || isRenderMultiColumnBlock();
</del><ins>+        || isMultiColumnBlockFlow();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderBox::lineHeight(bool /*firstLine*/, LineDirectionMode direction, LinePositionMode /*linePositionMode*/) const
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderBoxModelObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderBoxModelObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx">         // First figure out how big the mask has to be.  It should be no bigger than what we need
</span><span class="cx">         // to actually render, so we should intersect the dirty rect with the border box of the background.
</span><span class="cx">         maskRect = pixelSnappedIntRect(rect);
</span><del>-        maskRect.intersect(paintInfo.rect);
</del><ins>+        maskRect.intersect(pixelSnappedIntRect(paintInfo.rect));
</ins><span class="cx"> 
</span><span class="cx">         // Now create the mask.
</span><span class="cx">         maskImage = context-&gt;createCompatibleBuffer(maskRect.size());
</span><span class="lines">@@ -773,7 +773,7 @@
</span><span class="cx">         bool boxShadowShouldBeAppliedToBackground = this-&gt;boxShadowShouldBeAppliedToBackground(bleedAvoidance, box);
</span><span class="cx">         if (boxShadowShouldBeAppliedToBackground || !shouldPaintBackgroundImage || !bgLayer-&gt;hasOpaqueImage(this) || !bgLayer-&gt;hasRepeatXY()) {
</span><span class="cx">             if (!boxShadowShouldBeAppliedToBackground)
</span><del>-                backgroundRect.intersect(paintInfo.rect);
</del><ins>+                backgroundRect.intersect(pixelSnappedIntRect(paintInfo.rect));
</ins><span class="cx"> 
</span><span class="cx">             // If we have an alpha and we are painting the root element, go ahead and blend with the base background color.
</span><span class="cx">             Color baseColor;
</span><span class="lines">@@ -805,7 +805,7 @@
</span><span class="cx">     if (shouldPaintBackgroundImage) {
</span><span class="cx">         BackgroundImageGeometry geometry;
</span><span class="cx">         calculateBackgroundImageGeometry(paintInfo.paintContainer, bgLayer, scrolledPaintRect, geometry, backgroundObject);
</span><del>-        geometry.clip(paintInfo.rect);
</del><ins>+        geometry.clip(pixelSnappedIntRect(paintInfo.rect));
</ins><span class="cx">         if (!geometry.destRect().isEmpty()) {
</span><span class="cx">             CompositeOperator compositeOp = op == CompositeSourceOver ? bgLayer-&gt;composite() : op;
</span><span class="cx">             auto clientForBackgroundImage = backgroundObject ? backgroundObject : this;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderCombineTextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderCombineText.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderCombineText.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderCombineText.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -60,7 +60,7 @@
</span><span class="cx"> 
</span><span class="cx"> float RenderCombineText::width(unsigned from, unsigned length, const Font&amp; font, float xPosition, HashSet&lt;const SimpleFontData*&gt;* fallbackFonts, GlyphOverflow* glyphOverflow) const
</span><span class="cx"> {
</span><del>-    if (!characters())
</del><ins>+    if (!deprecatedCharacters())
</ins><span class="cx">         return 0;
</span><span class="cx"> 
</span><span class="cx">     if (m_isCombined)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderElement.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderElement.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderElement.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,7 +43,6 @@
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><span class="cx"> #include &quot;RenderLineBreak.h&quot;
</span><span class="cx"> #include &quot;RenderListItem.h&quot;
</span><del>-#include &quot;RenderMultiColumnBlock.h&quot;
</del><span class="cx"> #include &quot;RenderRegion.h&quot;
</span><span class="cx"> #include &quot;RenderRuby.h&quot;
</span><span class="cx"> #include &quot;RenderRubyText.h&quot;
</span><span class="lines">@@ -124,8 +123,6 @@
</span><span class="cx"> 
</span><span class="cx"> RenderPtr&lt;RenderElement&gt; RenderElement::createFor(Element&amp; element, PassRef&lt;RenderStyle&gt; style)
</span><span class="cx"> {
</span><del>-    Document&amp; document = element.document();
-
</del><span class="cx">     // Minimal support for content properties replacing an entire element.
</span><span class="cx">     // Works only if we have exactly one piece of content and it's a URL.
</span><span class="cx">     // Otherwise acts as if we didn't support this feature.
</span><span class="lines">@@ -157,8 +154,6 @@
</span><span class="cx">     case INLINE_BLOCK:
</span><span class="cx">     case RUN_IN:
</span><span class="cx">     case COMPACT:
</span><del>-        if ((!style.get().hasAutoColumnCount() || !style.get().hasAutoColumnWidth()) &amp;&amp; document.regionBasedColumnsEnabled())
-            return createRenderer&lt;RenderMultiColumnBlock&gt;(element, std::move(style));
</del><span class="cx">         return createRenderer&lt;RenderBlockFlow&gt;(element, std::move(style));
</span><span class="cx">     case LIST_ITEM:
</span><span class="cx">         return createRenderer&lt;RenderListItem&gt;(element, std::move(style));
</span><span class="lines">@@ -830,7 +825,7 @@
</span><span class="cx">         bool visibilityChanged = m_style-&gt;visibility() != newStyle.visibility()
</span><span class="cx">             || m_style-&gt;zIndex() != newStyle.zIndex()
</span><span class="cx">             || m_style-&gt;hasAutoZIndex() != newStyle.hasAutoZIndex();
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">         if (visibilityChanged)
</span><span class="cx">             document().setAnnotatedRegionsDirty(true);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderFlexibleBoxcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderFlexibleBox.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -457,7 +457,7 @@
</span><span class="cx">         computeLogicalHeight(borderBoxLogicalHeight, logicalTop(), computedValues);
</span><span class="cx">         if (computedValues.m_extent == LayoutUnit::max())
</span><span class="cx">             return computedValues.m_extent;
</span><del>-        return std::max(LayoutUnit(0), computedValues.m_extent - borderPaddingAndScrollbar);
</del><ins>+        return std::max(LayoutUnit::fromPixel(0), computedValues.m_extent - borderPaddingAndScrollbar);
</ins><span class="cx">     }
</span><span class="cx">     return contentLogicalWidth();
</span><span class="cx"> }
</span><span class="lines">@@ -682,7 +682,7 @@
</span><span class="cx">         ASSERT(mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child) &gt;= 0);
</span><span class="cx">         return mainAxisExtent - mainAxisBorderAndPaddingExtentForChild(child);
</span><span class="cx">     }
</span><del>-    return std::max(LayoutUnit(0), computeMainAxisExtentForChild(child, MainOrPreferredSize, flexBasis));
</del><ins>+    return std::max(LayoutUnit::fromPixel(0), computeMainAxisExtentForChild(child, MainOrPreferredSize, flexBasis));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderFlexibleBox::layoutFlexItems(bool relayoutChildren, Vector&lt;LineContext&gt;&amp; lineContexts)
</span><span class="lines">@@ -1269,7 +1269,7 @@
</span><span class="cx">                 continue;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            if (updateAutoMarginsInCrossAxis(*child, std::max(LayoutUnit(0), availableAlignmentSpaceForChild(lineCrossAxisExtent, *child))))
</del><ins>+            if (updateAutoMarginsInCrossAxis(*child, std::max(LayoutUnit::fromPixel(0), availableAlignmentSpaceForChild(lineCrossAxisExtent, *child))))
</ins><span class="cx">                 continue;
</span><span class="cx"> 
</span><span class="cx">             switch (alignmentForChild(*child)) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderInlinecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderInline.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderInline.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderInline.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> #include &quot;TransformState.h&quot;
</span><span class="cx"> #include &quot;VisiblePosition.h&quot;
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> #include &quot;Frame.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -1651,14 +1651,13 @@
</span><span class="cx">             antialias);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> void RenderInline::addAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp; regions)
</span><span class="cx"> {
</span><span class="cx">     // Convert the style regions to absolute coordinates.
</span><span class="cx">     if (style().visibility() != VISIBLE)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT)
</del><span class="cx">     const Vector&lt;StyleDashboardRegion&gt;&amp; styleRegions = style().dashboardRegions();
</span><span class="cx">     unsigned i, count = styleRegions.size();
</span><span class="cx">     for (i = 0; i &lt; count; i++) {
</span><span class="lines">@@ -1693,24 +1692,6 @@
</span><span class="cx"> 
</span><span class="cx">         regions.append(region);
</span><span class="cx">     }
</span><del>-#else // ENABLE(DRAGGABLE_REGION)
-    if (style().getDraggableRegionMode() == DraggableRegionNone)
-        return;
-
-    AnnotatedRegionValue region;
-    region.draggable = style().getDraggableRegionMode() == DraggableRegionDrag;
-    region.bounds = linesBoundingBox();
-
-    RenderObject* container = containingBlock();
-    if (!container)
-        container = this;
-
-    FloatPoint absPos = container-&gt;localToAbsolute();
-    region.bounds.setX(absPos.x() + region.bounds.x());
-    region.bounds.setY(absPos.y() + region.bounds.y());
-    
-    regions.append(region);
-#endif
</del><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderInlineh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderInline.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderInline.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderInline.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -164,7 +164,7 @@
</span><span class="cx"> 
</span><span class="cx">     virtual void imageChanged(WrappedImagePtr, const IntRect* = 0) override final;
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     virtual void addAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp;) override final;
</span><span class="cx"> #endif
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderLayercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderLayer.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderLayer.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderLayer.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2323,7 +2323,7 @@
</span><span class="cx">         // If we're in the middle of layout, we'll just update layers once layout has finished.
</span><span class="cx">         updateLayerPositionsAfterOverflowScroll();
</span><span class="cx">         // Update regions, scrolling may change the clip of a particular region.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">         view.frameView().updateAnnotatedRegions();
</span><span class="cx"> #endif
</span><span class="cx">         view.frameView().updateWidgetPositions();
</span><span class="lines">@@ -2726,7 +2726,7 @@
</span><span class="cx">     return maxX - thickness - layer-&gt;renderer().style().borderRightWidth();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static IntRect cornerRect(const RenderLayer* layer, const IntRect&amp; bounds)
</del><ins>+static LayoutRect cornerRect(const RenderLayer* layer, const LayoutRect&amp; bounds)
</ins><span class="cx"> {
</span><span class="cx">     int horizontalThickness;
</span><span class="cx">     int verticalThickness;
</span><span class="lines">@@ -2745,7 +2745,7 @@
</span><span class="cx">         horizontalThickness = layer-&gt;verticalScrollbar()-&gt;width();
</span><span class="cx">         verticalThickness = layer-&gt;horizontalScrollbar()-&gt;height();
</span><span class="cx">     }
</span><del>-    return IntRect(cornerStart(layer, bounds.x(), bounds.maxX(), horizontalThickness),
</del><ins>+    return LayoutRect(cornerStart(layer, bounds.x(), bounds.maxX(), horizontalThickness),
</ins><span class="cx">         bounds.maxY() - verticalThickness - layer-&gt;renderer().style().borderBottomWidth(),
</span><span class="cx">         horizontalThickness, verticalThickness);
</span><span class="cx"> }
</span><span class="lines">@@ -2760,26 +2760,26 @@
</span><span class="cx">     bool hasVerticalBar = verticalScrollbar();
</span><span class="cx">     bool hasResizer = renderer().style().resize() != RESIZE_NONE;
</span><span class="cx">     if ((hasHorizontalBar &amp;&amp; hasVerticalBar) || (hasResizer &amp;&amp; (hasHorizontalBar || hasVerticalBar)))
</span><del>-        return cornerRect(this, renderBox()-&gt;pixelSnappedBorderBoxRect());
</del><ins>+        return pixelSnappedIntRect(cornerRect(this, renderBox()-&gt;borderBoxRect()));
</ins><span class="cx">     return IntRect();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static IntRect resizerCornerRect(const RenderLayer* layer, const IntRect&amp; bounds)
</del><ins>+static LayoutRect resizerCornerRect(const RenderLayer* layer, const LayoutRect&amp; bounds)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(layer-&gt;renderer().isBox());
</span><span class="cx">     if (layer-&gt;renderer().style().resize() == RESIZE_NONE)
</span><del>-        return IntRect();
</del><ins>+        return LayoutRect();
</ins><span class="cx">     return cornerRect(layer, bounds);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-IntRect RenderLayer::scrollCornerAndResizerRect() const
</del><ins>+LayoutRect RenderLayer::scrollCornerAndResizerRect() const
</ins><span class="cx"> {
</span><span class="cx">     RenderBox* box = renderBox();
</span><span class="cx">     if (!box)
</span><span class="cx">         return IntRect();
</span><del>-    IntRect scrollCornerAndResizer = scrollCornerRect();
</del><ins>+    LayoutRect scrollCornerAndResizer = scrollCornerRect();
</ins><span class="cx">     if (scrollCornerAndResizer.isEmpty())
</span><del>-        scrollCornerAndResizer = resizerCornerRect(this, box-&gt;pixelSnappedBorderBoxRect());
</del><ins>+        scrollCornerAndResizer = resizerCornerRect(this, box-&gt;borderBoxRect());
</ins><span class="cx">     return scrollCornerAndResizer;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2900,7 +2900,7 @@
</span><span class="cx">     const RenderBox* box = renderBox();
</span><span class="cx">     int x = minX + box-&gt;borderLeft();
</span><span class="cx">     if (renderer().style().shouldPlaceBlockDirectionScrollbarOnLogicalLeft())
</span><del>-        x += m_vBar ? m_vBar-&gt;width() : resizerCornerRect(this, box-&gt;pixelSnappedBorderBoxRect()).width();
</del><ins>+        x += m_vBar ? m_vBar-&gt;width() : roundToInt(resizerCornerRect(this, box-&gt;borderBoxRect()).width());
</ins><span class="cx">     return x;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3041,7 +3041,7 @@
</span><span class="cx">         m_vBar-&gt;styleChanged();
</span><span class="cx"> 
</span><span class="cx">     // Force an update since we know the scrollbars have changed things.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     if (renderer().document().hasAnnotatedRegions())
</span><span class="cx">         renderer().document().setAnnotatedRegionsDirty(true);
</span><span class="cx"> #endif
</span><span class="lines">@@ -3064,7 +3064,7 @@
</span><span class="cx">         m_vBar-&gt;styleChanged();
</span><span class="cx"> 
</span><span class="cx">     // Force an update since we know the scrollbars have changed things.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     if (renderer().document().hasAnnotatedRegions())
</span><span class="cx">         renderer().document().setAnnotatedRegionsDirty(true);
</span><span class="cx"> #endif
</span><span class="lines">@@ -3276,7 +3276,7 @@
</span><span class="cx">         updateSelfPaintingLayer();
</span><span class="cx"> 
</span><span class="cx">         // Force an update since we know the scrollbars have changed things.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">         if (renderer().document().hasAnnotatedRegions())
</span><span class="cx">             renderer().document().setAnnotatedRegionsDirty(true);
</span><span class="cx"> #endif
</span><span class="lines">@@ -3483,7 +3483,7 @@
</span><span class="cx">         context-&gt;fillRect(absRect, Color::white, box-&gt;style().colorSpace());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::drawPlatformResizerImage(GraphicsContext* context, IntRect resizerCornerRect)
</del><ins>+void RenderLayer::drawPlatformResizerImage(GraphicsContext* context, const LayoutRect&amp; resizerCornerRect)
</ins><span class="cx"> {
</span><span class="cx">     float deviceScaleFactor = WebCore::deviceScaleFactor(&amp;renderer().frame());
</span><span class="cx"> 
</span><span class="lines">@@ -3508,11 +3508,11 @@
</span><span class="cx">         context-&gt;restore();
</span><span class="cx">         return;
</span><span class="cx">     }
</span><del>-    IntRect imageRect(resizerCornerRect.maxXMaxYCorner() - cornerResizerSize, cornerResizerSize);
-    context-&gt;drawImage(resizeCornerImage.get(), renderer().style().colorSpace(), imageRect);
</del><ins>+    LayoutRect imageRect(resizerCornerRect.maxXMaxYCorner() - cornerResizerSize, cornerResizerSize);
+    context-&gt;drawImage(resizeCornerImage.get(), renderer().style().colorSpace(), pixelSnappedIntRect(imageRect));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderLayer::paintResizer(GraphicsContext* context, const IntPoint&amp; paintOffset, const IntRect&amp; damageRect)
</del><ins>+void RenderLayer::paintResizer(GraphicsContext* context, const LayoutPoint&amp; paintOffset, const LayoutRect&amp; damageRect)
</ins><span class="cx"> {
</span><span class="cx">     if (renderer().style().resize() == RESIZE_NONE)
</span><span class="cx">         return;
</span><span class="lines">@@ -3520,7 +3520,7 @@
</span><span class="cx">     RenderBox* box = renderBox();
</span><span class="cx">     ASSERT(box);
</span><span class="cx"> 
</span><del>-    IntRect absRect = resizerCornerRect(this, box-&gt;pixelSnappedBorderBoxRect());
</del><ins>+    LayoutRect absRect = resizerCornerRect(this, box-&gt;borderBoxRect());
</ins><span class="cx">     absRect.moveBy(paintOffset);
</span><span class="cx">     if (!absRect.intersects(damageRect))
</span><span class="cx">         return;
</span><span class="lines">@@ -3542,12 +3542,12 @@
</span><span class="cx">     if (!hasOverlayScrollbars() &amp;&amp; (m_vBar || m_hBar)) {
</span><span class="cx">         GraphicsContextStateSaver stateSaver(*context);
</span><span class="cx">         context-&gt;clip(absRect);
</span><del>-        IntRect largerCorner = absRect;
-        largerCorner.setSize(IntSize(largerCorner.width() + 1, largerCorner.height() + 1));
</del><ins>+        LayoutRect largerCorner = absRect;
+        largerCorner.setSize(LayoutSize(largerCorner.width() + LayoutUnit::fromPixel(1), largerCorner.height() + LayoutUnit::fromPixel(1)));
</ins><span class="cx">         context-&gt;setStrokeColor(Color(makeRGB(217, 217, 217)), ColorSpaceDeviceRGB);
</span><span class="cx">         context-&gt;setStrokeThickness(1.0f);
</span><span class="cx">         context-&gt;setFillColor(Color::transparent, ColorSpaceDeviceRGB);
</span><del>-        context-&gt;drawRect(largerCorner);
</del><ins>+        context-&gt;drawRect(pixelSnappedIntRect(largerCorner));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3575,7 +3575,7 @@
</span><span class="cx">     
</span><span class="cx">     IntRect resizeControlRect;
</span><span class="cx">     if (renderer().style().resize() != RESIZE_NONE) {
</span><del>-        resizeControlRect = resizerCornerRect(this, box-&gt;pixelSnappedBorderBoxRect());
</del><ins>+        resizeControlRect = pixelSnappedIntRect(resizerCornerRect(this, box-&gt;borderBoxRect()));
</ins><span class="cx">         if (resizeControlRect.contains(localPoint))
</span><span class="cx">             return true;
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderLayerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderLayer.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderLayer.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderLayer.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -459,7 +459,7 @@
</span><span class="cx"> 
</span><span class="cx">     void paintOverflowControls(GraphicsContext*, const IntPoint&amp;, const IntRect&amp; damageRect, bool paintingOverlayControls = false);
</span><span class="cx">     void paintScrollCorner(GraphicsContext*, const IntPoint&amp;, const IntRect&amp; damageRect);
</span><del>-    void paintResizer(GraphicsContext*, const IntPoint&amp;, const IntRect&amp; damageRect);
</del><ins>+    void paintResizer(GraphicsContext*, const LayoutPoint&amp;, const LayoutRect&amp; damageRect);
</ins><span class="cx"> 
</span><span class="cx">     void updateScrollInfoAfterLayout();
</span><span class="cx"> 
</span><span class="lines">@@ -1078,7 +1078,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     // Rectangle encompassing the scroll corner and resizer rect.
</span><del>-    IntRect scrollCornerAndResizerRect() const;
</del><ins>+    LayoutRect scrollCornerAndResizerRect() const;
</ins><span class="cx"> 
</span><span class="cx">     // NOTE: This should only be called by the overriden setScrollOffset from ScrollableArea.
</span><span class="cx">     void scrollTo(int, int);
</span><span class="lines">@@ -1130,7 +1130,7 @@
</span><span class="cx">     void updateScrollCornerStyle();
</span><span class="cx">     void updateResizerStyle();
</span><span class="cx"> 
</span><del>-    void drawPlatformResizerImage(GraphicsContext*, IntRect resizerCornerRect);
</del><ins>+    void drawPlatformResizerImage(GraphicsContext*, const LayoutRect&amp; resizerCornerRect);
</ins><span class="cx"> 
</span><span class="cx">     void updatePagination();
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderLayerBackingcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderLayerBacking.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderLayerBacking.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2253,12 +2253,12 @@
</span><span class="cx">     } else if (graphicsLayer == layerForVerticalScrollbar()) {
</span><span class="cx">         paintScrollbar(m_owningLayer.verticalScrollbar(), context, clip);
</span><span class="cx">     } else if (graphicsLayer == layerForScrollCorner()) {
</span><del>-        const IntRect&amp; scrollCornerAndResizer = m_owningLayer.scrollCornerAndResizerRect();
</del><ins>+        const LayoutRect&amp; scrollCornerAndResizer = m_owningLayer.scrollCornerAndResizerRect();
</ins><span class="cx">         context.save();
</span><span class="cx">         context.translate(-scrollCornerAndResizer.x(), -scrollCornerAndResizer.y());
</span><del>-        IntRect transformedClip = clip;
</del><ins>+        LayoutRect transformedClip = clip;
</ins><span class="cx">         transformedClip.moveBy(scrollCornerAndResizer.location());
</span><del>-        m_owningLayer.paintScrollCorner(&amp;context, IntPoint(), transformedClip);
</del><ins>+        m_owningLayer.paintScrollCorner(&amp;context, IntPoint(), pixelSnappedIntRect(transformedClip));
</ins><span class="cx">         m_owningLayer.paintResizer(&amp;context, IntPoint(), transformedClip);
</span><span class="cx">         context.restore();
</span><span class="cx">     }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderLayerCompositorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderLayerCompositor.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderLayerCompositor.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderLayerCompositor.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3528,6 +3528,9 @@
</span><span class="cx">     if (m_renderView.document().ownerElement())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    if (scrollingCoordinator())
+        return;
+
</ins><span class="cx">     LayerMap layerMap;
</span><span class="cx">     StickyContainerMap stickyContainerMap;
</span><span class="cx"> 
</span><span class="lines">@@ -3559,6 +3562,9 @@
</span><span class="cx">     if (m_renderView.document().ownerElement())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+    if (scrollingCoordinator())
+        return;
+
</ins><span class="cx">     if (ChromeClient* client = this-&gt;chromeClient()) {
</span><span class="cx">         LayerMap layerMap;
</span><span class="cx">         StickyContainerMap stickyContainerMap;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderListBoxcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderListBox.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderListBox.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderListBox.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -350,7 +350,7 @@
</span><span class="cx">             m_vBar-&gt;width(),
</span><span class="cx">             height() - (borderTop() + borderBottom()));
</span><span class="cx">         m_vBar-&gt;setFrameRect(scrollRect);
</span><del>-        m_vBar-&gt;paint(paintInfo.context, paintInfo.rect);
</del><ins>+        m_vBar-&gt;paint(paintInfo.context, pixelSnappedIntRect(paintInfo.rect));
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -830,7 +830,7 @@
</span><span class="cx">         m_vBar-&gt;styleChanged();
</span><span class="cx"> 
</span><span class="cx">     // Force an update since we know the scrollbars have changed things.
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     if (document().hasAnnotatedRegions())
</span><span class="cx">         document().setAnnotatedRegionsDirty(true);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnBlockcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,198 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 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. ``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 COMPUTER, INC. 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 &quot;config.h&quot;
-#include &quot;RenderMultiColumnBlock.h&quot;
-
-#include &quot;RenderMultiColumnFlowThread.h&quot;
-#include &quot;RenderMultiColumnSet.h&quot;
-#include &quot;RenderView.h&quot;
-#include &quot;StyleInheritedData.h&quot;
-
-namespace WebCore {
-
-RenderMultiColumnBlock::RenderMultiColumnBlock(Element&amp; element, PassRef&lt;RenderStyle&gt; stylePtr)
-    : RenderBlockFlow(element, std::move(stylePtr))
-{
-    setChildrenInline(false);
-    RenderMultiColumnFlowThread* flowThread = new RenderMultiColumnFlowThread(document(), RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), BLOCK));
-    flowThread-&gt;initializeStyle();
-    RenderBlockFlow::addChild(flowThread);
-    setMultiColumnFlowThread(flowThread);
-}
-
-bool RenderMultiColumnBlock::requiresBalancing() const
-{
-    return multiColumnFlowThread()-&gt;requiresBalancing();
-}
-
-LayoutUnit RenderMultiColumnBlock::columnHeightAvailable() const
-{
-    return multiColumnFlowThread()-&gt;columnHeightAvailable();
-}
-
-LayoutUnit RenderMultiColumnBlock::columnWidth() const
-{
-    return multiColumnFlowThread()-&gt;columnWidth();
-}
-
-unsigned RenderMultiColumnBlock::columnCount() const
-{
-    return multiColumnFlowThread()-&gt;columnCount();
-}
-    
-void RenderMultiColumnBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
-{
-    RenderBlockFlow::styleDidChange(diff, oldStyle);
-    for (RenderBox* child = firstChildBox(); child; child = child-&gt;nextSiblingBox())
-        child-&gt;setStyle(RenderStyle::createAnonymousStyleWithDisplay(&amp;style(), BLOCK));
-}
-
-bool RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth()
-{
-    bool relayoutChildren = RenderBlockFlow::updateLogicalWidthAndColumnWidth();
-    if (multiColumnFlowThread()-&gt;computeColumnCountAndWidth())
-        relayoutChildren = true;
-    return relayoutChildren;
-}
-
-void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit&amp; /*pageLogicalHeight*/, bool&amp; /*pageLogicalHeightChanged*/, bool&amp; /*hasSpecifiedPageLogicalHeight*/)
-{
-    // We don't actually update any of the variables. We just subclassed to adjust our column height.
-    updateLogicalHeight();
-    multiColumnFlowThread()-&gt;setColumnHeightAvailable(std::max&lt;LayoutUnit&gt;(contentLogicalHeight(), 0));
-    setLogicalHeight(0);
-}
-
-bool RenderMultiColumnBlock::relayoutForPagination(bool, LayoutUnit, LayoutStateMaintainer&amp; statePusher)
-{
-    if (!multiColumnFlowThread()-&gt;shouldRelayoutForPagination())
-        return false;
-    
-    multiColumnFlowThread()-&gt;setNeedsRebalancing(false);
-    multiColumnFlowThread()-&gt;setInBalancingPass(true); // Prevent re-entering this method (and recursion into layout).
-
-    bool needsRelayout;
-    bool neededRelayout = false;
-    bool firstPass = true;
-    do {
-        // Column heights may change here because of balancing. We may have to do multiple layout
-        // passes, depending on how the contents is fitted to the changed column heights. In most
-        // cases, laying out again twice or even just once will suffice. Sometimes we need more
-        // passes than that, though, but the number of retries should not exceed the number of
-        // columns, unless we have a bug.
-        needsRelayout = false;
-        for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox-&gt;nextSiblingBox())
-            if (childBox != multiColumnFlowThread() &amp;&amp; childBox-&gt;isRenderMultiColumnSet()) {
-                RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(childBox);
-                if (multicolSet-&gt;recalculateBalancedHeight(firstPass)) {
-                    multicolSet-&gt;setChildNeedsLayout(MarkOnlyThis);
-                    needsRelayout = true;
-                }
-            }
-
-        if (needsRelayout) {
-            // Layout again. Column balancing resulted in a new height.
-            neededRelayout = true;
-            multiColumnFlowThread()-&gt;setChildNeedsLayout(MarkOnlyThis);
-            setChildNeedsLayout(MarkOnlyThis);
-            if (firstPass)
-                statePusher.pop();
-            layoutBlock(false);
-        }
-        firstPass = false;
-    } while (needsRelayout);
-    
-    multiColumnFlowThread()-&gt;setInBalancingPass(false);
-    
-    return neededRelayout;
-}
-
-void RenderMultiColumnBlock::addChild(RenderObject* newChild, RenderObject* beforeChild)
-{
-    multiColumnFlowThread()-&gt;addChild(newChild, beforeChild);
-}
-    
-RenderObject* RenderMultiColumnBlock::layoutSpecialExcludedChild(bool relayoutChildren)
-{
-    // Update the dimensions of our regions before we lay out the flow thread.
-    // FIXME: Eventually this is going to get way more complicated, and we will be destroying regions
-    // instead of trying to keep them around.
-    bool shouldInvalidateRegions = false;
-    for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox-&gt;nextSiblingBox()) {
-        if (childBox == multiColumnFlowThread())
-            continue;
-
-        if (relayoutChildren || childBox-&gt;needsLayout()) {
-            if (!multiColumnFlowThread()-&gt;inBalancingPass() &amp;&amp; childBox-&gt;isRenderMultiColumnSet())
-                toRenderMultiColumnSet(childBox)-&gt;prepareForLayout();
-            shouldInvalidateRegions = true;
-        }
-    }
-    
-    if (shouldInvalidateRegions)
-        multiColumnFlowThread()-&gt;invalidateRegions();
-
-    if (relayoutChildren)
-        multiColumnFlowThread()-&gt;setChildNeedsLayout(MarkOnlyThis);
-    
-    if (multiColumnFlowThread()-&gt;requiresBalancing()) {
-        // At the end of multicol layout, relayoutForPagination() is called unconditionally, but if
-        // no children are to be laid out (e.g. fixed width with layout already being up-to-date),
-        // we want to prevent it from doing any work, so that the column balancing machinery doesn't
-        // kick in and trigger additional unnecessary layout passes. Actually, it's not just a good
-        // idea in general to not waste time on balancing content that hasn't been re-laid out; we
-        // are actually required to guarantee this. The calculation of implicit breaks needs to be
-        // preceded by a proper layout pass, since it's layout that sets up content runs, and the
-        // runs get deleted right after every pass.
-        multiColumnFlowThread()-&gt;setNeedsRebalancing(shouldInvalidateRegions || multiColumnFlowThread()-&gt;needsLayout());
-    }
-
-    setLogicalTopForChild(*multiColumnFlowThread(), borderAndPaddingBefore());
-    multiColumnFlowThread()-&gt;layoutIfNeeded();
-    determineLogicalLeftPositionForChild(*multiColumnFlowThread());
-    
-    return multiColumnFlowThread();
-}
-
-const char* RenderMultiColumnBlock::renderName() const
-{
-    if (isFloating())
-        return &quot;RenderMultiColumnBlock (floating)&quot;;
-    if (isOutOfFlowPositioned())
-        return &quot;RenderMultiColumnBlock (positioned)&quot;;
-    if (isAnonymousBlock())
-        return &quot;RenderMultiColumnBlock (anonymous)&quot;;
-    // FIXME: Temporary hack while the new generated content system is being implemented.
-    if (isPseudoElement())
-        return &quot;RenderMultiColumnBlock (generated)&quot;;
-    if (isAnonymous())
-        return &quot;RenderMultiColumnBlock (generated)&quot;;
-    if (isRelPositioned())
-        return &quot;RenderMultiColumnBlock (relative positioned)&quot;;
-    return &quot;RenderMultiColumnBlock&quot;;
-}
-
-}
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnBlockh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnBlock.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,72 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 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. ``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 COMPUTER, INC. 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 RenderMultiColumnBlock_h
-#define RenderMultiColumnBlock_h
-
-#include &quot;RenderBlockFlow.h&quot;
-
-namespace WebCore {
-
-class RenderMultiColumnFlowThread;
-
-class RenderMultiColumnBlock final : public RenderBlockFlow {
-public:
-    RenderMultiColumnBlock(Element&amp;, PassRef&lt;RenderStyle&gt;);
-    Element&amp; element() const { return toElement(nodeForNonAnonymous()); }
-
-    LayoutUnit columnHeightAvailable() const;
-
-    LayoutUnit columnWidth() const;
-    unsigned columnCount() const;
-
-    bool requiresBalancing() const;
-    
-private:
-    virtual bool isRenderMultiColumnBlock() const { return true; }
-    virtual const char* renderName() const;
-
-    virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren) override;
-
-    virtual void styleDidChange(StyleDifference, const RenderStyle*) override;
-    
-    virtual bool updateLogicalWidthAndColumnWidth() override;
-    virtual void checkForPaginationLogicalHeightChange(LayoutUnit&amp; pageLogicalHeight, bool&amp; pageLogicalHeightChanged, bool&amp; hasSpecifiedPageLogicalHeight) override;
-    virtual bool relayoutForPagination(bool hasSpecifiedPageLogicalHeight, LayoutUnit pageLogicalHeight, LayoutStateMaintainer&amp;) override;
-
-    virtual void addChild(RenderObject* newChild, RenderObject* beforeChild = 0) override;
-
-    void computeColumnCountAndWidth();
-
-    void ensureColumnSets();
-};
-
-RENDER_OBJECT_TYPE_CASTS(RenderMultiColumnBlock, isRenderMultiColumnBlock())
-
-} // namespace WebCore
-
-#endif // RenderMultiColumnBlock_h
-
</del></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnFlowThreadcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,6 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;RenderMultiColumnFlowThread.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;RenderMultiColumnBlock.h&quot;
</del><span class="cx"> #include &quot;RenderMultiColumnSet.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -38,6 +37,8 @@
</span><span class="cx">     , m_columnHeightAvailable(0)
</span><span class="cx">     , m_inBalancingPass(false)
</span><span class="cx">     , m_needsRebalancing(false)
</span><ins>+    , m_progressionIsInline(false)
+    , m_progressionIsReversed(false)
</ins><span class="cx"> {
</span><span class="cx">     setFlowThreadState(InsideInFlowThread);
</span><span class="cx"> }
</span><span class="lines">@@ -60,44 +61,9 @@
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderMultiColumnFlowThread::initialLogicalWidth() const
</span><span class="cx"> {
</span><del>-    RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
-    return parentBlock-&gt;columnWidth();
</del><ins>+    return columnWidth();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool RenderMultiColumnFlowThread::computeColumnCountAndWidth()
-{
-    RenderBlock* columnBlock = toRenderBlock(parent());
-    
-    LayoutUnit oldColumnWidth = m_columnWidth;
-    
-    // Calculate our column width and column count.
-    // FIXME: Can overflow on fast/block/float/float-not-removed-from-next-sibling4.html, see https://bugs.webkit.org/show_bug.cgi?id=68744
-    m_columnCount = 1;
-    m_columnWidth = columnBlock-&gt;contentLogicalWidth();
-    
-    const RenderStyle&amp; columnStyle = columnBlock-&gt;style();
-    
-    ASSERT(!columnStyle.hasAutoColumnCount() || !columnStyle.hasAutoColumnWidth());
-
-    LayoutUnit availWidth = m_columnWidth;
-    LayoutUnit colGap = columnBlock-&gt;columnGap();
-    LayoutUnit colWidth = std::max&lt;LayoutUnit&gt;(1, LayoutUnit(columnStyle.columnWidth()));
-    int colCount = std::max&lt;int&gt;(1, columnStyle.columnCount());
-
-    if (columnStyle.hasAutoColumnWidth() &amp;&amp; !columnStyle.hasAutoColumnCount()) {
-        m_columnCount = colCount;
-        m_columnWidth = std::max&lt;LayoutUnit&gt;(0, (availWidth - ((m_columnCount - 1) * colGap)) / m_columnCount);
-    } else if (!columnStyle.hasAutoColumnWidth() &amp;&amp; columnStyle.hasAutoColumnCount()) {
-        m_columnCount = std::max&lt;LayoutUnit&gt;(1, (availWidth + colGap) / (colWidth + colGap));
-        m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap;
-    } else {
-        m_columnCount = std::max&lt;LayoutUnit&gt;(std::min&lt;LayoutUnit&gt;(colCount, (availWidth + colGap) / (colWidth + colGap)), 1);
-        m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap;
-    }
-    
-    return m_columnWidth != oldColumnWidth;
-}
-
</del><span class="cx"> void RenderMultiColumnFlowThread::autoGenerateRegionsToBlockOffset(LayoutUnit /*offset*/)
</span><span class="cx"> {
</span><span class="cx">     // This function ensures we have the correct column set information at all times.
</span><span class="lines">@@ -124,7 +90,7 @@
</span><span class="cx">     
</span><span class="cx">     invalidateRegions();
</span><span class="cx"> 
</span><del>-    RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
</del><ins>+    RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
</ins><span class="cx">     firstSet = new RenderMultiColumnSet(*this, RenderStyle::createAnonymousStyleWithDisplay(&amp;parentBlock-&gt;style(), BLOCK));
</span><span class="cx">     firstSet-&gt;initializeStyle();
</span><span class="cx">     parentBlock-&gt;RenderBlock::addChild(firstSet);
</span><span class="lines">@@ -154,7 +120,7 @@
</span><span class="cx">     if (RenderMultiColumnSet* multicolSet = toRenderMultiColumnSet(regionAtBlockOffset(block, offset))) {
</span><span class="cx">         multicolSet-&gt;addForcedBreak(offset);
</span><span class="cx">         if (offsetBreakAdjustment)
</span><del>-            *offsetBreakAdjustment = pageLogicalHeightForOffset(offset) ? pageRemainingLogicalHeightForOffset(offset, IncludePageBoundary) : LayoutUnit(0);
</del><ins>+            *offsetBreakAdjustment = pageLogicalHeightForOffset(offset) ? pageRemainingLogicalHeightForOffset(offset, IncludePageBoundary) : LayoutUnit::fromPixel(0);
</ins><span class="cx">         return true;
</span><span class="cx">     }
</span><span class="cx">     return false;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnFlowThreadh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnFlowThread.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -44,13 +44,23 @@
</span><span class="cx">     void setInBalancingPass(bool balancing) { m_inBalancingPass = balancing; }
</span><span class="cx">     bool needsRebalancing() const { return m_needsRebalancing; }
</span><span class="cx">     void setNeedsRebalancing(bool balancing) { m_needsRebalancing = balancing; }
</span><del>-
-    bool computeColumnCountAndWidth();
</del><span class="cx">     
</span><span class="cx">     bool shouldRelayoutForPagination() const { return !m_inBalancingPass &amp;&amp; m_needsRebalancing; }
</span><span class="cx">     
</span><span class="cx">     bool requiresBalancing() const { return !columnHeightAvailable() || parent()-&gt;style().columnFill() == ColumnFillBalance; }
</span><span class="cx"> 
</span><ins>+    void setColumnCountAndWidth(unsigned count, LayoutUnit width)
+    {
+        m_columnCount = count;
+        m_columnWidth = width;
+    }
+
+    bool progressionIsInline() const { return m_progressionIsInline; }
+    void setProgressionIsInline(bool progressionIsInline) { m_progressionIsInline = progressionIsInline; }
+
+    bool progressionIsReversed() const { return m_progressionIsReversed; }
+    void setProgressionIsReversed(bool reversed) { m_progressionIsReversed = reversed; }
+    
</ins><span class="cx"> private:
</span><span class="cx">     virtual const char* renderName() const override;
</span><span class="cx">     virtual void computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logicalTop, LogicalExtentComputedValues&amp;) const override;
</span><span class="lines">@@ -67,6 +77,9 @@
</span><span class="cx">     LayoutUnit m_columnHeightAvailable; // Total height available to columns, or 0 if auto.
</span><span class="cx">     bool m_inBalancingPass; // Guard to avoid re-entering column balancing.
</span><span class="cx">     bool m_needsRebalancing;
</span><ins>+    
+    bool m_progressionIsInline;
+    bool m_progressionIsReversed;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebCore
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderMultiColumnSetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderMultiColumnSet.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;PaintInfo.h&quot;
</span><span class="cx"> #include &quot;RenderLayer.h&quot;
</span><del>-#include &quot;RenderMultiColumnBlock.h&quot;
</del><span class="cx"> #include &quot;RenderMultiColumnFlowThread.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="lines">@@ -46,11 +45,11 @@
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderMultiColumnSet::heightAdjustedForSetOffset(LayoutUnit height) const
</span><span class="cx"> {
</span><del>-    RenderMultiColumnBlock* multicolBlock = toRenderMultiColumnBlock(parent());
</del><ins>+    RenderBlockFlow* multicolBlock = toRenderBlockFlow(parent());
</ins><span class="cx">     LayoutUnit contentLogicalTop = logicalTop() - multicolBlock-&gt;borderAndPaddingBefore();
</span><span class="cx"> 
</span><span class="cx">     height -= contentLogicalTop;
</span><del>-    return std::max(height, LayoutUnit(1)); // Let's avoid zero height, as that would probably cause an infinite amount of columns to be created.
</del><ins>+    return std::max(height, LayoutUnit::fromPixel(1)); // Let's avoid zero height, as that would probably cause an infinite amount of columns to be created.
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LayoutUnit RenderMultiColumnSet::pageLogicalTopForOffset(LayoutUnit offset) const
</span><span class="lines">@@ -119,7 +118,7 @@
</span><span class="cx">     if (initial) {
</span><span class="cx">         // Start with the lowest imaginable column height.
</span><span class="cx">         unsigned index = findRunWithTallestColumns();
</span><del>-        LayoutUnit startOffset = index &gt; 0 ? m_contentRuns[index - 1].breakOffset() : LayoutUnit(0);
</del><ins>+        LayoutUnit startOffset = index &gt; 0 ? m_contentRuns[index - 1].breakOffset() : LayoutUnit::fromPixel(0);
</ins><span class="cx">         return std::max&lt;LayoutUnit&gt;(m_contentRuns[index].columnLogicalHeight(startOffset), m_minimumColumnHeight);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -152,7 +151,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderMultiColumnSet::addForcedBreak(LayoutUnit offsetFromFirstPage)
</span><span class="cx"> {
</span><del>-    if (!toRenderMultiColumnBlock(parent())-&gt;requiresBalancing())
</del><ins>+    if (!toRenderBlockFlow(parent())-&gt;multiColumnFlowThread()-&gt;requiresBalancing())
</ins><span class="cx">         return;
</span><span class="cx">     if (!m_contentRuns.isEmpty() &amp;&amp; offsetFromFirstPage &lt;= m_contentRuns.last().breakOffset())
</span><span class="cx">         return;
</span><span class="lines">@@ -164,7 +163,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RenderMultiColumnSet::recalculateBalancedHeight(bool initial)
</span><span class="cx"> {
</span><del>-    ASSERT(toRenderMultiColumnBlock(parent())-&gt;requiresBalancing());
</del><ins>+    ASSERT(toRenderBlockFlow(parent())-&gt;multiColumnFlowThread()-&gt;requiresBalancing());
</ins><span class="cx"> 
</span><span class="cx">     LayoutUnit oldColumnHeight = m_computedColumnHeight;
</span><span class="cx">     if (initial)
</span><span class="lines">@@ -200,8 +199,8 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderMultiColumnSet::updateLogicalWidth()
</span><span class="cx"> {
</span><del>-    RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
-    setComputedColumnWidthAndCount(parentBlock-&gt;columnWidth(), parentBlock-&gt;columnCount()); // FIXME: This will eventually vary if we are contained inside regions.
</del><ins>+    RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
+    setComputedColumnWidthAndCount(parentBlock-&gt;multiColumnFlowThread()-&gt;columnWidth(), parentBlock-&gt;multiColumnFlowThread()-&gt;columnCount()); // FIXME: This will eventually vary if we are contained inside regions.
</ins><span class="cx">     
</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="lines">@@ -222,7 +221,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RenderMultiColumnSet::prepareForLayout()
</span><span class="cx"> {
</span><del>-    RenderMultiColumnBlock* multicolBlock = toRenderMultiColumnBlock(parent());
</del><ins>+    RenderBlockFlow* multicolBlock = toRenderBlockFlow(parent());
</ins><span class="cx">     const RenderStyle&amp; multicolStyle = multicolBlock-&gt;style();
</span><span class="cx"> 
</span><span class="cx">     // Set box logical top.
</span><span class="lines">@@ -248,7 +247,7 @@
</span><span class="cx">         m_maxColumnHeight = heightAdjustedForSetOffset(m_maxColumnHeight);
</span><span class="cx">         m_computedColumnHeight = 0; // Restart balancing.
</span><span class="cx">     } else
</span><del>-        setAndConstrainColumnHeight(heightAdjustedForSetOffset(multicolBlock-&gt;columnHeightAvailable()));
</del><ins>+        setAndConstrainColumnHeight(heightAdjustedForSetOffset(multicolBlock-&gt;multiColumnFlowThread()-&gt;columnHeightAvailable()));
</ins><span class="cx"> 
</span><span class="cx">     clearForcedBreaks();
</span><span class="cx"> 
</span><span class="lines">@@ -266,7 +265,7 @@
</span><span class="cx"> {
</span><span class="cx">     // FIXME: Eventually we will cache the column gap when the widths of columns start varying, but for now we just
</span><span class="cx">     // go to the parent block to get the gap.
</span><del>-    RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
</del><ins>+    RenderBlockFlow* parentBlock = toRenderBlockFlow(parent());
</ins><span class="cx">     if (parentBlock-&gt;style().hasNormalColumnGap())
</span><span class="cx">         return parentBlock-&gt;style().fontDescription().computedPixelSize(); // &quot;1em&quot; is recommended as the normal gap setting. Matches &lt;p&gt; margins.
</span><span class="cx">     return parentBlock-&gt;style().columnGap();
</span><span class="lines">@@ -396,7 +395,7 @@
</span><span class="cx">     if (paintInfo.context-&gt;paintingDisabled())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    const RenderStyle&amp; blockStyle = toRenderMultiColumnBlock(parent())-&gt;style();
</del><ins>+    const RenderStyle&amp; blockStyle = parent()-&gt;style();
</ins><span class="cx">     const Color&amp; ruleColor = blockStyle.visitedDependentColor(CSSPropertyWebkitColumnRuleColor);
</span><span class="cx">     bool ruleTransparent = blockStyle.columnRuleIsTransparent();
</span><span class="cx">     EBorderStyle ruleStyle = blockStyle.columnRuleStyle();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1065,7 +1065,7 @@
</span><span class="cx">         return columnNumber;
</span><span class="cx"> 
</span><span class="cx">     ColumnInfo* columnInfo = view.columnInfo();
</span><del>-    if (columnInfo &amp;&amp; columnInfo-&gt;progressionAxis() == ColumnInfo::BlockAxis) {
</del><ins>+    if (columnInfo &amp;&amp; !columnInfo-&gt;progressionIsInline()) {
</ins><span class="cx">         if (!columnInfo-&gt;progressionIsReversed())
</span><span class="cx">             columnNumber = (pagination.pageLength + pagination.gap - offset) / (pagination.pageLength + pagination.gap);
</span><span class="cx">         else
</span><span class="lines">@@ -2141,7 +2141,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> void RenderObject::addAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp; regions)
</span><span class="cx"> {
</span><span class="cx">     // Convert the style regions to absolute coordinates.
</span><span class="lines">@@ -2151,7 +2151,6 @@
</span><span class="cx">     RenderBox* box = toRenderBox(this);
</span><span class="cx">     FloatPoint absPos = localToAbsolute();
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT)
</del><span class="cx">     const Vector&lt;StyleDashboardRegion&gt;&amp; styleRegions = style().dashboardRegions();
</span><span class="cx">     unsigned i, count = styleRegions.size();
</span><span class="cx">     for (i = 0; i &lt; count; i++) {
</span><span class="lines">@@ -2180,14 +2179,6 @@
</span><span class="cx"> 
</span><span class="cx">         regions.append(region);
</span><span class="cx">     }
</span><del>-#else // ENABLE(DRAGGABLE_REGION)
-    if (style().getDraggableRegionMode() == DraggableRegionNone)
-        return;
-    AnnotatedRegionValue region;
-    region.draggable = style().getDraggableRegionMode() == DraggableRegionDrag;
-    region.bounds = LayoutRect(absPos.x(), absPos.y(), box-&gt;width(), box-&gt;height());
-    regions.append(region);
-#endif
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderObject::collectAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp; regions)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderObjecth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderObject.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderObject.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderObject.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -117,15 +117,11 @@
</span><span class="cx"> const int caretWidth = 1;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx"> struct AnnotatedRegionValue {
</span><span class="cx">     bool operator==(const AnnotatedRegionValue&amp; o) const
</span><span class="cx">     {
</span><del>-#if ENABLE(DASHBOARD_SUPPORT)
</del><span class="cx">         return type == o.type &amp;&amp; bounds == o.bounds &amp;&amp; clip == o.clip &amp;&amp; label == o.label;
</span><del>-#else // ENABLE(DRAGGABLE_REGION)
-        return draggable == o.draggable &amp;&amp; bounds == o.bounds;
-#endif
</del><span class="cx">     }
</span><span class="cx">     bool operator!=(const AnnotatedRegionValue&amp; o) const
</span><span class="cx">     {
</span><span class="lines">@@ -133,13 +129,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     LayoutRect bounds;
</span><del>-#if ENABLE(DASHBOARD_SUPPORT)
</del><span class="cx">     String label;
</span><span class="cx">     LayoutRect clip;
</span><span class="cx">     int type;
</span><del>-#else // ENABLE(DRAGGABLE_REGION)
-    bool draggable;
-#endif
</del><span class="cx"> };
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -369,7 +361,7 @@
</span><span class="cx">     bool isInFlowRenderFlowThread() const { return isRenderFlowThread() &amp;&amp; !isOutOfFlowPositioned(); }
</span><span class="cx">     bool isOutOfFlowRenderFlowThread() const { return isRenderFlowThread() &amp;&amp; isOutOfFlowPositioned(); }
</span><span class="cx"> 
</span><del>-    virtual bool isRenderMultiColumnBlock() const { return false; }
</del><ins>+    virtual bool isMultiColumnBlockFlow() const { return false; }
</ins><span class="cx">     virtual bool isRenderMultiColumnSet() const { return false; }
</span><span class="cx"> 
</span><span class="cx">     virtual bool isRenderScrollbarPart() const { return false; }
</span><span class="lines">@@ -649,7 +641,7 @@
</span><span class="cx">     // repaint and do not need a relayout
</span><span class="cx">     virtual void updateFromElement() { }
</span><span class="cx"> 
</span><del>-#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(DRAGGABLE_REGION)
</del><ins>+#if ENABLE(DASHBOARD_SUPPORT)
</ins><span class="cx">     virtual void addAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp;);
</span><span class="cx">     void collectAnnotatedRegions(Vector&lt;AnnotatedRegionValue&gt;&amp;);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderSearchFieldcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderSearchField.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderSearchField.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderSearchField.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -373,8 +373,7 @@
</span><span class="cx"> 
</span><span class="cx">     // A quirk for find-in-page box on Safari Windows.
</span><span class="cx">     // http://webkit.org/b/63157
</span><del>-    LayoutUnit logicalHeightDiff = containerRenderer-&gt;logicalHeight() - contentLogicalHeight();
-    containerRenderer-&gt;setLogicalTop(containerRenderer-&gt;logicalTop() - (logicalHeightDiff / 2 + layoutMod(logicalHeightDiff, 2)));
</del><ins>+    centerRenderer(*containerRenderer);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderTextControlSingleLinecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -93,6 +93,13 @@
</span><span class="cx">     return containerElement() ? contentLogicalHeight() : logicalHeight();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RenderTextControlSingleLine::centerRenderer(RenderBox&amp; renderer) const
+{
+    LayoutUnit logicalHeightDiff = renderer.logicalHeight() - contentLogicalHeight();
+    float center = logicalHeightDiff / 2;
+    renderer.setLogicalTop(renderer.logicalTop() - LayoutUnit(round(center)));
+}
+
</ins><span class="cx"> static void setNeedsLayoutOnAncestors(RenderObject* start, RenderObject* ancestor)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(start != ancestor);
</span><span class="lines">@@ -170,10 +177,9 @@
</span><span class="cx">         RenderBlockFlow::layoutBlock(true);
</span><span class="cx"> 
</span><span class="cx">     // Center the child block in the block progression direction (vertical centering for horizontal text fields).
</span><del>-    if (!container &amp;&amp; innerTextRenderer &amp;&amp; innerTextRenderer-&gt;height() != contentLogicalHeight()) {
-        LayoutUnit logicalHeightDiff = innerTextRenderer-&gt;logicalHeight() - contentLogicalHeight();
-        innerTextRenderer-&gt;setLogicalTop(innerTextRenderer-&gt;logicalTop() - (logicalHeightDiff / 2 + layoutMod(logicalHeightDiff, 2)));
-    } else
</del><ins>+    if (!container &amp;&amp; innerTextRenderer &amp;&amp; innerTextRenderer-&gt;height() != contentLogicalHeight())
+        centerRenderer(*innerTextRenderer);
+    else
</ins><span class="cx">         centerContainerIfNeeded(containerRenderer);
</span><span class="cx"> 
</span><span class="cx">     // Ignores the paddings for the inner spin button.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderTextControlSingleLineh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderTextControlSingleLine.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> protected:
</span><span class="cx">     virtual void centerContainerIfNeeded(RenderBox*) const { }
</span><span class="cx">     virtual LayoutUnit computeLogicalHeightLimit() const;
</span><ins>+    void centerRenderer(RenderBox&amp; renderer) const;
</ins><span class="cx">     HTMLElement* containerElement() const;
</span><span class="cx">     HTMLElement* innerBlockElement() const;
</span><span class="cx">     HTMLInputElement&amp; inputElement() const;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderViewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderView.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderView.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderView.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -461,14 +461,14 @@
</span><span class="cx">     return frameView().pagination().mode != Pagination::Unpaginated;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void RenderView::calcColumnWidth()
</del><ins>+void RenderView::computeColumnCountAndWidth()
</ins><span class="cx"> {
</span><span class="cx">     int columnWidth = contentLogicalWidth();
</span><span class="cx">     if (style().hasInlineColumnAxis()) {
</span><span class="cx">         if (int pageLength = frameView().pagination().pageLength)
</span><span class="cx">             columnWidth = pageLength;
</span><span class="cx">     }
</span><del>-    setDesiredColumnCountAndWidth(1, columnWidth);
</del><ins>+    setComputedColumnCountAndWidth(1, columnWidth);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> ColumnInfo::PaginationUnit RenderView::paginationUnit() const
</span><span class="lines">@@ -929,8 +929,6 @@
</span><span class="cx">     if (blockRepaintMode == RepaintNothing)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    frameView().beginDeferredRepaints();
-
</del><span class="cx">     // Have any of the old selected objects changed compared to the new selection?
</span><span class="cx">     for (SelectedObjectMap::iterator i = oldSelectedObjects.begin(); i != oldObjectsEnd; ++i) {
</span><span class="cx">         RenderObject* obj = i-&gt;key;
</span><span class="lines">@@ -971,8 +969,6 @@
</span><span class="cx">     SelectedBlockMap::iterator newBlocksEnd = newSelectedBlocks.end();
</span><span class="cx">     for (SelectedBlockMap::iterator i = newSelectedBlocks.begin(); i != newBlocksEnd; ++i)
</span><span class="cx">         i-&gt;value-&gt;repaint();
</span><del>-
-    frameView().endDeferredRepaints();
</del><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void RenderView::getSelection(RenderObject*&amp; startRenderer, int&amp; startOffset, RenderObject*&amp; endRenderer, int&amp; endOffset) const
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderViewh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderView.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderView.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderView.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -243,7 +243,7 @@
</span><span class="cx"> private:
</span><span class="cx">     bool initializeLayoutState(LayoutState&amp;);
</span><span class="cx"> 
</span><del>-    virtual void calcColumnWidth() override;
</del><ins>+    virtual void computeColumnCountAndWidth() override;
</ins><span class="cx">     virtual ColumnInfo::PaginationUnit paginationUnit() const override;
</span><span class="cx"> 
</span><span class="cx">     bool shouldRepaint(const LayoutRect&amp;) const;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderWidgetcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderWidget.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderWidget.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderWidget.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -227,16 +227,16 @@
</span><span class="cx">     IntPoint widgetLocation = m_widget-&gt;frameRect().location();
</span><span class="cx">     IntPoint paintLocation(roundToInt(adjustedPaintOffset.x() + borderLeft() + paddingLeft()),
</span><span class="cx">         roundToInt(adjustedPaintOffset.y() + borderTop() + paddingTop()));
</span><del>-    IntRect paintRect = paintInfo.rect;
</del><ins>+    LayoutRect paintRect = paintInfo.rect;
</ins><span class="cx"> 
</span><del>-    IntSize widgetPaintOffset = paintLocation - widgetLocation;
</del><ins>+    LayoutSize widgetPaintOffset = paintLocation - widgetLocation;
</ins><span class="cx">     // When painting widgets into compositing layers, tx and ty are relative to the enclosing compositing layer,
</span><span class="cx">     // not the root. In this case, shift the CTM and adjust the paintRect to be root-relative to fix plug-in drawing.
</span><span class="cx">     if (!widgetPaintOffset.isZero()) {
</span><span class="cx">         paintInfo.context-&gt;translate(widgetPaintOffset);
</span><span class="cx">         paintRect.move(-widgetPaintOffset);
</span><span class="cx">     }
</span><del>-    m_widget-&gt;paint(paintInfo.context, paintRect);
</del><ins>+    m_widget-&gt;paint(paintInfo.context, pixelSnappedIntRect(paintRect));
</ins><span class="cx"> 
</span><span class="cx">     if (!widgetPaintOffset.isZero())
</span><span class="cx">         paintInfo.context-&gt;translate(-widgetPaintOffset);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingRenderingAllInOnecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/RenderingAllInOne.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/RenderingAllInOne.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/RenderingAllInOne.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -79,7 +79,6 @@
</span><span class="cx"> #include &quot;RenderMediaControls.cpp&quot;
</span><span class="cx"> #include &quot;RenderMenuList.cpp&quot;
</span><span class="cx"> #include &quot;RenderMeter.cpp&quot;
</span><del>-#include &quot;RenderMultiColumnBlock.cpp&quot;
</del><span class="cx"> #include &quot;RenderMultiColumnFlowThread.cpp&quot;
</span><span class="cx"> #include &quot;RenderMultiColumnSet.cpp&quot;
</span><span class="cx"> #include &quot;RenderObject.cpp&quot;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingmathmlRenderMathMLOperatorcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -329,7 +329,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Clipping the extender region here allows us to draw the bottom extender glyph into the
</span><span class="cx">     // regions of the bottom glyph without worrying about overdraw (hairy pixels) and simplifies later clipping.
</span><del>-    IntRect clipBounds = info.rect;
</del><ins>+    LayoutRect clipBounds = info.rect;
</ins><span class="cx">     clipBounds.shiftYEdgeTo(from.y());
</span><span class="cx">     clipBounds.shiftMaxYEdgeTo(to.y());
</span><span class="cx">     info.context-&gt;clip(clipBounds);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingstyleRenderStyleh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/style/RenderStyle.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1042,11 +1042,6 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    DraggableRegionMode getDraggableRegionMode() const { return rareNonInheritedData-&gt;m_draggableRegionMode; }
-    void setDraggableRegionMode(DraggableRegionMode v) { SET_VAR(rareNonInheritedData, m_draggableRegionMode, v); }
-#endif
-
</del><span class="cx">     void resetBorder() { resetBorderImage(); resetBorderTop(); resetBorderRight(); resetBorderBottom(); resetBorderLeft(); resetBorderRadius(); }
</span><span class="cx">     void resetBorderTop() { SET_VAR(surround, border.m_top, BorderValue()); }
</span><span class="cx">     void resetBorderRight() { SET_VAR(surround, border.m_right, BorderValue()); }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingstyleRenderStyleConstantsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/style/RenderStyleConstants.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/style/RenderStyleConstants.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/style/RenderStyleConstants.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -538,10 +538,6 @@
</span><span class="cx"> 
</span><span class="cx"> enum GridAutoFlow { AutoFlowNone, AutoFlowColumn, AutoFlowRow };
</span><span class="cx"> 
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-enum DraggableRegionMode { DraggableRegionNone, DraggableRegionDrag, DraggableRegionNoDrag };
-#endif
-
</del><span class="cx"> // Reasonable maximum to prevent insane font sizes from causing crashes on some platforms (such as Windows).
</span><span class="cx"> static const float maximumAllowedFontSize = 1000000.0f;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingstyleStyleRareNonInheritedDatacpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -41,9 +41,6 @@
</span><span class="cx">     , m_perspectiveOriginX(RenderStyle::initialPerspectiveOriginX())
</span><span class="cx">     , m_perspectiveOriginY(RenderStyle::initialPerspectiveOriginY())
</span><span class="cx">     , lineClamp(RenderStyle::initialLineClamp())
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    , m_draggableRegionMode(DraggableRegionNone)
-#endif
</del><span class="cx">     , m_deprecatedFlexibleBox(StyleDeprecatedFlexibleBoxData::create())
</span><span class="cx">     , m_flexibleBox(StyleFlexibleBoxData::create())
</span><span class="cx">     , m_marquee(StyleMarqueeData::create())
</span><span class="lines">@@ -110,9 +107,6 @@
</span><span class="cx">     , m_perspectiveOriginX(o.m_perspectiveOriginX)
</span><span class="cx">     , m_perspectiveOriginY(o.m_perspectiveOriginY)
</span><span class="cx">     , lineClamp(o.lineClamp)
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    , m_draggableRegionMode(o.m_draggableRegionMode)
-#endif
</del><span class="cx">     , m_deprecatedFlexibleBox(o.m_deprecatedFlexibleBox)
</span><span class="cx">     , m_flexibleBox(o.m_flexibleBox)
</span><span class="cx">     , m_marquee(o.m_marquee)
</span><span class="lines">@@ -204,9 +198,6 @@
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">         &amp;&amp; m_dashboardRegions == o.m_dashboardRegions
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-        &amp;&amp; m_draggableRegionMode == o.m_draggableRegionMode
-#endif
</del><span class="cx">         &amp;&amp; m_deprecatedFlexibleBox == o.m_deprecatedFlexibleBox
</span><span class="cx">         &amp;&amp; m_flexibleBox == o.m_flexibleBox
</span><span class="cx">         &amp;&amp; m_marquee == o.m_marquee
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingstyleStyleRareNonInheritedDatah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/style/StyleRareNonInheritedData.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -106,9 +106,6 @@
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="cx">     Vector&lt;StyleDashboardRegion&gt; m_dashboardRegions;
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DRAGGABLE_REGION)
-    DraggableRegionMode m_draggableRegionMode;
-#endif
</del><span class="cx"> 
</span><span class="cx">     DataRef&lt;StyleDeprecatedFlexibleBoxData&gt; m_deprecatedFlexibleBox; // Flexible box properties
</span><span class="cx">     DataRef&lt;StyleFlexibleBoxData&gt; m_flexibleBox;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingsvgSVGRenderingContexth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/svg/SVGRenderingContext.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/svg/SVGRenderingContext.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/svg/SVGRenderingContext.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -115,7 +115,7 @@
</span><span class="cx">     RenderElement* m_renderer;
</span><span class="cx">     PaintInfo* m_paintInfo;
</span><span class="cx">     GraphicsContext* m_savedContext;
</span><del>-    IntRect m_savedPaintRect;
</del><ins>+    LayoutRect m_savedPaintRect;
</ins><span class="cx"> #if ENABLE(FILTERS)
</span><span class="cx">     RenderSVGResourceFilter* m_filter;
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingsvgSVGResourcesCycleSolverh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/svg/SVGResourcesCycleSolver.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -22,6 +22,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(SVG)
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/Noncopyable.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorerenderingsvgSVGTextLayoutEngineBaselinecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/rendering/svg/SVGTextLayoutEngineBaseline.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #include &quot;SVGLengthContext.h&quot;
</span><span class="cx"> #include &quot;SVGRenderStyle.h&quot;
</span><span class="cx"> #include &quot;SVGTextMetrics.h&quot;
</span><del>-#include &quot;UnicodeRange.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="lines">@@ -153,15 +152,25 @@
</span><span class="cx">     ASSERT(style);
</span><span class="cx"> 
</span><span class="cx">     switch (isVerticalText ? style-&gt;glyphOrientationVertical() : style-&gt;glyphOrientationHorizontal()) {
</span><del>-    case GO_AUTO: {
</del><ins>+    case GO_AUTO:
</ins><span class="cx">         // Spec: Fullwidth ideographic and fullwidth Latin text will be set with a glyph-orientation of 0-degrees.
</span><span class="cx">         // Text which is not fullwidth will be set with a glyph-orientation of 90-degrees.
</span><del>-        unsigned int unicodeRange = findCharUnicodeRange(character);
-        if (unicodeRange == cRangeSetLatin || unicodeRange == cRangeArabic)
</del><ins>+        // FIXME: There's not an accurate way to tell if text is fullwidth by looking at a single character.
+        switch (static_cast&lt;UEastAsianWidth&gt;(u_getIntPropertyValue(character, UCHAR_EAST_ASIAN_WIDTH))) {
+        case U_EA_NEUTRAL:
+        case U_EA_HALFWIDTH:
+        case U_EA_NARROW:
</ins><span class="cx">             return 90;
</span><del>-
-        return 0;
-    }
</del><ins>+        case U_EA_AMBIGUOUS:
+        case U_EA_FULLWIDTH:
+        case U_EA_WIDE:
+            return 0;
+        case U_EA_COUNT:
+            ASSERT_NOT_REACHED();
+            break;
+        }
+        ASSERT_NOT_REACHED();
+        break;
</ins><span class="cx">     case GO_90DEG:
</span><span class="cx">         return 90;
</span><span class="cx">     case GO_180DEG:
</span><span class="lines">@@ -169,9 +178,10 @@
</span><span class="cx">     case GO_270DEG:
</span><span class="cx">         return 270;
</span><span class="cx">     case GO_0DEG:
</span><del>-    default:
</del><span class="cx">         return 0;
</span><span class="cx">     }
</span><ins>+    ASSERT_NOT_REACHED();
+    return 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static inline bool glyphOrientationIsMultiplyOf180Degrees(float orientationAngle)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorestorageStorageAreaSynccpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/storage/StorageAreaSync.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/storage/StorageAreaSync.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/storage/StorageAreaSync.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #include &quot;EventNames.h&quot;
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><span class="cx"> #include &quot;HTMLElement.h&quot;
</span><ins>+#include &quot;SQLiteDatabaseTracker.h&quot;
</ins><span class="cx"> #include &quot;SQLiteFileSystem.h&quot;
</span><span class="cx"> #include &quot;SQLiteStatement.h&quot;
</span><span class="cx"> #include &quot;SQLiteTransaction.h&quot;
</span><span class="lines">@@ -41,10 +42,6 @@
</span><span class="cx"> #include &lt;wtf/MainThread.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-#include &quot;SQLiteDatabaseTracker.h&quot;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> // If the StorageArea undergoes rapid changes, don't sync each change to disk.
</span><span class="lines">@@ -236,9 +233,8 @@
</span><span class="cx">     ASSERT(!m_database.isOpen());
</span><span class="cx">     ASSERT(!m_databaseOpenFailed);
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     String databaseFilename = m_syncManager-&gt;fullDatabaseFilename(m_databaseIdentifier);
</span><span class="cx"> 
</span><span class="cx">     if (!fileExists(databaseFilename) &amp;&amp; openingStrategy == SkipIfNonExistent)
</span><span class="lines">@@ -410,9 +406,8 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     // If the clear flag is set, then we clear all items out before we write any new ones in.
</span><span class="cx">     if (clearItems) {
</span><span class="cx">         SQLiteStatement clear(m_database, &quot;DELETE FROM ItemTable&quot;);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorestorageStorageTrackercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/storage/StorageTracker.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/storage/StorageTracker.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/storage/StorageTracker.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,12 +28,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;DatabaseThread.h&quot;
</span><span class="cx"> #include &quot;FileSystem.h&quot;
</span><del>-#include &quot;StorageThread.h&quot;
</del><span class="cx"> #include &quot;Logging.h&quot;
</span><span class="cx"> #include &quot;PageGroup.h&quot;
</span><ins>+#include &quot;SQLiteDatabaseTracker.h&quot;
</ins><span class="cx"> #include &quot;SQLiteFileSystem.h&quot;
</span><span class="cx"> #include &quot;SQLiteStatement.h&quot;
</span><span class="cx"> #include &quot;SecurityOrigin.h&quot;
</span><ins>+#include &quot;StorageThread.h&quot;
</ins><span class="cx"> #include &quot;StorageTrackerClient.h&quot;
</span><span class="cx"> #include &quot;TextEncoding.h&quot;
</span><span class="cx"> #include &lt;wtf/Functional.h&gt;
</span><span class="lines">@@ -42,10 +43,6 @@
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-#include &quot;SQLiteDatabaseTracker.h&quot;
-#endif
-
</del><span class="cx"> namespace WebCore {
</span><span class="cx"> 
</span><span class="cx"> static StorageTracker* storageTracker = 0;
</span><span class="lines">@@ -136,9 +133,9 @@
</span><span class="cx"> {
</span><span class="cx">     ASSERT(m_isActive);
</span><span class="cx">     ASSERT(!isMainThread());
</span><del>-#if PLATFORM(IOS)
</del><ins>+
</ins><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(!m_databaseMutex.tryLock());
</span><span class="cx"> 
</span><span class="cx">     if (m_database.isOpen())
</span><span class="lines">@@ -199,9 +196,8 @@
</span><span class="cx">         openTrackerDatabase(false);
</span><span class="cx"> 
</span><span class="cx">         if (m_database.isOpen()) {
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">             SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">             SQLiteStatement statement(m_database, &quot;SELECT origin FROM Origins&quot;);
</span><span class="cx">             if (statement.prepare() != SQLResultOk) {
</span><span class="cx">                 LOG_ERROR(&quot;Failed to prepare statement.&quot;);
</span><span class="lines">@@ -242,9 +238,9 @@
</span><span class="cx"> void StorageTracker::syncFileSystemAndTrackerDatabase()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isMainThread());
</span><del>-#if PLATFORM(IOS)
</del><ins>+
</ins><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><ins>+
</ins><span class="cx">     ASSERT(m_isActive);
</span><span class="cx"> 
</span><span class="cx">     Vector&lt;String&gt; paths;
</span><span class="lines">@@ -317,9 +313,8 @@
</span><span class="cx"> void StorageTracker::syncSetOriginDetails(const String&amp; originIdentifier, const String&amp; databaseFile)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isMainThread());
</span><del>-#if PLATFORM(IOS)
</del><ins>+
</ins><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     MutexLocker locker(m_databaseMutex);
</span><span class="cx"> 
</span><span class="lines">@@ -389,9 +384,8 @@
</span><span class="cx"> void StorageTracker::syncDeleteAllOrigins()
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isMainThread());
</span><del>-#if PLATFORM(IOS)
</del><ins>+
</ins><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><span class="cx">     
</span><span class="cx">     MutexLocker locker(m_databaseMutex);
</span><span class="cx">     
</span><span class="lines">@@ -486,9 +480,8 @@
</span><span class="cx"> void StorageTracker::syncDeleteOrigin(const String&amp; originIdentifier)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!isMainThread());
</span><del>-#if PLATFORM(IOS)
</del><ins>+
</ins><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     MutexLocker locker(m_databaseMutex);
</span><span class="cx">     
</span><span class="lines">@@ -601,9 +594,7 @@
</span><span class="cx">     if (!m_database.isOpen())
</span><span class="cx">         return String();
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
</del><span class="cx">     SQLiteTransactionInProgressAutoCounter transactionCounter;
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx">     SQLiteStatement pathStatement(m_database, &quot;SELECT path FROM Origins WHERE origin=?&quot;);
</span><span class="cx">     if (pathStatement.prepare() != SQLResultOk) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorestyleStyleResolveForDocumentcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/style/StyleResolveForDocument.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/style/StyleResolveForDocument.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/style/StyleResolveForDocument.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -101,8 +101,8 @@
</span><span class="cx">     if (pagination.mode != Pagination::Unpaginated) {
</span><span class="cx">         documentStyle.get().setColumnStylesFromPaginationMode(pagination.mode);
</span><span class="cx">         documentStyle.get().setColumnGap(pagination.gap);
</span><del>-        if (renderView.hasColumns())
-            renderView.updateColumnInfoFromStyle(&amp;documentStyle.get());
</del><ins>+        if (renderView.hasColumns() || renderView.multiColumnFlowThread())
+            renderView.updateColumnProgressionFromStyle(&amp;documentStyle.get());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // Seamless iframes want to inherit their font from their parent iframe, so early return before setting the font.
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorestyleStyleResolveTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/style/StyleResolveTree.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/style/StyleResolveTree.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/style/StyleResolveTree.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -65,7 +65,7 @@
</span><span class="cx"> static void detachRenderTree(Element&amp;, DetachType);
</span><span class="cx"> static void resolveTree(Element&amp;, Change);
</span><span class="cx"> 
</span><del>-Change determineChange(const RenderStyle* s1, const RenderStyle* s2, Settings* settings)
</del><ins>+Change determineChange(const RenderStyle* s1, const RenderStyle* s2)
</ins><span class="cx"> {
</span><span class="cx">     if (!s1 || !s2)
</span><span class="cx">         return Detach;
</span><span class="lines">@@ -77,12 +77,6 @@
</span><span class="cx">     // typically won't contain much content.
</span><span class="cx">     if (s1-&gt;columnSpan() != s2-&gt;columnSpan())
</span><span class="cx">         return Detach;
</span><del>-    if (settings-&gt;regionBasedColumnsEnabled()) {
-        bool specifiesColumns1 = !s1-&gt;hasAutoColumnCount() || !s1-&gt;hasAutoColumnWidth();
-        bool specifiesColumns2 = !s2-&gt;hasAutoColumnCount() || !s2-&gt;hasAutoColumnWidth();
-        if (specifiesColumns1 != specifiesColumns2)
-            return Detach;
-    }
</del><span class="cx">     if (!s1-&gt;contentDataEquivalent(s2))
</span><span class="cx">         return Detach;
</span><span class="cx">     // When text-combine property has been changed, we need to prepare a separate renderer object.
</span><span class="lines">@@ -676,7 +670,7 @@
</span><span class="cx">     Document&amp; document = current.document();
</span><span class="cx">     if (currentStyle &amp;&amp; current.styleChangeType() != ReconstructRenderTree) {
</span><span class="cx">         newStyle = current.styleForRenderer();
</span><del>-        localChange = determineChange(currentStyle.get(), newStyle.get(), document.settings());
</del><ins>+        localChange = determineChange(currentStyle.get(), newStyle.get());
</ins><span class="cx">     }
</span><span class="cx">     if (localChange == Detach) {
</span><span class="cx">         if (current.renderer() || current.inNamedFlow())
</span><span class="lines">@@ -897,7 +891,7 @@
</span><span class="cx">                 documentStyle.get().font().update(styleResolver-&gt;fontSelector());
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        Style::Change documentChange = determineChange(&amp;documentStyle.get(), &amp;document.renderView()-&gt;style(), document.settings());
</del><ins>+        Style::Change documentChange = determineChange(&amp;documentStyle.get(), &amp;document.renderView()-&gt;style());
</ins><span class="cx">         if (documentChange != NoChange)
</span><span class="cx">             document.renderView()-&gt;setStyle(std::move(documentStyle));
</span><span class="cx">         else
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorestyleStyleResolveTreeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/style/StyleResolveTree.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/style/StyleResolveTree.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/style/StyleResolveTree.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,7 +45,7 @@
</span><span class="cx"> 
</span><span class="cx"> void updateTextRendererAfterContentChange(Text&amp;, unsigned offsetOfReplacedData, unsigned lengthOfReplacedData);
</span><span class="cx"> 
</span><del>-Change determineChange(const RenderStyle*, const RenderStyle*, Settings*);
</del><ins>+Change determineChange(const RenderStyle*, const RenderStyle*);
</ins><span class="cx"> 
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoresvgSVGFontElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/svg/SVGFontElement.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/svg/SVGFontElement.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/svg/SVGFontElement.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">         unsigned unicodeLength = unicode.length();
</span><span class="cx">         ASSERT(unicodeLength &gt; 1);
</span><span class="cx"> 
</span><del>-        const UChar* characters = unicode.characters();
</del><ins>+        const UChar* characters = unicode.deprecatedCharacters();
</ins><span class="cx">         for (unsigned i = 0; i &lt; unicodeLength; ++i) {
</span><span class="cx">             String lookupString(characters + i, 1);
</span><span class="cx">             m_glyphMap.collectGlyphsForString(lookupString, glyphs);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoresvgSVGPatternElementcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/svg/SVGPatternElement.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/svg/SVGPatternElement.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/svg/SVGPatternElement.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -187,45 +187,49 @@
</span><span class="cx">     return createRenderer&lt;RenderSVGResourcePattern&gt;(*this, std::move(style));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SVGPatternElement::collectPatternAttributes(PatternAttributes&amp; attributes) const
</del><ins>+static void setPatternAttributes(const SVGPatternElement&amp; element, PatternAttributes&amp; attributes)
</ins><span class="cx"> {
</span><del>-    HashSet&lt;const SVGPatternElement*&gt; processedPatterns;
</del><ins>+    if (!attributes.hasX() &amp;&amp; element.hasAttribute(SVGNames::xAttr))
+        attributes.setX(element.x());
</ins><span class="cx"> 
</span><del>-    const SVGPatternElement* current = this;
-    while (current) {
-        if (!attributes.hasX() &amp;&amp; current-&gt;hasAttribute(SVGNames::xAttr))
-            attributes.setX(current-&gt;x());
</del><ins>+    if (!attributes.hasY() &amp;&amp; element.hasAttribute(SVGNames::yAttr))
+        attributes.setY(element.y());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasY() &amp;&amp; current-&gt;hasAttribute(SVGNames::yAttr))
-            attributes.setY(current-&gt;y());
</del><ins>+    if (!attributes.hasWidth() &amp;&amp; element.hasAttribute(SVGNames::widthAttr))
+        attributes.setWidth(element.width());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasWidth() &amp;&amp; current-&gt;hasAttribute(SVGNames::widthAttr))
-            attributes.setWidth(current-&gt;width());
</del><ins>+    if (!attributes.hasHeight() &amp;&amp; element.hasAttribute(SVGNames::heightAttr))
+        attributes.setHeight(element.height());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasHeight() &amp;&amp; current-&gt;hasAttribute(SVGNames::heightAttr))
-            attributes.setHeight(current-&gt;height());
</del><ins>+    if (!attributes.hasViewBox() &amp;&amp; element.hasAttribute(SVGNames::viewBoxAttr) &amp;&amp; element.viewBoxIsValid())
+        attributes.setViewBox(element.viewBox());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasViewBox() &amp;&amp; current-&gt;hasAttribute(SVGNames::viewBoxAttr) &amp;&amp; current-&gt;viewBoxIsValid())
-            attributes.setViewBox(current-&gt;viewBox());
</del><ins>+    if (!attributes.hasPreserveAspectRatio() &amp;&amp; element.hasAttribute(SVGNames::preserveAspectRatioAttr))
+        attributes.setPreserveAspectRatio(element.preserveAspectRatio());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasPreserveAspectRatio() &amp;&amp; current-&gt;hasAttribute(SVGNames::preserveAspectRatioAttr))
-            attributes.setPreserveAspectRatio(current-&gt;preserveAspectRatio());
</del><ins>+    if (!attributes.hasPatternUnits() &amp;&amp; element.hasAttribute(SVGNames::patternUnitsAttr))
+        attributes.setPatternUnits(element.patternUnits());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasPatternUnits() &amp;&amp; current-&gt;hasAttribute(SVGNames::patternUnitsAttr))
-            attributes.setPatternUnits(current-&gt;patternUnits());
</del><ins>+    if (!attributes.hasPatternContentUnits() &amp;&amp; element.hasAttribute(SVGNames::patternContentUnitsAttr))
+        attributes.setPatternContentUnits(element.patternContentUnits());
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasPatternContentUnits() &amp;&amp; current-&gt;hasAttribute(SVGNames::patternContentUnitsAttr))
-            attributes.setPatternContentUnits(current-&gt;patternContentUnits());
</del><ins>+    if (!attributes.hasPatternTransform() &amp;&amp; element.hasAttribute(SVGNames::patternTransformAttr)) {
+        AffineTransform transform;
+        element.patternTransform().concatenate(transform);
+        attributes.setPatternTransform(transform);
+    }
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasPatternTransform() &amp;&amp; current-&gt;hasAttribute(SVGNames::patternTransformAttr)) {
-            AffineTransform transform;
-            current-&gt;patternTransform().concatenate(transform);
-            attributes.setPatternTransform(transform);
-        }
</del><ins>+    if (!attributes.hasPatternContentElement() &amp;&amp; element.childElementCount())
+        attributes.setPatternContentElement(&amp;element);
+}
</ins><span class="cx"> 
</span><del>-        if (!attributes.hasPatternContentElement() &amp;&amp; current-&gt;childElementCount())
-            attributes.setPatternContentElement(current);
</del><ins>+void SVGPatternElement::collectPatternAttributes(PatternAttributes&amp; attributes) const
+{
+    HashSet&lt;const SVGPatternElement*&gt; processedPatterns;
+    const SVGPatternElement* current = this;
</ins><span class="cx"> 
</span><ins>+    while (true) {
+        setPatternAttributes(*current, attributes);
</ins><span class="cx">         processedPatterns.add(current);
</span><span class="cx"> 
</span><span class="cx">         // Respect xlink:href, take attributes from referenced element
</span><span class="lines">@@ -234,13 +238,12 @@
</span><span class="cx">             current = toSVGPatternElement(refElement);
</span><span class="cx"> 
</span><span class="cx">             // Cycle detection
</span><del>-            if (processedPatterns.contains(current)) {
-                current = 0;
-                break;
-            }
</del><ins>+            if (processedPatterns.contains(current))
+                return;
</ins><span class="cx">         } else
</span><del>-            current = 0;
</del><ins>+            return;
</ins><span class="cx">     }
</span><ins>+    ASSERT_NOT_REACHED();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> AffineTransform SVGPatternElement::localCoordinateSpaceTransform(SVGLocatable::CTMScope) const
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoretestingInternalscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/testing/Internals.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/testing/Internals.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/testing/Internals.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,6 +27,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;Internals.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;AXObjectCache.h&quot;
</ins><span class="cx"> #include &quot;AnimationController.h&quot;
</span><span class="cx"> #include &quot;ApplicationCacheStorage.h&quot;
</span><span class="cx"> #include &quot;BackForwardController.h&quot;
</span><span class="lines">@@ -291,6 +292,9 @@
</span><span class="cx"> #if ENABLE(VIDEO)
</span><span class="cx">     MediaSessionManager::sharedManager().resetRestrictions();
</span><span class="cx"> #endif
</span><ins>+#if HAVE(ACCESSIBILITY)
+    AXObjectCache::disableAccessibility();
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Internals::Internals(Document* document)
</span><span class="lines">@@ -1465,8 +1469,7 @@
</span><span class="cx">     ASSERT(page);
</span><span class="cx">     ASSERT(m_frontendWindow);
</span><span class="cx"> 
</span><del>-    // Treat this as if the page we are inspecting is closing.
-    page-&gt;inspectorController().disconnectFrontend(InspectorDisconnectReason::InspectedTargetDestroyed);
</del><ins>+    page-&gt;inspectorController().disconnectFrontend(InspectorDisconnectReason::InspectorDestroyed);
</ins><span class="cx"> 
</span><span class="cx">     m_frontendChannel.release();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCoreworkersWorkerGlobalScopeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/workers/WorkerGlobalScope.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/workers/WorkerGlobalScope.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/workers/WorkerGlobalScope.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -133,6 +133,8 @@
</span><span class="cx"> 
</span><span class="cx">         virtual SecurityOrigin* topOrigin() const override { return m_topOrigin.get(); }
</span><span class="cx"> 
</span><ins>+        virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0) override;
+
</ins><span class="cx">     protected:
</span><span class="cx">         WorkerGlobalScope(const URL&amp;, const String&amp; userAgent, std::unique_ptr&lt;GroupSettings&gt;, WorkerThread*, PassRefPtr&lt;SecurityOrigin&gt; topOrigin);
</span><span class="cx">         void applyContentSecurityPolicyFromString(const String&amp; contentSecurityPolicy, ContentSecurityPolicy::HeaderType);
</span><span class="lines">@@ -148,7 +150,6 @@
</span><span class="cx">         virtual void derefEventTarget() override final { deref(); }
</span><span class="cx"> 
</span><span class="cx">         virtual void addMessage(MessageSource, MessageLevel, const String&amp; message, const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber, PassRefPtr&lt;ScriptCallStack&gt;, JSC::ExecState* = 0, unsigned long requestIdentifier = 0) override;
</span><del>-        virtual void addConsoleMessage(MessageSource, MessageLevel, const String&amp; message, unsigned long requestIdentifier = 0) override;
</del><span class="cx"> 
</span><span class="cx">         virtual EventTarget* errorEventTarget() override;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebCorexmlXPathFunctionscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebCore/xml/XPathFunctions.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebCore/xml/XPathFunctions.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebCore/xml/XPathFunctions.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -340,7 +340,7 @@
</span><span class="cx"> 
</span><span class="cx">         // If there are several nodes with the same id, id() should return the first one.
</span><span class="cx">         // In WebKit, getElementById behaves so, too, although its behavior in this case is formally undefined.
</span><del>-        Node* node = contextScope.getElementById(String(idList.characters() + startPos, endPos - startPos));
</del><ins>+        Node* node = contextScope.getElementById(String(idList.deprecatedCharacters() + startPos, endPos - startPos));
</ins><span class="cx">         if (node &amp;&amp; resultSet.add(node).isNewEntry)
</span><span class="cx">             result.append(node);
</span><span class="cx">         
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceCSSKeywordCompletionsjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSKeywordCompletions.js (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSKeywordCompletions.js        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/CSSKeywordCompletions.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,7 +46,7 @@
</span><span class="cx">     else if (isNotPrefixed &amp;&amp; (&quot;-webkit-&quot; + propertyName) in WebInspector.CSSKeywordCompletions._colorAwareProperties)
</span><span class="cx">         acceptedKeywords = acceptedKeywords.concat(WebInspector.CSSKeywordCompletions._colors);
</span><span class="cx"> 
</span><del>-    // FIXME: This doesn't necessarily make sense. Some non-inheritable properties allow &quot;inherit&quot;.
</del><ins>+    // Only suggest &quot;inherit&quot; on inheritable properties even though it is valid on all properties.
</ins><span class="cx">     if (propertyName in WebInspector.CSSKeywordCompletions.InheritedProperties)
</span><span class="cx">         acceptedKeywords.push(&quot;inherit&quot;);
</span><span class="cx">     else if (isNotPrefixed &amp;&amp; (&quot;-webkit-&quot; + propertyName) in WebInspector.CSSKeywordCompletions.InheritedProperties)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIUserInterfaceCompletionSuggestionsViewjs"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/UserInterface/CompletionSuggestionsView.js (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/UserInterface/CompletionSuggestionsView.js        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebInspectorUI/UserInterface/CompletionSuggestionsView.js        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -150,10 +150,9 @@
</span><span class="cx">         var maximumHeight = Math.min(absoluteMaximumHeight, Math.max(underHeight, aboveHeight) - margin);
</span><span class="cx">         var height = Math.min(containerHeight, maximumHeight);
</span><span class="cx"> 
</span><del>-        // Position the sugesstions above the anchor if there is more room.
-        // FIXME: This should always prefer positioning below until there is absolutely no room.
-        if (aboveHeight &gt; underHeight)
-            y = anchorBounds.origin.y - height;
</del><ins>+        // Position the suggestions below the anchor. If there is no room, position the suggestions above.
+        if (underHeight - height &lt; 0) 
+            y = aboveHeight - height;
</ins><span class="cx"> 
</span><span class="cx">         this._element.style.left = x + &quot;px&quot;;
</span><span class="cx">         this._element.style.top = y + &quot;px&quot;;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebInspectorUIVersionsInspectoriOS70json"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebInspectorUI/Versions/Inspector-iOS-7.0.json        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2828,7 +2828,6 @@
</span><span class="cx">                     { &quot;name&quot;: &quot;totalTime&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Total execution time.&quot; },
</span><span class="cx">                     { &quot;name&quot;: &quot;selfTime&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Self time.&quot; },
</span><span class="cx">                     { &quot;name&quot;: &quot;numberOfCalls&quot;, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Number of calls.&quot; },
</span><del>-                    { &quot;name&quot;: &quot;visible&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;description&quot;: &quot;Visibility.&quot; },
</del><span class="cx">                     { &quot;name&quot;: &quot;callUID&quot;, &quot;type&quot;: &quot;number&quot;, &quot;description&quot;: &quot;Call UID.&quot; },
</span><span class="cx">                     { &quot;name&quot;: &quot;children&quot;, &quot;type&quot;: &quot;array&quot;, &quot;items&quot;: { &quot;$ref&quot;: &quot;CPUProfileNode&quot; }, &quot;description&quot;: &quot;Child nodes.&quot; },
</span><span class="cx">                     { &quot;name&quot;: &quot;id&quot;, &quot;optional&quot;: true, &quot;type&quot;: &quot;integer&quot;, &quot;description&quot;: &quot;Unique id of the node.&quot; }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitWebKitvcxprojWebKitExportGeneratorWebKitExportsdefin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -234,7 +234,7 @@
</span><span class="cx">         symbolWithPointer(?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QAEXHH@Z, ?setResourcesDataSizeLimitsFromInternals@InspectorController@WebCore@@QEAAXHH@Z)
</span><span class="cx">         symbolWithPointer(?pathByAppendingComponent@WebCore@@YA?AVString@WTF@@ABV23@0@Z, ?pathByAppendingComponent@WebCore@@YA?AVString@WTF@@AEBV23@0@Z)
</span><span class="cx">         symbolWithPointer(?setProfilerEnabled@InspectorController@WebCore@@QAEX_N@Z, ?setProfilerEnabled@InspectorController@WebCore@@QEAAX_N@Z)
</span><del>-        symbolWithPointer(?disconnectFrontend@InspectorController@WebCore@@QAEXW4InspectorDisconnectReason@Inspector@@@Z, ?disconnectFrontend@InspectorController@WebCore@@QAEXW4InspectorDisconnectReason@Inspector@@@Z)
</del><ins>+        symbolWithPointer(?disconnectFrontend@InspectorController@WebCore@@QAEXW4InspectorDisconnectReason@Inspector@@@Z, ?disconnectFrontend@InspectorController@WebCore@@QEAAXW4InspectorDisconnectReason@Inspector@@@Z)
</ins><span class="cx"> #endif
</span><span class="cx">         symbolWithPointer(?isActiveInsertionPoint@WebCore@@YA_NPBVNode@1@@Z, ?isActiveInsertionPoint@WebCore@@YA_NPEBVNode@1@@Z)
</span><span class="cx">         symbolWithPointer(?isPreloaded@CachedResourceLoader@WebCore@@QBE_NABVString@WTF@@@Z, ?isPreloaded@CachedResourceLoader@WebCore@@QEBA_NAEBVString@WTF@@@Z)
</span><span class="lines">@@ -469,3 +469,5 @@
</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><ins>+        symbolWithPointer(?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA, ?gAccessibilityEnabled@AXObjectCache@WebCore@@0_NA)
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitWebKitxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/WebKit.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/WebKit.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/WebKit.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx">                 1A4DF5E50EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */; };
</span><span class="cx">                 1A60519117502A5D00BC62F5 /* BinaryPropertyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */; };
</span><span class="cx">                 1A60519217502A5D00BC62F5 /* BinaryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */; };
</span><del>-                1A60519317502A5D00BC62F5 /* HistoryPropertyList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */; };
</del><ins>+                1A60519317502A5D00BC62F5 /* HistoryPropertyList.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A60518F17502A5D00BC62F5 /* HistoryPropertyList.mm */; };
</ins><span class="cx">                 1A60519417502A5D00BC62F5 /* HistoryPropertyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */; };
</span><span class="cx">                 1A6A208D1886154600E50F5F /* WebProgressTrackerClient.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1A6A208B1886154600E50F5F /* WebProgressTrackerClient.mm */; };
</span><span class="cx">                 1A6A208E1886154600E50F5F /* WebProgressTrackerClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A6A208C1886154600E50F5F /* WebProgressTrackerClient.h */; };
</span><span class="lines">@@ -470,7 +470,7 @@
</span><span class="cx">                 1A4DF5E30EC8D104006BD4B4 /* WebBaseNetscapePluginView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebBaseNetscapePluginView.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BinaryPropertyList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BinaryPropertyList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HistoryPropertyList.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                1A60518F17502A5D00BC62F5 /* HistoryPropertyList.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HistoryPropertyList.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryPropertyList.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A6A208B1886154600E50F5F /* WebProgressTrackerClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProgressTrackerClient.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 1A6A208C1886154600E50F5F /* WebProgressTrackerClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProgressTrackerClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -1142,7 +1142,7 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 1A60518D17502A5D00BC62F5 /* BinaryPropertyList.cpp */,
</span><span class="cx">                                 1A60518E17502A5D00BC62F5 /* BinaryPropertyList.h */,
</span><del>-                                1A60518F17502A5D00BC62F5 /* HistoryPropertyList.cpp */,
</del><ins>+                                1A60518F17502A5D00BC62F5 /* HistoryPropertyList.mm */,
</ins><span class="cx">                                 1A60519017502A5D00BC62F5 /* HistoryPropertyList.h */,
</span><span class="cx">                                 3944607D020F50ED0ECA1767 /* WebBackForwardList.h */,
</span><span class="cx">                                 3944607E020F50ED0ECA1767 /* WebBackForwardList.mm */,
</span><span class="lines">@@ -2161,7 +2161,7 @@
</span><span class="cx">                                 939810FE0824BF01008DF038 /* CarbonWindowContentView.m in Sources */,
</span><span class="cx">                                 939810FF0824BF01008DF038 /* CarbonWindowFrame.m in Sources */,
</span><span class="cx">                                 B82958D4132707D0000D0E79 /* CorrectionPanel.mm in Sources */,
</span><del>-                                1A60519317502A5D00BC62F5 /* HistoryPropertyList.cpp in Sources */,
</del><ins>+                                1A60519317502A5D00BC62F5 /* HistoryPropertyList.mm in Sources */,
</ins><span class="cx">                                 939811000824BF01008DF038 /* HIViewAdapter.m in Sources */,
</span><span class="cx">                                 939811020824BF01008DF038 /* HIWebView.mm in Sources */,
</span><span class="cx">                                 1A8DED510EE88B8A00F25022 /* HostedNetscapePluginStream.mm in Sources */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflWebCoreSupportFrameLoaderClientEflcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -538,11 +538,6 @@
</span><span class="cx">     return item;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool FrameLoaderClientEfl::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
-    return true;
-}
-
</del><span class="cx"> void FrameLoaderClientEfl::didDisplayInsecureContent()
</span><span class="cx"> {
</span><span class="cx">     ewk_frame_mixed_content_displayed_set(m_frame, true);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflWebCoreSupportFrameLoaderClientEflh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -150,7 +150,6 @@
</span><span class="cx">     virtual void updateGlobalHistory();
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks();
</span><span class="cx">     virtual bool shouldGoToHistoryItem(HistoryItem*) const;
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(HistoryItem*) const;
</del><span class="cx">     virtual void didDisplayInsecureContent();
</span><span class="cx">     virtual void didRunInsecureContent(SecurityOrigin*, const URL&amp;);
</span><span class="cx">     virtual void didDetectXSS(const URL&amp;, bool didBlockEntirePage);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflewkewk_framecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/ewk/ewk_frame.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/ewk/ewk_frame.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/ewk/ewk_frame.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ewk_frame.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;DocumentLoader.h&quot;
</span><span class="cx"> #include &quot;DocumentMarkerController.h&quot;
</span><span class="cx"> #include &quot;Editor.h&quot;
</span><span class="lines">@@ -613,9 +614,9 @@
</span><span class="cx">     EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
</span><span class="cx">     EINA_SAFETY_ON_NULL_RETURN_VAL(smartData-&gt;frame, false);
</span><span class="cx">     WebCore::Page* page = smartData-&gt;frame-&gt;page();
</span><del>-    if (!page-&gt;canGoBackOrForward(steps))
</del><ins>+    if (!page-&gt;backForward().canGoBackOrForward(steps))
</ins><span class="cx">         return false;
</span><del>-    page-&gt;goBackOrForward(steps);
</del><ins>+    page-&gt;backForward().goBackOrForward(steps);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -634,7 +635,7 @@
</span><span class="cx">     EWK_FRAME_SD_GET_OR_RETURN(ewkFrame, smartData, false);
</span><span class="cx">     EINA_SAFETY_ON_NULL_RETURN_VAL(smartData-&gt;frame, false);
</span><span class="cx">     WebCore::Page* page = smartData-&gt;frame-&gt;page();
</span><del>-    return page-&gt;canGoBackOrForward(steps);
</del><ins>+    return page-&gt;backForward().canGoBackOrForward(steps);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> float ewk_frame_page_zoom_get(const Evas_Object* ewkFrame)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflewkewk_historycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/ewk/ewk_history.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/ewk/ewk_history.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/ewk/ewk_history.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -254,7 +254,7 @@
</span><span class="cx"> {
</span><span class="cx">     WTF::String historyUri = WTF::String::fromUTF8(uri);
</span><span class="cx">     WTF::String historyTitle = WTF::String::fromUTF8(title);
</span><del>-    WTF::RefPtr&lt;WebCore::HistoryItem&gt; core = WebCore::HistoryItem::create(historyUri, historyTitle, 0);
</del><ins>+    WTF::RefPtr&lt;WebCore::HistoryItem&gt; core = WebCore::HistoryItem::create(historyUri, historyTitle);
</ins><span class="cx">     Ewk_History_Item* item = ewk_history_item_new_from_core(core.release().leakRef());
</span><span class="cx">     return item;
</span><span class="cx"> }
</span><span class="lines">@@ -328,8 +328,8 @@
</span><span class="cx"> 
</span><span class="cx"> double ewk_history_item_time_last_visited_get(const Ewk_History_Item* item)
</span><span class="cx"> {
</span><del>-    EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0.0);
-    return core-&gt;lastVisitedTime();
</del><ins>+    // FIXME: Consider to drop this
+    return 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> cairo_surface_t* ewk_history_item_icon_surface_get(const Ewk_History_Item* item)
</span><span class="lines">@@ -365,8 +365,8 @@
</span><span class="cx"> 
</span><span class="cx"> int ewk_history_item_visit_count(const Ewk_History_Item* item)
</span><span class="cx"> {
</span><del>-    EWK_HISTORY_ITEM_CORE_GET_OR_RETURN(item, core, 0);
-    return core-&gt;visitCount();
</del><ins>+    // FIXME: Consider to drop this
+    return 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Eina_Bool ewk_history_item_visit_last_failed(const Ewk_History_Item* item)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflewkewk_settingscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/ewk/ewk_settings.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/ewk/ewk_settings.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/ewk/ewk_settings.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -319,10 +319,11 @@
</span><span class="cx"> 
</span><span class="cx"> void ewk_settings_repaint_throttling_set(double deferredRepaintDelay, double initialDeferredRepaintDelayDuringLoading, double maxDeferredRepaintDelayDuringLoading, double deferredRepaintDelayIncrementDuringLoading)
</span><span class="cx"> {
</span><del>-    WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay(deferredRepaintDelay);
-    WebCore::FrameView::setRepaintThrottlingnInitialDeferredRepaintDelayDuringLoading(initialDeferredRepaintDelayDuringLoading);
-    WebCore::FrameView::setRepaintThrottlingMaxDeferredRepaintDelayDuringLoading(maxDeferredRepaintDelayDuringLoading);
-    WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelayIncrementDuringLoading(deferredRepaintDelayIncrementDuringLoading);
</del><ins>+    // FIXME: EFL should switch to layer flush throttling.
+    UNUSED_PARAM(deferredRepaintDelay);
+    UNUSED_PARAM(initialDeferredRepaintDelayDuringLoading);
+    UNUSED_PARAM(maxDeferredRepaintDelayDuringLoading);
+    UNUSED_PARAM(deferredRepaintDelayIncrementDuringLoading);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKiteflewkewk_viewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/efl/ewk/ewk_view.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/efl/ewk/ewk_view.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/efl/ewk/ewk_view.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;ewk_view.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;BackForwardList.h&quot;
</span><span class="cx"> #include &quot;Bridge.h&quot;
</span><span class="cx"> #include &quot;Chrome.h&quot;
</span><span class="lines">@@ -836,7 +837,7 @@
</span><span class="cx">     priv-&gt;settings.allowUniversalAccessFromFileURLs = pageSettings.allowUniversalAccessFromFileURLs();
</span><span class="cx">     priv-&gt;settings.allowFileAccessFromFileURLs = pageSettings.allowFileAccessFromFileURLs();
</span><span class="cx"> 
</span><del>-    priv-&gt;history = ewk_history_new(static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForwardClient()));
</del><ins>+    priv-&gt;history = ewk_history_new(static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForward().client()));
</ins><span class="cx"> 
</span><span class="cx">     priv-&gt;pageClient = adoptPtr(new PageClientEfl(smartData-&gt;self));
</span><span class="cx"> 
</span><span class="lines">@@ -1932,14 +1933,14 @@
</span><span class="cx"> {
</span><span class="cx">     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
</span><span class="cx">     EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
</span><del>-    return static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForwardClient())-&gt;enabled();
</del><ins>+    return static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForward().client())-&gt;enabled();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> Eina_Bool ewk_view_history_enable_set(Evas_Object* ewkView, Eina_Bool enable)
</span><span class="cx"> {
</span><span class="cx">     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
</span><span class="cx">     EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
</span><del>-    static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForwardClient())-&gt;setEnabled(enable);
</del><ins>+    static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForward().client())-&gt;setEnabled(enable);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1947,7 +1948,7 @@
</span><span class="cx"> {
</span><span class="cx">     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
</span><span class="cx">     EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
</span><del>-    if (!static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForwardClient())-&gt;enabled()) {
</del><ins>+    if (!static_cast&lt;WebCore::BackForwardList*&gt;(priv-&gt;page-&gt;backForward().client())-&gt;enabled()) {
</ins><span class="cx">         ERR(&quot;asked history, but it's disabled! Returning 0!&quot;);
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><span class="lines">@@ -3776,8 +3777,8 @@
</span><span class="cx">     priv-&gt;m_scrollOffsets.append(delta);
</span><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i &lt; priv-&gt;repaints.count; ++i) {
</span><del>-        priv-&gt;repaints.array[i].x = delta.width();
-        priv-&gt;repaints.array[i].y = delta.height();
</del><ins>+        priv-&gt;repaints.array[i].x += delta.width();
+        priv-&gt;repaints.array[i].y += delta.height();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     _ewk_view_smart_changed(smartData);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkWebCoreSupportFrameLoaderClientGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -621,11 +621,6 @@
</span><span class="cx">     return item != 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool FrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
-    return true;
-}
-
</del><span class="cx"> void FrameLoaderClient::didDisplayInsecureContent()
</span><span class="cx"> {
</span><span class="cx">     if (!DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled() || !DumpRenderTreeSupportGtk::s_frameLoadEventCallback)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkWebCoreSupportFrameLoaderClientGtkh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -137,7 +137,6 @@
</span><span class="cx">         virtual void updateGlobalHistory();
</span><span class="cx">         virtual void updateGlobalHistoryRedirectLinks();
</span><span class="cx">         virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
</span><del>-        virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const;
</del><span class="cx"> 
</span><span class="cx">         virtual void didDisplayInsecureContent();
</span><span class="cx">         virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::URL&amp;);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkwebkitwebkitglobalscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/webkit/webkitglobals.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/webkit/webkitglobals.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/webkit/webkitglobals.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -558,7 +558,7 @@
</span><span class="cx"> 
</span><span class="cx">     PageGroup::setShouldTrackVisitedLinks(true);
</span><span class="cx"> 
</span><del>-    GUniquePtr&lt;gchar&gt; iconDatabasePath(g_build_filename(g_get_user_data_dir(), &quot;webkit&quot;, &quot;icondatabase&quot;, NULL));
</del><ins>+    GUniquePtr&lt;gchar&gt; iconDatabasePath(g_build_filename(g_get_user_cache_dir(), &quot;webkit&quot;, &quot;icondatabase&quot;, NULL));
</ins><span class="cx">     webkit_icon_database_set_path(webkit_get_icon_database(), iconDatabasePath.get());
</span><span class="cx"> 
</span><span class="cx">     WebCore::ResourceHandle::setIgnoreSSLErrors(true);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkwebkitwebkiticondatabasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/webkit/webkiticondatabase.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/webkit/webkiticondatabase.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/webkit/webkiticondatabase.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">  * the same icon database.
</span><span class="cx">  *
</span><span class="cx">  * The icon database is enabled by default and stored in
</span><del>- * ~/.local/share/webkit/icondatabase, depending on XDG_DATA_HOME.
</del><ins>+ * ~/.cache/webkit/icondatabase, depending on XDG_CACHE_HOME.
</ins><span class="cx">  *
</span><span class="cx">  * WebKit will automatically look for available icons in link elements
</span><span class="cx">  * on opened pages as well as an existing favicon.ico and load the
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkwebkitwebkitwebbackforwardlistcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,6 +21,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;webkitwebbackforwardlist.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;BackForwardList.h&quot;
</span><span class="cx"> #include &quot;HistoryItem.h&quot;
</span><span class="cx"> #include &quot;Page.h&quot;
</span><span class="lines">@@ -116,7 +117,7 @@
</span><span class="cx">     webBackForwardList = WEBKIT_WEB_BACK_FORWARD_LIST(g_object_new(WEBKIT_TYPE_WEB_BACK_FORWARD_LIST, NULL));
</span><span class="cx">     WebKitWebBackForwardListPrivate* priv = webBackForwardList-&gt;priv;
</span><span class="cx"> 
</span><del>-    priv-&gt;backForwardList = static_cast&lt;WebCore::BackForwardList*&gt;(core(webView)-&gt;backForwardClient());
</del><ins>+    priv-&gt;backForwardList = static_cast&lt;WebCore::BackForwardList*&gt;(core(webView)-&gt;backForward().client());
</ins><span class="cx">     priv-&gt;backForwardList-&gt;setEnabled(TRUE);
</span><span class="cx"> 
</span><span class="cx">     return webBackForwardList;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkwebkitwebkitwebhistoryitemcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -300,7 +300,7 @@
</span><span class="cx"> 
</span><span class="cx">     WebCore::URL historyUri(WebCore::URL(), uri);
</span><span class="cx">     WTF::String historyTitle = WTF::String::fromUTF8(title);
</span><del>-    RefPtr&lt;WebCore::HistoryItem&gt; item = WebCore::HistoryItem::create(historyUri, historyTitle, 0);
</del><ins>+    RefPtr&lt;WebCore::HistoryItem&gt; item = WebCore::HistoryItem::create(historyUri, historyTitle);
</ins><span class="cx">     priv-&gt;historyItem = item.release().leakRef();
</span><span class="cx">     webkit_history_item_add(webHistoryItem, priv-&gt;historyItem);
</span><span class="cx"> 
</span><span class="lines">@@ -427,7 +427,9 @@
</span><span class="cx"> 
</span><span class="cx">     g_return_val_if_fail(item, 0);
</span><span class="cx"> 
</span><del>-    return item-&gt;lastVisitedTime();
</del><ins>+    // FIXME: HistoryItem in WebCore doesn't implement visit stats anymore.
+    // https://bugs.webkit.org/show_bug.cgi?id=127673.
+    return 0;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitgtkwebkitwebkitwebviewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebview.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebview.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/gtk/webkit/webkitwebview.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -34,6 +34,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;AXObjectCache.h&quot;
</span><span class="cx"> #include &quot;ArchiveResource.h&quot;
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;BackForwardList.h&quot;
</span><span class="cx"> #include &quot;BatteryClientGtk.h&quot;
</span><span class="cx"> #include &quot;CairoUtilities.h&quot;
</span><span class="lines">@@ -4100,7 +4101,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    static_cast&lt;BackForwardList*&gt;(core(webView)-&gt;backForwardClient())-&gt;setEnabled(flag);
</del><ins>+    static_cast&lt;BackForwardList*&gt;(core(webView)-&gt;backForward().client())-&gt;setEnabled(flag);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -4115,7 +4116,7 @@
</span><span class="cx"> WebKitWebBackForwardList* webkit_web_view_get_back_forward_list(WebKitWebView* webView)
</span><span class="cx"> {
</span><span class="cx">     g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), 0);
</span><del>-    if (!core(webView) || !static_cast&lt;BackForwardList*&gt;(core(webView)-&gt;backForwardClient())-&gt;enabled())
</del><ins>+    if (!core(webView) || !static_cast&lt;BackForwardList*&gt;(core(webView)-&gt;backForward().client())-&gt;enabled())
</ins><span class="cx">         return 0;
</span><span class="cx">     return webView-&gt;priv-&gt;backForwardList.get();
</span><span class="cx"> }
</span><span class="lines">@@ -4152,7 +4153,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    core(webView)-&gt;goBack();
</del><ins>+    core(webView)-&gt;backForward().goBack();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -4168,7 +4169,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    core(webView)-&gt;goBackOrForward(steps);
</del><ins>+    core(webView)-&gt;backForward().goBackOrForward(steps);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -4181,7 +4182,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
</span><span class="cx"> 
</span><del>-    core(webView)-&gt;goForward();
</del><ins>+    core(webView)-&gt;backForward().goForward();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -4196,7 +4197,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
</span><span class="cx"> 
</span><del>-    if (!core(webView) || !core(webView)-&gt;backForwardClient()-&gt;backItem())
</del><ins>+    if (!core(webView) || !core(webView)-&gt;backForward().canGoBackOrForward(-1))
</ins><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><span class="cx">     return TRUE;
</span><span class="lines">@@ -4217,7 +4218,7 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
</span><span class="cx"> 
</span><del>-    return core(webView)-&gt;canGoBackOrForward(steps);
</del><ins>+    return core(webView)-&gt;backForward().canGoBackOrForward(steps);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -4237,7 +4238,7 @@
</span><span class="cx">     if (!page)
</span><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><del>-    if (!page-&gt;backForwardClient()-&gt;forwardItem())
</del><ins>+    if (!page-&gt;backForward().forwardItem())
</ins><span class="cx">         return FALSE;
</span><span class="cx"> 
</span><span class="cx">     return TRUE;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/ChangeLog (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/ChangeLog        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/ChangeLog        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2104,6 +2104,34 @@
</span><span class="cx"> 
</span><span class="cx"> 2013-08-27  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Move history item visit count handling to WebKit
+        https://bugs.webkit.org/show_bug.cgi?id=127659
+
+        Reviewed by Dan Bernstein.
+
+        Move code to deal with visit count and visit dates here from WebCore.
+
+        * History/HistoryPropertyList.mm:
+        (HistoryPropertyListWriter::writeHistoryItem):
+        * History/WebHistoryItem.mm:
+        (-[WebHistoryItem initWithURLString:title:lastVisitedTimeInterval:]):
+        (-[WebHistoryItem copyWithZone:]):
+        (-[WebHistoryItem lastVisitedTimeInterval]):
+        (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
+        (-[WebHistoryItem setVisitCount:]):
+        (-[WebHistoryItem _mergeAutoCompleteHints:]):
+        (-[WebHistoryItem initFromDictionaryRepresentation:]):
+        (-[WebHistoryItem _visitedWithTitle:increaseVisitCount:]):
+        (-[WebHistoryItem _recordInitialVisit]):
+        (timeToDay):
+        (-[WebHistoryItem _padDailyCountsForNewVisit:]):
+        (-[WebHistoryItem _collapseDailyVisitsToWeekly]):
+        (-[WebHistoryItem _recordVisitAtTime:increaseVisitCount:]):
+        (-[WebHistoryItem _setLastVisitedTimeInterval:]):
+        * History/WebHistoryItemInternal.h:
+
+2014-01-26  Anders Carlsson  &lt;andersca@apple.com&gt;
+
</ins><span class="cx">         Fix build.
</span><span class="cx"> 
</span><span class="cx">         * Plugins/Hosted/ProxyInstance.h:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> ENABLE_DEVICE_ORIENTATION_iphonesimulator = $(ENABLE_DEVICE_ORIENTATION_iphoneos);
</span><span class="cx"> ENABLE_DIRECTORY_UPLOAD = ;
</span><span class="cx"> ENABLE_DOM4_EVENTS_CONSTRUCTOR = ENABLE_DOM4_EVENTS_CONSTRUCTOR;
</span><del>-ENABLE_DRAGGABLE_REGION = ;
</del><span class="cx"> ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx_1080 = ;
</span><span class="lines">@@ -196,4 +195,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_DRAGGABLE_REGION) $(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_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="branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,154 +0,0 @@
</span><del>-/*
- * Copyright (C) 2009 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. ``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
- * 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 &quot;HistoryPropertyList.h&quot;
-
-#include &lt;WebCore/HistoryItem.h&gt;
-#include &lt;wtf/StringExtras.h&gt;
-
-using namespace WebCore;
-
-static const int currentFileVersion = 1;
-
-HistoryPropertyListWriter::HistoryPropertyListWriter()
-    : m_dailyVisitCountsKey(&quot;D&quot;)
-    , m_displayTitleKey(&quot;displayTitle&quot;)
-    , m_lastVisitWasFailureKey(&quot;lastVisitWasFailure&quot;)
-    , m_lastVisitWasHTTPNonGetKey(&quot;lastVisitWasHTTPNonGet&quot;)
-    , m_lastVisitedDateKey(&quot;lastVisitedDate&quot;)
-    , m_redirectURLsKey(&quot;redirectURLs&quot;)
-    , m_titleKey(&quot;title&quot;)
-    , m_urlKey(&quot;&quot;)
-    , m_visitCountKey(&quot;visitCount&quot;)
-    , m_weeklyVisitCountsKey(&quot;W&quot;)
-    , m_buffer(0)
-{
-}
-
-UInt8* HistoryPropertyListWriter::buffer(size_t size)
-{
-    ASSERT(!m_buffer);
-    m_buffer = static_cast&lt;UInt8*&gt;(CFAllocatorAllocate(0, size, 0));
-    m_bufferSize = size;
-    return m_buffer;
-}
-
-RetainPtr&lt;CFDataRef&gt; HistoryPropertyListWriter::releaseData()
-{
-    UInt8* buffer = m_buffer;
-    if (!buffer)
-        return 0;
-    m_buffer = 0;
-    RetainPtr&lt;CFDataRef&gt; data = adoptCF(CFDataCreateWithBytesNoCopy(0, buffer, m_bufferSize, 0));
-    if (!data) {
-        CFAllocatorDeallocate(0, buffer);
-        return 0;
-    }
-    return data;
-}
-
-void HistoryPropertyListWriter::writeObjects(BinaryPropertyListObjectStream&amp; stream)
-{
-    size_t outerDictionaryStart = stream.writeDictionaryStart();
-
-    stream.writeString(&quot;WebHistoryFileVersion&quot;);
-    stream.writeString(&quot;WebHistoryDates&quot;);
-
-    stream.writeInteger(currentFileVersion);
-    size_t outerDateArrayStart = stream.writeArrayStart();
-    writeHistoryItems(stream);
-    stream.writeArrayEnd(outerDateArrayStart);
-
-    stream.writeDictionaryEnd(outerDictionaryStart);
-}
-
-void HistoryPropertyListWriter::writeHistoryItem(BinaryPropertyListObjectStream&amp; stream, HistoryItem* item)
-{
-    size_t itemDictionaryStart = stream.writeDictionaryStart();
-
-    const String&amp; title = item-&gt;title();
-    const String&amp; displayTitle = item-&gt;alternateTitle();
-    double lastVisitedDate = item-&gt;lastVisitedTime();
-    int visitCount = item-&gt;visitCount();
-    Vector&lt;String&gt;* redirectURLs = item-&gt;redirectURLs();
-    const Vector&lt;int&gt;&amp; dailyVisitCounts = item-&gt;dailyVisitCounts();
-    const Vector&lt;int&gt;&amp; weeklyVisitCounts = item-&gt;weeklyVisitCounts();
-
-    // keys
-    stream.writeString(m_urlKey);
-    if (!title.isEmpty())
-        stream.writeString(m_titleKey);
-    if (!displayTitle.isEmpty())
-        stream.writeString(m_displayTitleKey);
-    if (lastVisitedDate)
-        stream.writeString(m_lastVisitedDateKey);
-    if (visitCount)
-        stream.writeString(m_visitCountKey);
-    if (item-&gt;lastVisitWasFailure())
-        stream.writeString(m_lastVisitWasFailureKey);
-    if (item-&gt;lastVisitWasHTTPNonGet())
-        stream.writeString(m_lastVisitWasHTTPNonGetKey);
-    if (redirectURLs)
-        stream.writeString(m_redirectURLsKey);
-    if (!dailyVisitCounts.isEmpty())
-        stream.writeString(m_dailyVisitCountsKey);
-    if (!weeklyVisitCounts.isEmpty())
-        stream.writeString(m_weeklyVisitCountsKey);
-
-    // values
-    stream.writeUniqueString(item-&gt;urlString());
-    if (!title.isEmpty())
-        stream.writeString(title);
-    if (!displayTitle.isEmpty())
-        stream.writeString(displayTitle);
-    if (lastVisitedDate) {
-        char buffer[32];
-        snprintf(buffer, sizeof(buffer), &quot;%.1lf&quot;, lastVisitedDate);
-        stream.writeUniqueString(buffer);
-    }
-    if (visitCount)
-        stream.writeInteger(visitCount);
-    if (item-&gt;lastVisitWasFailure())
-        stream.writeBooleanTrue();
-    if (item-&gt;lastVisitWasHTTPNonGet()) {
-        ASSERT(item-&gt;urlString().startsWith(&quot;http:&quot;, false) || item-&gt;urlString().startsWith(&quot;https:&quot;, false));
-        stream.writeBooleanTrue();
-    }
-    if (redirectURLs) {
-        size_t redirectArrayStart = stream.writeArrayStart();
-        size_t size = redirectURLs-&gt;size();
-        ASSERT(size);
-        for (size_t i = 0; i &lt; size; ++i)
-            stream.writeUniqueString(redirectURLs-&gt;at(i));
-        stream.writeArrayEnd(redirectArrayStart);
-    }
-    if (size_t size = dailyVisitCounts.size())
-        stream.writeIntegerArray(dailyVisitCounts.data(), size);
-    if (size_t size = weeklyVisitCounts.size())
-        stream.writeIntegerArray(weeklyVisitCounts.data(), size);
-
-    stream.writeDictionaryEnd(itemDictionaryStart);
-}
-
</del></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,9 +30,7 @@
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><del>-namespace WebCore {
-class HistoryItem;
-}
</del><ins>+@class WebHistoryItem;
</ins><span class="cx"> 
</span><span class="cx"> class HistoryPropertyListWriter : public BinaryPropertyListWriter {
</span><span class="cx"> public:
</span><span class="lines">@@ -41,7 +39,7 @@
</span><span class="cx"> protected:
</span><span class="cx">     HistoryPropertyListWriter();
</span><span class="cx"> 
</span><del>-    void writeHistoryItem(BinaryPropertyListObjectStream&amp;, WebCore::HistoryItem*);
</del><ins>+    void writeHistoryItem(BinaryPropertyListObjectStream&amp;, WebHistoryItem *);
</ins><span class="cx"> 
</span><span class="cx"> private:
</span><span class="cx">     virtual void writeHistoryItems(BinaryPropertyListObjectStream&amp;) = 0;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryHistoryPropertyListmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.mm                                (rev 0)
+++ branches/jsCStack/Source/WebKit/mac/History/HistoryPropertyList.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,157 @@
</span><ins>+/*
+ * Copyright (C) 2009 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. ``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
+ * 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. 
+ */
+
+#import &quot;HistoryPropertyList.h&quot;
+
+#import &quot;WebHistoryItemInternal.h&quot;
+#import &lt;WebCore/HistoryItem.h&gt;
+#import &lt;wtf/StringExtras.h&gt;
+
+using namespace WebCore;
+
+static const int currentFileVersion = 1;
+
+HistoryPropertyListWriter::HistoryPropertyListWriter()
+    : m_dailyVisitCountsKey(&quot;D&quot;)
+    , m_displayTitleKey(&quot;displayTitle&quot;)
+    , m_lastVisitWasFailureKey(&quot;lastVisitWasFailure&quot;)
+    , m_lastVisitWasHTTPNonGetKey(&quot;lastVisitWasHTTPNonGet&quot;)
+    , m_lastVisitedDateKey(&quot;lastVisitedDate&quot;)
+    , m_redirectURLsKey(&quot;redirectURLs&quot;)
+    , m_titleKey(&quot;title&quot;)
+    , m_urlKey(&quot;&quot;)
+    , m_visitCountKey(&quot;visitCount&quot;)
+    , m_weeklyVisitCountsKey(&quot;W&quot;)
+    , m_buffer(0)
+{
+}
+
+UInt8* HistoryPropertyListWriter::buffer(size_t size)
+{
+    ASSERT(!m_buffer);
+    m_buffer = static_cast&lt;UInt8*&gt;(CFAllocatorAllocate(0, size, 0));
+    m_bufferSize = size;
+    return m_buffer;
+}
+
+RetainPtr&lt;CFDataRef&gt; HistoryPropertyListWriter::releaseData()
+{
+    UInt8* buffer = m_buffer;
+    if (!buffer)
+        return 0;
+    m_buffer = 0;
+    RetainPtr&lt;CFDataRef&gt; data = adoptCF(CFDataCreateWithBytesNoCopy(0, buffer, m_bufferSize, 0));
+    if (!data) {
+        CFAllocatorDeallocate(0, buffer);
+        return 0;
+    }
+    return data;
+}
+
+void HistoryPropertyListWriter::writeObjects(BinaryPropertyListObjectStream&amp; stream)
+{
+    size_t outerDictionaryStart = stream.writeDictionaryStart();
+
+    stream.writeString(&quot;WebHistoryFileVersion&quot;);
+    stream.writeString(&quot;WebHistoryDates&quot;);
+
+    stream.writeInteger(currentFileVersion);
+    size_t outerDateArrayStart = stream.writeArrayStart();
+    writeHistoryItems(stream);
+    stream.writeArrayEnd(outerDateArrayStart);
+
+    stream.writeDictionaryEnd(outerDictionaryStart);
+}
+
+void HistoryPropertyListWriter::writeHistoryItem(BinaryPropertyListObjectStream&amp; stream, WebHistoryItem* webHistoryItem)
+{
+    HistoryItem* item = core(webHistoryItem);
+
+    size_t itemDictionaryStart = stream.writeDictionaryStart();
+
+    const String&amp; title = item-&gt;title();
+    const String&amp; displayTitle = item-&gt;alternateTitle();
+    double lastVisitedDate = webHistoryItem-&gt;_private-&gt;_lastVisitedTime;
+    int visitCount = webHistoryItem-&gt;_private-&gt;_visitCount;
+    Vector&lt;String&gt;* redirectURLs = item-&gt;redirectURLs();
+    const Vector&lt;int&gt;&amp; dailyVisitCounts = webHistoryItem-&gt;_private-&gt;_dailyVisitCounts;
+    const Vector&lt;int&gt;&amp; weeklyVisitCounts = webHistoryItem-&gt;_private-&gt;_weeklyVisitCounts;
+
+    // keys
+    stream.writeString(m_urlKey);
+    if (!title.isEmpty())
+        stream.writeString(m_titleKey);
+    if (!displayTitle.isEmpty())
+        stream.writeString(m_displayTitleKey);
+    if (lastVisitedDate)
+        stream.writeString(m_lastVisitedDateKey);
+    if (visitCount)
+        stream.writeString(m_visitCountKey);
+    if (item-&gt;lastVisitWasFailure())
+        stream.writeString(m_lastVisitWasFailureKey);
+    if (webHistoryItem-&gt;_private-&gt;_lastVisitWasHTTPNonGet)
+        stream.writeString(m_lastVisitWasHTTPNonGetKey);
+    if (redirectURLs)
+        stream.writeString(m_redirectURLsKey);
+    if (!dailyVisitCounts.isEmpty())
+        stream.writeString(m_dailyVisitCountsKey);
+    if (!weeklyVisitCounts.isEmpty())
+        stream.writeString(m_weeklyVisitCountsKey);
+
+    // values
+    stream.writeUniqueString(item-&gt;urlString());
+    if (!title.isEmpty())
+        stream.writeString(title);
+    if (!displayTitle.isEmpty())
+        stream.writeString(displayTitle);
+    if (lastVisitedDate) {
+        char buffer[32];
+        snprintf(buffer, sizeof(buffer), &quot;%.1lf&quot;, lastVisitedDate);
+        stream.writeUniqueString(buffer);
+    }
+    if (visitCount)
+        stream.writeInteger(visitCount);
+    if (item-&gt;lastVisitWasFailure())
+        stream.writeBooleanTrue();
+    if (webHistoryItem-&gt;_private-&gt;_lastVisitWasHTTPNonGet) {
+        ASSERT(item-&gt;urlString().startsWith(&quot;http:&quot;, false) || item-&gt;urlString().startsWith(&quot;https:&quot;, false));
+        stream.writeBooleanTrue();
+    }
+    if (redirectURLs) {
+        size_t redirectArrayStart = stream.writeArrayStart();
+        size_t size = redirectURLs-&gt;size();
+        ASSERT(size);
+        for (size_t i = 0; i &lt; size; ++i)
+            stream.writeUniqueString(redirectURLs-&gt;at(i));
+        stream.writeArrayEnd(redirectArrayStart);
+    }
+    if (size_t size = dailyVisitCounts.size())
+        stream.writeIntegerArray(dailyVisitCounts.data(), size);
+    if (size_t size = weeklyVisitCounts.size())
+        stream.writeIntegerArray(weeklyVisitCounts.data(), size);
+
+    stream.writeDictionaryEnd(itemDictionaryStart);
+}
+
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryWebHistorymm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/WebHistory.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/WebHistory.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/WebHistory.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -938,7 +938,7 @@
</span><span class="cx">     item-&gt;setLastVisitWasFailure(wasFailure);
</span><span class="cx"> 
</span><span class="cx">     if ([method length])
</span><del>-        item-&gt;setLastVisitWasHTTPNonGet([method caseInsensitiveCompare:@&quot;GET&quot;] &amp;&amp; (![[url scheme] caseInsensitiveCompare:@&quot;http&quot;] || ![[url scheme] caseInsensitiveCompare:@&quot;https&quot;]));
</del><ins>+        entry-&gt;_private-&gt;_lastVisitWasHTTPNonGet = [method caseInsensitiveCompare:@&quot;GET&quot;] &amp;&amp; (![[url scheme] caseInsensitiveCompare:@&quot;http&quot;] || ![[url scheme] caseInsensitiveCompare:@&quot;https&quot;]);
</ins><span class="cx"> 
</span><span class="cx">     item-&gt;setRedirectURLs(nullptr);
</span><span class="cx"> 
</span><span class="lines">@@ -970,6 +970,6 @@
</span><span class="cx">         NSArray *entries = m_entriesByDate-&gt;get(m_dateKeys[dateIndex]).get();
</span><span class="cx">         NSUInteger entryCount = [entries count];
</span><span class="cx">         for (NSUInteger entryIndex = 0; entryIndex &lt; entryCount; ++entryIndex)
</span><del>-            writeHistoryItem(stream, core([entries objectAtIndex:entryIndex]));
</del><ins>+            writeHistoryItem(stream, [entries objectAtIndex:entryIndex]);
</ins><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryWebHistoryItemh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> */
</span><span class="cx"> @interface WebHistoryItem : NSObject &lt;NSCopying&gt;
</span><span class="cx"> {
</span><del>-@private
</del><ins>+@package
</ins><span class="cx">     WebHistoryItemPrivate *_private;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryWebHistoryItemmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/WebHistoryItem.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -94,10 +94,16 @@
</span><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> 
</span><ins>+@implementation WebHistoryItemPrivate
+
+@end
+
</ins><span class="cx"> typedef HashMap&lt;HistoryItem*, WebHistoryItem*&gt; HistoryItemMap;
</span><span class="cx"> 
</span><del>-static inline WebHistoryItemPrivate* kitPrivate(WebCoreHistoryItem* list) { return (WebHistoryItemPrivate*)list; }
-static inline WebCoreHistoryItem* core(WebHistoryItemPrivate* list) { return (WebCoreHistoryItem*)list; }
</del><ins>+static inline WebCoreHistoryItem* core(WebHistoryItemPrivate* itemPrivate)
+{
+    return itemPrivate-&gt;_historyItem.get();
+}
</ins><span class="cx"> 
</span><span class="cx"> static HistoryItemMap&amp; historyItemWrappers()
</span><span class="cx"> {
</span><span class="lines">@@ -135,7 +141,11 @@
</span><span class="cx"> - (instancetype)initWithURLString:(NSString *)URLString title:(NSString *)title lastVisitedTimeInterval:(NSTimeInterval)time
</span><span class="cx"> {
</span><span class="cx">     WebCoreThreadViolationCheckRoundOne();
</span><del>-    return [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, time)];
</del><ins>+
+    WebHistoryItem *item = [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title)];
+    item-&gt;_private-&gt;_lastVisitedTime = time;
+
+    return item;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)dealloc
</span><span class="lines">@@ -143,25 +153,21 @@
</span><span class="cx">     if (WebCoreObjCScheduleDeallocateOnMainThread([WebHistoryItem class], self))
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    if (_private) {
-        HistoryItem* coreItem = core(_private);
-        coreItem-&gt;deref();
-        historyItemWrappers().remove(coreItem);
-    }
</del><ins>+    historyItemWrappers().remove(_private-&gt;_historyItem.get());
+    [_private release];
+
</ins><span class="cx">     [super dealloc];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)finalize
</span><span class="cx"> {
</span><span class="cx">     WebCoreThreadViolationCheckRoundOne();
</span><ins>+
</ins><span class="cx">     // FIXME: ~HistoryItem is what releases the history item's icon from the icon database
</span><span class="cx">     // It's probably not good to release icons from the database only when the object is garbage-collected. 
</span><span class="cx">     // Need to change design so this happens at a predictable time.
</span><del>-    if (_private) {
-        HistoryItem* coreItem = core(_private);
-        coreItem-&gt;deref();
-        historyItemWrappers().remove(coreItem);
-    }
</del><ins>+    historyItemWrappers().remove(_private-&gt;_historyItem.get());
+
</ins><span class="cx">     [super finalize];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -169,6 +175,14 @@
</span><span class="cx"> {
</span><span class="cx">     WebCoreThreadViolationCheckRoundOne();
</span><span class="cx">     WebHistoryItem *copy = [[[self class] alloc] initWithWebCoreHistoryItem:core(_private)-&gt;copy()];
</span><ins>+
+    copy-&gt;_private-&gt;_lastVisitedTime = _private-&gt;_lastVisitedTime;
+    copy-&gt;_private-&gt;_visitCount = _private-&gt;_visitCount;
+    copy-&gt;_private-&gt;_dailyVisitCounts = _private-&gt;_dailyVisitCounts;
+    copy-&gt;_private-&gt;_weeklyVisitCounts = _private-&gt;_weeklyVisitCounts;
+
+    copy-&gt;_private-&gt;_lastVisitWasHTTPNonGet = _private-&gt;_lastVisitWasHTTPNonGet;
+
</ins><span class="cx">     historyItemWrappers().set(core(copy-&gt;_private), copy);
</span><span class="cx"> 
</span><span class="cx">     return copy;
</span><span class="lines">@@ -215,7 +229,7 @@
</span><span class="cx"> - (NSTimeInterval)lastVisitedTimeInterval
</span><span class="cx"> {
</span><span class="cx">     ASSERT_MAIN_THREAD();
</span><del>-    return core(_private)-&gt;lastVisitedTime();
</del><ins>+    return _private-&gt;_lastVisitedTime;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSUInteger)hash
</span><span class="lines">@@ -266,10 +280,6 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-@end
-
-@implementation WebHistoryItem (WebInternal)
-
</del><span class="cx"> HistoryItem* core(WebHistoryItem *item)
</span><span class="cx"> {
</span><span class="cx">     if (!item)
</span><span class="lines">@@ -304,7 +314,11 @@
</span><span class="cx"> 
</span><span class="cx"> - (id)initWithURLString:(NSString *)URLString title:(NSString *)title displayTitle:(NSString *)displayTitle lastVisitedTimeInterval:(NSTimeInterval)time
</span><span class="cx"> {
</span><del>-    return [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, displayTitle, time)];
</del><ins>+    WebHistoryItem *item = [self initWithWebCoreHistoryItem:HistoryItem::create(URLString, title, displayTitle)];
+
+    item-&gt;_private-&gt;_lastVisitedTime = time;
+
+    return item;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id)initWithWebCoreHistoryItem:(PassRefPtr&lt;HistoryItem&gt;)item
</span><span class="lines">@@ -317,9 +331,12 @@
</span><span class="cx">     // other &quot;init before WebKit is used&quot; type things
</span><span class="cx">     WebCore::notifyHistoryItemChanged = WKNotifyHistoryItemChanged;
</span><span class="cx">     
</span><del>-    self = [super init];
-    
-    _private = kitPrivate(item.leakRef());
</del><ins>+    if (!(self = [super init]))
+        return nil;
+
+    _private = [[WebHistoryItemPrivate alloc] init];
+    _private-&gt;_historyItem = item;
+
</ins><span class="cx">     ASSERT(!historyItemWrappers().get(core(_private)));
</span><span class="cx">     historyItemWrappers().set(core(_private), self);
</span><span class="cx">     return self;
</span><span class="lines">@@ -332,7 +349,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)setVisitCount:(int)count
</span><span class="cx"> {
</span><del>-    core(_private)-&gt;setVisitCount(count);
</del><ins>+    _private-&gt;_visitCount = count;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setViewState:(id)statePList
</span><span class="lines">@@ -343,7 +360,12 @@
</span><span class="cx"> - (void)_mergeAutoCompleteHints:(WebHistoryItem *)otherItem
</span><span class="cx"> {
</span><span class="cx">     ASSERT_ARG(otherItem, otherItem);
</span><del>-    core(_private)-&gt;mergeAutoCompleteHints(core(otherItem-&gt;_private));
</del><ins>+
+    // FIXME: this is broken - we should be merging the daily counts
+    // somehow.  but this is to support API that's not really used in
+    // practice so leave it broken for now.
+    if (otherItem != self)
+        _private-&gt;_visitCount += otherItem-&gt;_private-&gt;_visitCount;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id)initFromDictionaryRepresentation:(NSDictionary *)dict
</span><span class="lines">@@ -376,7 +398,7 @@
</span><span class="cx">         LOG_ERROR(&quot;visit count for history item \&quot;%@\&quot; is negative (%d), will be reset to 1&quot;, URLString, visitCount);
</span><span class="cx">         visitCount = 1;
</span><span class="cx">     }
</span><del>-    core(_private)-&gt;setVisitCount(visitCount);
</del><ins>+    _private-&gt;_visitCount = visitCount;
</ins><span class="cx"> 
</span><span class="cx">     if ([dict _webkit_boolForKey:lastVisitWasFailureKey])
</span><span class="cx">         core(_private)-&gt;setLastVisitWasFailure(true);
</span><span class="lines">@@ -384,7 +406,7 @@
</span><span class="cx">     BOOL lastVisitWasHTTPNonGet = [dict _webkit_boolForKey:lastVisitWasHTTPNonGetKey];
</span><span class="cx">     NSString *tempURLString = [URLString lowercaseString];
</span><span class="cx">     if (lastVisitWasHTTPNonGet &amp;&amp; ([tempURLString hasPrefix:@&quot;http:&quot;] || [tempURLString hasPrefix:@&quot;https:&quot;]))
</span><del>-        core(_private)-&gt;setLastVisitWasHTTPNonGet(lastVisitWasHTTPNonGet);
</del><ins>+        _private-&gt;_lastVisitWasHTTPNonGet = lastVisitWasHTTPNonGet;
</ins><span class="cx"> 
</span><span class="cx">     if (NSArray *redirectURLs = [dict _webkit_arrayForKey:redirectURLsKey]) {
</span><span class="cx">         NSUInteger size = [redirectURLs count];
</span><span class="lines">@@ -405,8 +427,9 @@
</span><span class="cx">             coreDailyCounts[i] = std::max([[dailyCounts _webkit_numberAtIndex:i] intValue], 0);
</span><span class="cx">         for (size_t i = 0; i &lt; coreWeeklyCounts.size(); ++i)
</span><span class="cx">             coreWeeklyCounts[i] = std::max([[weeklyCounts _webkit_numberAtIndex:i] intValue], 0);
</span><del>-    
-        core(_private)-&gt;adoptVisitCounts(coreDailyCounts, coreWeeklyCounts);
</del><ins>+
+        _private-&gt;_dailyVisitCounts = std::move(coreDailyCounts);
+        _private-&gt;_weeklyVisitCounts = std::move(coreWeeklyCounts);
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     NSArray *childDicts = [dict objectForKey:childrenKey];
</span><span class="lines">@@ -452,14 +475,70 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)_visitedWithTitle:(NSString *)title increaseVisitCount:(BOOL)increaseVisitCount
</span><span class="cx"> {
</span><del>-    core(_private)-&gt;visited(title, [NSDate timeIntervalSinceReferenceDate], increaseVisitCount ? IncreaseVisitCount : DoNotIncreaseVisitCount);
</del><ins>+    core(_private)-&gt;setTitle(title);
+
+    [self _recordVisitAtTime:[NSDate timeIntervalSinceReferenceDate] increaseVisitCount:increaseVisitCount];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)_recordInitialVisit
</span><span class="cx"> {
</span><del>-    core(_private)-&gt;recordInitialVisit();
</del><ins>+    ASSERT(!_private-&gt;_visitCount);
+    [self _recordVisitAtTime:_private-&gt;_lastVisitedTime increaseVisitCount:YES];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static inline int timeToDay(double time)
+{
+    return static_cast&lt;int&gt;(ceil(time / secondsPerDay));
+}
+
+- (void)_padDailyCountsForNewVisit:(NSTimeInterval)time
+{
+    if (_private-&gt;_dailyVisitCounts.isEmpty())
+        _private-&gt;_dailyVisitCounts.insert(0, _private-&gt;_visitCount);
+
+    int daysElapsed = timeToDay(time) - timeToDay(_private-&gt;_lastVisitedTime);
+
+    if (daysElapsed &lt; 0)
+        daysElapsed = 0;
+
+    Vector&lt;int, 32&gt; padding;
+    padding.fill(0, daysElapsed);
+
+    _private-&gt;_dailyVisitCounts.insertVector(0, padding);
+}
+
+static const size_t daysPerWeek = 7;
+static const size_t maxDailyCounts = 2 * daysPerWeek - 1;
+static const size_t maxWeeklyCounts = 5;
+
+- (void)_collapseDailyVisitsToWeekly
+{
+    while (_private-&gt;_dailyVisitCounts.size() &gt; maxDailyCounts) {
+        int oldestWeekTotal = 0;
+        for (size_t i = 0; i &lt; daysPerWeek; i++)
+            oldestWeekTotal += _private-&gt;_dailyVisitCounts[_private-&gt;_dailyVisitCounts.size() - daysPerWeek + i];
+        _private-&gt;_dailyVisitCounts.shrink(_private-&gt;_dailyVisitCounts.size() - daysPerWeek);
+        _private-&gt;_weeklyVisitCounts.insert(0, oldestWeekTotal);
+    }
+
+    if (_private-&gt;_weeklyVisitCounts.size() &gt; maxWeeklyCounts)
+        _private-&gt;_weeklyVisitCounts.shrink(maxWeeklyCounts);
+}
+
+- (void)_recordVisitAtTime:(NSTimeInterval)time increaseVisitCount:(BOOL)increaseVisitCount
+{
+    [self _padDailyCountsForNewVisit:time];
+
+    _private-&gt;_lastVisitedTime = time;
+
+    if (increaseVisitCount) {
+        ++_private-&gt;_visitCount;
+        ++_private-&gt;_dailyVisitCounts[0];
+    }
+
+    [self _collapseDailyVisitsToWeekly];
+}
+
</ins><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @implementation WebHistoryItem (WebPrivate)
</span><span class="lines">@@ -469,6 +548,14 @@
</span><span class="cx">     return [self initWithURLString:[URL _web_originalDataAsString] title:title lastVisitedTimeInterval:0];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// This should not be called directly for WebHistoryItems that are already included
+// in WebHistory. Use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
+- (void)_setLastVisitedTimeInterval:(NSTimeInterval)time
+{
+    if (_private-&gt;_lastVisitedTime != time)
+        [self _recordVisitAtTime:time increaseVisitCount:YES];
+}
+
</ins><span class="cx"> // FIXME: The only iOS difference here should be whether YES or NO is passed to dictionaryRepresentationIncludingChildren:
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx"> - (NSDictionary *)dictionaryRepresentation
</span><span class="lines">@@ -492,16 +579,16 @@
</span><span class="cx">         [dict setObject:(NSString*)coreItem-&gt;title() forKey:titleKey];
</span><span class="cx">     if (!coreItem-&gt;alternateTitle().isEmpty())
</span><span class="cx">         [dict setObject:(NSString*)coreItem-&gt;alternateTitle() forKey:displayTitleKey];
</span><del>-    if (coreItem-&gt;lastVisitedTime() != 0.0) {
</del><ins>+    if (_private-&gt;_lastVisitedTime) {
</ins><span class="cx">         // Store as a string to maintain backward compatibility. (See 3245793)
</span><del>-        [dict setObject:[NSString stringWithFormat:@&quot;%.1lf&quot;, coreItem-&gt;lastVisitedTime()]
</del><ins>+        [dict setObject:[NSString stringWithFormat:@&quot;%.1lf&quot;, _private-&gt;_lastVisitedTime]
</ins><span class="cx">                  forKey:lastVisitedTimeIntervalKey];
</span><span class="cx">     }
</span><del>-    if (coreItem-&gt;visitCount())
-        [dict setObject:[NSNumber numberWithInt:coreItem-&gt;visitCount()] forKey:visitCountKey];
</del><ins>+    if (_private-&gt;_visitCount)
+        [dict setObject:[NSNumber numberWithInt:_private-&gt;_visitCount] forKey:visitCountKey];
</ins><span class="cx">     if (coreItem-&gt;lastVisitWasFailure())
</span><span class="cx">         [dict setObject:[NSNumber numberWithBool:YES] forKey:lastVisitWasFailureKey];
</span><del>-    if (coreItem-&gt;lastVisitWasHTTPNonGet()) {
</del><ins>+    if (_private-&gt;_lastVisitWasHTTPNonGet) {
</ins><span class="cx">         ASSERT(coreItem-&gt;urlString().startsWith(&quot;http:&quot;, false) || coreItem-&gt;urlString().startsWith(&quot;https:&quot;, false));
</span><span class="cx">         [dict setObject:[NSNumber numberWithBool:YES] forKey:lastVisitWasHTTPNonGetKey];
</span><span class="cx">     }
</span><span class="lines">@@ -515,7 +602,7 @@
</span><span class="cx">         [result release];
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    const Vector&lt;int&gt;&amp; dailyVisitCounts = coreItem-&gt;dailyVisitCounts();
</del><ins>+    const Vector&lt;int&gt;&amp; dailyVisitCounts = _private-&gt;_dailyVisitCounts;
</ins><span class="cx">     if (dailyVisitCounts.size()) {
</span><span class="cx">         NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:13];
</span><span class="cx">         for (size_t i = 0; i &lt; dailyVisitCounts.size(); ++i)
</span><span class="lines">@@ -524,7 +611,7 @@
</span><span class="cx">         [array release];
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    const Vector&lt;int&gt;&amp; weeklyVisitCounts = coreItem-&gt;weeklyVisitCounts();
</del><ins>+    const Vector&lt;int&gt;&amp; weeklyVisitCounts = _private-&gt;_weeklyVisitCounts;
</ins><span class="cx">     if (weeklyVisitCounts.size()) {
</span><span class="cx">         NSMutableArray *array = [[NSMutableArray alloc] initWithCapacity:5];
</span><span class="cx">         for (size_t i = 0; i &lt; weeklyVisitCounts.size(); ++i)
</span><span class="lines">@@ -584,7 +671,7 @@
</span><span class="cx"> - (int)visitCount
</span><span class="cx"> {
</span><span class="cx">     ASSERT_MAIN_THREAD();
</span><del>-    return core(_private)-&gt;visitCount();
</del><ins>+    return _private-&gt;_visitCount;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)RSSFeedReferrer
</span><span class="lines">@@ -627,13 +714,6 @@
</span><span class="cx">     return url;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// This should not be called directly for WebHistoryItems that are already included
-// in WebHistory. Use -[WebHistory setLastVisitedTimeInterval:forItem:] instead.
-- (void)_setLastVisitedTimeInterval:(NSTimeInterval)time
-{
-    core(_private)-&gt;setLastVisitedTime(time);
-}
-
</del><span class="cx"> - (WebHistoryItem *)targetItem
</span><span class="cx"> {    
</span><span class="cx">     ASSERT_MAIN_THREAD();
</span><span class="lines">@@ -668,7 +748,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)_lastVisitWasHTTPNonGet
</span><span class="cx"> {
</span><del>-    return core(_private)-&gt;lastVisitWasHTTPNonGet();
</del><ins>+    return _private-&gt;_lastVisitWasHTTPNonGet;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSArray *)_redirectURLs
</span><span class="lines">@@ -687,16 +767,14 @@
</span><span class="cx"> 
</span><span class="cx"> - (size_t)_getDailyVisitCounts:(const int**)counts
</span><span class="cx"> {
</span><del>-    HistoryItem* coreItem = core(_private);
-    *counts = coreItem-&gt;dailyVisitCounts().data();
-    return coreItem-&gt;dailyVisitCounts().size();
</del><ins>+    *counts = _private-&gt;_dailyVisitCounts.data();
+    return _private-&gt;_dailyVisitCounts.size();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (size_t)_getWeeklyVisitCounts:(const int**)counts
</span><span class="cx"> {
</span><del>-    HistoryItem* coreItem = core(_private);
-    *counts = coreItem-&gt;weeklyVisitCounts().data();
-    return coreItem-&gt;weeklyVisitCounts().size();
</del><ins>+    *counts = _private-&gt;_weeklyVisitCounts.data();
+    return _private-&gt;_weeklyVisitCounts.size();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacHistoryWebHistoryItemInternalh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/History/WebHistoryItemInternal.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/History/WebHistoryItemInternal.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/History/WebHistoryItemInternal.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,8 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;WebBackForwardList.h&quot;
</span><span class="cx"> #import &quot;WebHistoryItemPrivate.h&quot;
</span><del>-#import &lt;wtf/Forward.h&gt;
</del><ins>+#import &lt;wtf/RefPtr.h&gt;
+#import &lt;wtf/Vector.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebCore {
</span><span class="cx">     class HistoryItem;
</span><span class="lines">@@ -39,7 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> extern void WKNotifyHistoryItemChanged(WebCore::HistoryItem*);
</span><span class="cx"> 
</span><del>-@interface WebHistoryItem (WebInternal)
</del><ins>+@interface WebHistoryItem ()
</ins><span class="cx"> 
</span><span class="cx"> + (WebHistoryItem *)entryWithURL:(NSURL *)URL;
</span><span class="cx"> 
</span><span class="lines">@@ -58,3 +59,16 @@
</span><span class="cx"> @interface WebBackForwardList (WebInternal)
</span><span class="cx"> - (void)_close;
</span><span class="cx"> @end
</span><ins>+
+@interface WebHistoryItemPrivate : NSObject {
+@package
+    RefPtr&lt;WebCore::HistoryItem&gt; _historyItem;
+
+    NSTimeInterval _lastVisitedTime;
+    int _visitCount;
+    Vector&lt;int&gt; _dailyVisitCounts;
+    Vector&lt;int&gt; _weeklyVisitCounts;
+
+    bool _lastVisitWasHTTPNonGet;
+}
+@end
</ins></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacMiscWebCoreStatisticsh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/Misc/WebCoreStatistics.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/Misc/WebCoreStatistics.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/Misc/WebCoreStatistics.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#import &lt;CoreGraphics/CGContext.h&gt;
</ins><span class="cx"> #import &lt;Foundation/Foundation.h&gt;
</span><del>-
</del><span class="cx"> #import &lt;WebKit/WebFrame.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @class DOMElement;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacMiscWebElementDictionarymm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/Misc/WebElementDictionary.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/Misc/WebElementDictionary.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/Misc/WebElementDictionary.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -206,8 +206,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSImage *)_image
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     Image* image = _result-&gt;image();
</span><span class="cx">     return image ? image-&gt;getNSImage() : nil;
</span><ins>+#else
+    return nil;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSValue *)_imageRect
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -147,7 +147,6 @@
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks() override;
</span><span class="cx"> 
</span><span class="cx">     virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const override;
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const override;
</del><span class="cx">     virtual void updateGlobalHistoryItemForPage() override;
</span><span class="cx"> 
</span><span class="cx">     virtual void didDisplayInsecureContent() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebCoreSupportWebFrameLoaderClientmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -80,6 +80,7 @@
</span><span class="cx"> #import &lt;WebCore/AuthenticationCF.h&gt;
</span><span class="cx"> #import &lt;WebCore/AuthenticationMac.h&gt;
</span><span class="cx"> #import &lt;WebCore/BackForwardController.h&gt;
</span><ins>+#import &lt;WebCore/BackForwardList.h&gt;
</ins><span class="cx"> #import &lt;WebCore/BlockExceptions.h&gt;
</span><span class="cx"> #import &lt;WebCore/CachedFrame.h&gt;
</span><span class="cx"> #import &lt;WebCore/Chrome.h&gt;
</span><span class="lines">@@ -1133,11 +1134,6 @@
</span><span class="cx">     return [[view _policyDelegateForwarder] webView:view shouldGoToHistoryItem:webItem];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
-    return true;
-}
-
</del><span class="cx"> void WebFrameLoaderClient::updateGlobalHistoryItemForPage()
</span><span class="cx"> {
</span><span class="cx">     HistoryItem* historyItem = 0;
</span><span class="lines">@@ -1632,7 +1628,22 @@
</span><span class="cx"> bool WebFrameLoaderClient::canCachePage() const
</span><span class="cx"> {
</span><span class="cx">     // We can only cache HTML pages right now
</span><del>-    return [[[m_webFrame.get() _dataSource] representation] isKindOfClass:[WebHTMLRepresentation class]];
</del><ins>+    if (![[[m_webFrame _dataSource] representation] isKindOfClass:[WebHTMLRepresentation class]])
+        return false;
+    
+    // We only cache pages if the back forward list is enabled and has a non-zero capacity.
+    Page* page = core(m_webFrame.get())-&gt;page();
+    if (!page)
+        return false;
+    
+    BackForwardList *backForwardList = static_cast&lt;BackForwardList*&gt;(page-&gt;backForward().client());
+    if (!backForwardList-&gt;enabled())
+        return false;
+    
+    if (!backForwardList-&gt;capacity())
+        return false;
+    
+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassRefPtr&lt;Frame&gt; WebFrameLoaderClient::createFrame(const URL&amp; url, const String&amp; name, HTMLFrameOwnerElement* ownerElement,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebFrameViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebFrameView.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebFrameView.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebFrameView.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -52,6 +52,7 @@
</span><span class="cx"> #import &quot;WebViewInternal.h&quot;
</span><span class="cx"> #import &quot;WebViewPrivate.h&quot;
</span><span class="cx"> #import &lt;Foundation/NSURLRequest.h&gt;
</span><ins>+#import &lt;WebCore/BackForwardController.h&gt;
</ins><span class="cx"> #import &lt;WebCore/BackForwardList.h&gt;
</span><span class="cx"> #import &lt;WebCore/DragController.h&gt;
</span><span class="cx"> #import &lt;WebCore/EventHandler.h&gt;
</span><span class="lines">@@ -926,7 +927,7 @@
</span><span class="cx">     int index, count;
</span><span class="cx">     BOOL callSuper = YES;
</span><span class="cx">     Frame* coreFrame = [self _web_frame];
</span><del>-    BOOL maintainsBackForwardList = coreFrame &amp;&amp; static_cast&lt;BackForwardList*&gt;(coreFrame-&gt;page()-&gt;backForwardClient())-&gt;enabled() ? YES : NO;
</del><ins>+    BOOL maintainsBackForwardList = coreFrame &amp;&amp; static_cast&lt;BackForwardList*&gt;(coreFrame-&gt;page()-&gt;backForward().client())-&gt;enabled() ? YES : NO;
</ins><span class="cx">     
</span><span class="cx">     count = [characters length];
</span><span class="cx">     for (index = 0; index &lt; count; ++index) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebHTMLViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebHTMLView.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebHTMLView.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebHTMLView.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1420,13 +1420,6 @@
</span><span class="cx">     if (_private-&gt;dataSource &amp;&amp; [self _isTopHTMLView])
</span><span class="cx">         [self _web_updateLayoutAndStyleIfNeededRecursive];
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-    if (Frame* coreFrame = core([self _frame])) {
-        if (FrameView* coreView = coreFrame-&gt;view())
-            coreView-&gt;flushDeferredRepaints();
-    }
-#endif
-
</del><span class="cx">     [super viewWillDraw];
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebPreferencesmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebPreferences.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebPreferences.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebPreferences.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -570,11 +570,6 @@
</span><span class="cx">         [NSNumber numberWithBool:NO],     WebKitNetworkDataUsageTrackingEnabledPreferenceKey,
</span><span class="cx">         @&quot;&quot;,                              WebKitNetworkInterfaceNamePreferenceKey,
</span><span class="cx"> #endif
</span><del>-#if ENABLE(DISK_IMAGE_CACHE)
-        [NSNumber numberWithBool:YES], WebKitDiskImageCacheEnabledPreferenceKey,
-        [NSNumber numberWithUnsignedInt:(100 * 1024)], WebKitDiskImageCacheMinimumImageSizePreferenceKey,
-        [NSNumber numberWithUnsignedInt:(100 * 1024 * 1024)], WebKitDiskImageCacheMaximumCacheSizePreferenceKey,
-#endif
</del><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">         [NSNumber numberWithFloat:WKGetMinimumZoomFontSize()], WebKitMinimumZoomFontSizePreferenceKey,
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebView.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebView.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebView.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1993,10 +1993,10 @@
</span><span class="cx">     // type.  (See behavior matrix at the top of WebFramePrivate.)  So we copy all the items
</span><span class="cx">     // in the back forward list, and go to the current one.
</span><span class="cx"> 
</span><del>-    BackForwardClient* backForwardClient = _private-&gt;page-&gt;backForwardClient();
</del><ins>+    BackForwardClient* backForwardClient = _private-&gt;page-&gt;backForward().client();
</ins><span class="cx">     ASSERT(!backForwardClient-&gt;currentItem()); // destination list should be empty
</span><span class="cx"> 
</span><del>-    BackForwardClient* otherBackForwardClient = otherView-&gt;_private-&gt;page-&gt;backForwardClient();
</del><ins>+    BackForwardClient* otherBackForwardClient = otherView-&gt;_private-&gt;page-&gt;backForward().client();
</ins><span class="cx">     if (!otherBackForwardClient-&gt;currentItem())
</span><span class="cx">         return; // empty back forward list, bail
</span><span class="cx">     
</span><span class="lines">@@ -2289,7 +2289,7 @@
</span><span class="cx">     settings.setTelephoneNumberParsingEnabled([preferences _telephoneNumberParsingEnabled]);
</span><span class="cx">     settings.setAlwaysUseBaselineOfPrimaryFont([preferences _alwaysUseBaselineOfPrimaryFont]);
</span><span class="cx">     settings.setAllowMultiElementImplicitSubmission([preferences _allowMultiElementImplicitFormSubmission]);
</span><del>-    settings.setLayoutInterval([preferences _layoutInterval]);
</del><ins>+    settings.setLayoutInterval(std::chrono::milliseconds([preferences _layoutInterval]));
</ins><span class="cx">     settings.setMaxParseDuration([preferences _maxParseDuration]);
</span><span class="cx">     settings.setAlwaysUseAcceleratedOverflowScroll([preferences _alwaysUseAcceleratedOverflowScroll]);
</span><span class="cx"> #endif
</span><span class="lines">@@ -5131,7 +5131,7 @@
</span><span class="cx"> 
</span><span class="cx">         LOG(Encoding, &quot;FrameName = %@, GroupName = %@, useBackForwardList = %d\n&quot;, frameName, groupName, (int)useBackForwardList);
</span><span class="cx">         [result _commonInitializationWithFrameName:frameName groupName:groupName];
</span><del>-        static_cast&lt;BackForwardList*&gt;([result page]-&gt;backForwardClient())-&gt;setEnabled(useBackForwardList);
</del><ins>+        static_cast&lt;BackForwardList*&gt;([result page]-&gt;backForward().client())-&gt;setEnabled(useBackForwardList);
</ins><span class="cx">         result-&gt;_private-&gt;allowsUndo = allowsUndo;
</span><span class="cx">         if (preferences)
</span><span class="cx">             [result setPreferences:preferences];
</span><span class="lines">@@ -5155,7 +5155,7 @@
</span><span class="cx">     // Restore the subviews we set aside.
</span><span class="cx">     _subviews = originalSubviews;
</span><span class="cx"> 
</span><del>-    BOOL useBackForwardList = _private-&gt;page &amp;&amp; static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForwardClient())-&gt;enabled();
</del><ins>+    BOOL useBackForwardList = _private-&gt;page &amp;&amp; static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForward().client())-&gt;enabled();
</ins><span class="cx">     if ([encoder allowsKeyedCoding]) {
</span><span class="cx">         [encoder encodeObject:[[self mainFrame] name] forKey:@&quot;FrameName&quot;];
</span><span class="cx">         [encoder encodeObject:[self groupName] forKey:@&quot;GroupName&quot;];
</span><span class="lines">@@ -5617,7 +5617,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!_private-&gt;page)
</span><span class="cx">         return nil;
</span><del>-    BackForwardList* list = static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForwardClient());
</del><ins>+    BackForwardList* list = static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForward().client());
</ins><span class="cx">     if (!list-&gt;enabled())
</span><span class="cx">         return nil;
</span><span class="cx">     return kit(list);
</span><span class="lines">@@ -5627,7 +5627,7 @@
</span><span class="cx"> {
</span><span class="cx">     if (!_private-&gt;page)
</span><span class="cx">         return;
</span><del>-    static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForwardClient())-&gt;setEnabled(flag);
</del><ins>+    static_cast&lt;BackForwardList*&gt;(_private-&gt;page-&gt;backForward().client())-&gt;setEnabled(flag);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)goBack
</span><span class="lines">@@ -5638,10 +5638,10 @@
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     if (WebThreadIsCurrent() || !WebThreadIsEnabled())
</span><span class="cx"> #endif
</span><del>-    return _private-&gt;page-&gt;goBack();
</del><ins>+    return _private-&gt;page-&gt;backForward().goBack();
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     WebThreadRun(^{
</span><del>-        _private-&gt;page-&gt;goBack();
</del><ins>+        _private-&gt;page-&gt;backForward().goBack();
</ins><span class="cx">     });
</span><span class="cx">     // FIXME: &lt;rdar://problem/9157572&gt; -[WebView goBack] and -goForward always return YES when called from the main thread
</span><span class="cx">     return YES;
</span><span class="lines">@@ -5656,10 +5656,10 @@
</span><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     if (WebThreadIsCurrent() || !WebThreadIsEnabled())
</span><span class="cx"> #endif
</span><del>-    return _private-&gt;page-&gt;goForward();
</del><ins>+    return _private-&gt;page-&gt;backForward().goForward();
</ins><span class="cx"> #if PLATFORM(IOS)
</span><span class="cx">     WebThreadRun(^{
</span><del>-        _private-&gt;page-&gt;goForward();
</del><ins>+        _private-&gt;page-&gt;backForward().goForward();
</ins><span class="cx">     });
</span><span class="cx">     // FIXME: &lt;rdar://problem/9157572&gt; -[WebView goBack] and -goForward always return YES when called from the main thread
</span><span class="cx">     return YES;
</span><span class="lines">@@ -6381,7 +6381,7 @@
</span><span class="cx"> #endif
</span><span class="cx">         return NO;
</span><span class="cx"> 
</span><del>-    return !!_private-&gt;page-&gt;backForwardClient()-&gt;backItem();
</del><ins>+    return _private-&gt;page-&gt;backForward().canGoBackOrForward(-1);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)canGoForward
</span><span class="lines">@@ -6394,7 +6394,7 @@
</span><span class="cx"> #endif
</span><span class="cx">         return NO;
</span><span class="cx"> 
</span><del>-    return !!_private-&gt;page-&gt;backForwardClient()-&gt;forwardItem();
</del><ins>+    return !!_private-&gt;page-&gt;backForward().canGoBackOrForward(1);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (IBAction)goBack:(id)sender
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitmacWebViewWebViewDatah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/mac/WebView/WebViewData.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/mac/WebView/WebViewData.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/mac/WebView/WebViewData.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #import &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #import &lt;wtf/PassOwnPtr.h&gt;
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><ins>+#import &lt;wtf/ThreadingPrimitives.h&gt;
</ins><span class="cx"> #import &lt;wtf/text/WTFString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/ChangeLog (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/ChangeLog        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/ChangeLog        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -2668,6 +2668,58 @@
</span><span class="cx"> 
</span><span class="cx"> 2013-04-05  Roger Fong  &lt;roger_fong@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Follow-up build fix.
+
+        * WebHistoryItem.cpp:
+        (WebHistoryItem::visitedWithTitle):
+
+2014-01-26  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Remove even more Windows history code.
+
+        * WebHistory.cpp:
+        (WebHistory::removeItemForURLString):
+        * WebHistoryItem.cpp:
+        (WebHistoryItem::initFromDictionaryRepresentation):
+        (WebHistoryItem::dictionaryRepresentation):
+        (WebHistoryItem::getDailyVisitCounts):
+        (WebHistoryItem::getWeeklyVisitCounts):
+        (WebHistoryItem::recordInitialVisit):
+        (WebHistoryItem::initWithURLString):
+
+2014-01-26  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Another follow-up build fix.
+
+        * WebHistory.cpp:
+        (WebHistory::removeAllItems):
+        (WebHistory::orderedItemsLastVisitedOnDay):
+        * WebHistoryItem.cpp:
+        (WebHistoryItem::initFromDictionaryRepresentation):
+        (WebHistoryItem::dictionaryRepresentation):
+        (WebHistoryItem::visitCount):
+        (WebHistoryItem::setVisitCount):
+
+2014-01-26  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Remove more history gunk.
+
+        * WebHistory.cpp:
+        (WebHistory::orderedLastVisitedDays):
+        (WebHistory::addItem):
+        (WebHistory::visitedURL):
+        (WebHistory::removeItemForURLString):
+        * WebHistory.h:
+        * WebHistoryItem.cpp:
+        (WebHistoryItem::initFromDictionaryRepresentation):
+        (WebHistoryItem::dictionaryRepresentation):
+        (WebHistoryItem::mergeAutoCompleteHints):
+        (WebHistoryItem::setLastVisitedTimeInterval):
+        (WebHistoryItem::initWithURLString):
+        (WebHistoryItem::lastVisitedTimeInterval):
+
+2014-01-26  Anders Carlsson  &lt;andersca@apple.com&gt;
+
</ins><span class="cx">         Build fix.
</span><span class="cx"> 
</span><span class="cx">         * WebKit.vcproj/WebKitExports.def.in:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -814,11 +814,6 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
-    return true;
-}
-
</del><span class="cx"> void WebFrameLoaderClient::updateGlobalHistoryItemForPage()
</span><span class="cx"> {
</span><span class="cx">     HistoryItem* historyItem = 0;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -132,7 +132,6 @@
</span><span class="cx">     virtual void updateGlobalHistory() override;
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks() override;
</span><span class="cx">     virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const override;
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const override;
</del><span class="cx">     virtual void updateGlobalHistoryItemForPage() override;
</span><span class="cx"> 
</span><span class="cx">     virtual void didDisplayInsecureContent() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebHistorycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebHistory.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebHistory.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebHistory.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -315,9 +315,6 @@
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistory::removeAllItems( void)
</span><span class="cx"> {
</span><del>-    m_entriesByDate.clear();
-    m_orderedLastVisitedDays = nullptr;
-
</del><span class="cx">     Vector&lt;IWebHistoryItem*&gt; itemsVector;
</span><span class="cx">     itemsVector.reserveInitialCapacity(m_entriesByURL.size());
</span><span class="cx">     for (auto it = m_entriesByURL.begin(); it != m_entriesByURL.end(); ++it)
</span><span class="lines">@@ -331,65 +328,21 @@
</span><span class="cx">     return postNotification(kWebHistoryAllItemsRemovedNotification, userInfo.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistory interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistory::orderedLastVisitedDays( 
</span><span class="cx">     /* [out][in] */ int* count,
</span><span class="cx">     /* [in] */ DATE* calendarDates)
</span><span class="cx"> {
</span><del>-    int dateCount = m_entriesByDate.size();
-    if (!calendarDates) {
-        *count = dateCount;
-        return S_OK;
-    }
-
-    if (*count &lt; dateCount) {
-        *count = dateCount;
-        return E_FAIL;
-    }
-
-    *count = dateCount;
-    if (!m_orderedLastVisitedDays) {
-        m_orderedLastVisitedDays = std::make_unique&lt;DATE[]&gt;(dateCount);
-        DateToEntriesMap::const_iterator::Keys end = m_entriesByDate.end().keys();
-        int i = 0;
-        for (DateToEntriesMap::const_iterator::Keys it = m_entriesByDate.begin().keys(); it != end; ++it, ++i)
-            m_orderedLastVisitedDays[i] = *it / secondsPerDay;
-        // Use std::greater to sort the days in descending order (i.e., most-recent first).
-        sort(m_orderedLastVisitedDays.get(), m_orderedLastVisitedDays.get() + dateCount, greater&lt;DATE&gt;());
-    }
-
-    memcpy(calendarDates, m_orderedLastVisitedDays.get(), dateCount * sizeof(DATE));
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistory interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistory::orderedItemsLastVisitedOnDay( 
</span><span class="cx">     /* [out][in] */ int* count,
</span><span class="cx">     /* [in] */ IWebHistoryItem** items,
</span><span class="cx">     /* [in] */ DATE calendarDate)
</span><span class="cx"> {
</span><del>-    auto found = m_entriesByDate.find(dateKey(calendarDate));
-    if (found == m_entriesByDate.end()) {
-        *count = 0;
-        return 0;
-    }
-
-    auto&amp; entriesForDate = found-&gt;value;
-    int newCount = entriesForDate.size();
-
-    if (!items) {
-        *count = newCount;
-        return S_OK;
-    }
-
-    if (*count &lt; newCount) {
-        *count = newCount;
-        return E_FAIL;
-    }
-
-    *count = newCount;
-    for (int i = 0; i &lt; newCount; ++i)
-        entriesForDate[i].copyRefTo(&amp;items[i]);
-
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistory::allItems( 
</span><span class="lines">@@ -529,10 +482,6 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    hr = addItemToDateCaches(entry);
-    if (FAILED(hr))
-        return hr;
-
</del><span class="cx">     m_entriesByURL.set(urlString, entry);
</span><span class="cx"> 
</span><span class="cx">     COMPtr&lt;IPropertyBag&gt; userInfo = createUserInfoFromHistoryItem(
</span><span class="lines">@@ -548,16 +497,7 @@
</span><span class="cx"> void WebHistory::visitedURL(const URL&amp; url, const String&amp; title, const String&amp; httpMethod, bool wasFailure, bool increaseVisitCount)
</span><span class="cx"> {
</span><span class="cx">     IWebHistoryItem* entry = m_entriesByURL.get(url.string()).get();
</span><del>-    if (entry) {
-        COMPtr&lt;IWebHistoryItemPrivate&gt; entryPrivate(Query, entry);
-        if (!entryPrivate)
-            return;
-
-        // Remove the item from date caches before changing its last visited date.  Otherwise we might get duplicate entries
-        // as seen in &lt;rdar://problem/6570573&gt;.
-        removeItemFromDateCaches(entry);
-        entryPrivate-&gt;visitedWithTitle(BString(title), increaseVisitCount);
-    } else {
</del><ins>+    if (!entry) {
</ins><span class="cx">         COMPtr&lt;WebHistoryItem&gt; item(AdoptCOM, WebHistoryItem::createInstance());
</span><span class="cx">         if (!item)
</span><span class="cx">             return;
</span><span class="lines">@@ -573,20 +513,14 @@
</span><span class="cx">         if (FAILED(entry-&gt;initWithURLString(BString(url.string()), BString(title), lastVisited)))
</span><span class="cx">             return;
</span><span class="cx">         
</span><del>-        item-&gt;recordInitialVisit();
-
</del><span class="cx">         m_entriesByURL.set(url.string(), entry);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    addItemToDateCaches(entry);
-
</del><span class="cx">     COMPtr&lt;IWebHistoryItemPrivate&gt; entryPrivate(Query, entry);
</span><span class="cx">     if (!entryPrivate)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><span class="cx">     entryPrivate-&gt;setLastVisitWasFailure(wasFailure);
</span><del>-    if (!httpMethod.isEmpty())
-        entryPrivate-&gt;setLastVisitWasHTTPNonGet(!equalIgnoringCase(httpMethod, &quot;GET&quot;) &amp;&amp; url.protocolIsInHTTPFamily());
</del><span class="cx"> 
</span><span class="cx">     COMPtr&lt;WebHistoryItem&gt; item(Query, entry);
</span><span class="cx">     item-&gt;historyItem()-&gt;setRedirectURLs(nullptr);
</span><span class="lines">@@ -616,13 +550,10 @@
</span><span class="cx">     if (it == m_entriesByURL.end())
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    HRESULT hr = removeItemFromDateCaches(it-&gt;value.get());
-    m_entriesByURL.remove(it);
-
</del><span class="cx">     if (!m_entriesByURL.size())
</span><span class="cx">         PageGroup::removeAllVisitedLinks();
</span><span class="cx"> 
</span><del>-    return hr;
</del><ins>+    return S_OK;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> COMPtr&lt;IWebHistoryItem&gt; WebHistory::itemForURLString(const String&amp; urlString) const
</span><span class="lines">@@ -632,96 +563,6 @@
</span><span class="cx">     return m_entriesByURL.get(urlString);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT WebHistory::removeItemFromDateCaches(IWebHistoryItem* entry)
-{
-    DATE lastVisitedTime;
-    entry-&gt;lastVisitedTimeInterval(&amp;lastVisitedTime);
-
-    auto found = m_entriesByDate.find(dateKey(lastVisitedTime));
-    if (found == m_entriesByDate.end())
-        return S_OK;
-
-    auto&amp; entriesForDate = found-&gt;value;
-    int count = entriesForDate.size();
-
-    for (int i = count - 1; i &gt;= 0; --i) {
-        if (entriesForDate[i] == entry)
-            entriesForDate.remove(i);
-    }
-
-    // remove this date entirely if there are no other entries on it
-    if (entriesForDate.isEmpty()) {
-        m_entriesByDate.remove(found);
-        // Clear m_orderedLastVisitedDays so it will be regenerated when next requested.
-        m_orderedLastVisitedDays = nullptr;
-    }
-
-    return S_OK;
-}
-
-HRESULT WebHistory::addItemToDateCaches(IWebHistoryItem* entry)
-{
-    ASSERT_ARG(entry, entry);
-
-    DATE lastVisitedTime;
-    entry-&gt;lastVisitedTimeInterval(&amp;lastVisitedTime);
-
-    DateKey key = dateKey(lastVisitedTime);
-    auto found = m_entriesByDate.find(key);
-    if (found == m_entriesByDate.end()) {
-        Vector&lt;COMPtr&lt;IWebHistoryItem&gt;&gt; entries;
-        entries.append(entry);
-        m_entriesByDate.set(key, entries);
-        // Clear m_orderedLastVisitedDays so it will be regenerated when next requested.
-        m_orderedLastVisitedDays = nullptr;
-        return S_OK;
-    }
-
-    auto&amp; entriesForDate = found-&gt;value;
-    size_t count = entriesForDate.size();
-
-    // The entries for each day are stored in a sorted array with the most recent entry first
-    // Check for the common cases of the entry being newer than all existing entries or the first entry of the day
-    bool isNewerThanAllEntries = false;
-    if (count) {
-        DATE itemTime;
-        isNewerThanAllEntries = SUCCEEDED(entriesForDate.first()-&gt;lastVisitedTimeInterval(&amp;itemTime)) &amp;&amp; itemTime &lt; lastVisitedTime;
-    }
-    if (!count || isNewerThanAllEntries) {
-        entriesForDate.insert(0, entry);
-        return S_OK;
-    }
-
-    // .. or older than all existing entries
-    bool isOlderThanAllEntries = false;
-    if (count &gt; 0) {
-        DATE itemTime;
-        isOlderThanAllEntries = SUCCEEDED(entriesForDate.last()-&gt;lastVisitedTimeInterval(&amp;itemTime)) &amp;&amp; itemTime &gt;= lastVisitedTime;
-    }
-    if (isOlderThanAllEntries) {
-        entriesForDate.append(entry);
-        return S_OK;
-    }
-
-    unsigned low = 0;
-    unsigned high = count;
-    while (low &lt; high) {
-        unsigned mid = low + (high - low) / 2;
-        DATE itemTime;
-        if (FAILED(entriesForDate[mid]-&gt;lastVisitedTimeInterval(&amp;itemTime)))
-            return E_FAIL;
-
-        if (itemTime &gt;= lastVisitedTime)
-            low = mid + 1;
-        else
-            high = mid;
-    }
-
-    // low is now the index of the first entry that is older than entryDate
-    entriesForDate.insert(low, entry);
-    return S_OK;
-}
-
</del><span class="cx"> void WebHistory::addVisitedLinksToPageGroup(PageGroup&amp; group)
</span><span class="cx"> {
</span><span class="cx">     for (auto it = m_entriesByURL.begin(); it != m_entriesByURL.end(); ++it) {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebHistoryh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebHistory.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebHistory.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebHistory.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -134,14 +134,10 @@
</span><span class="cx">     HRESULT removeItem(IWebHistoryItem* entry);
</span><span class="cx">     HRESULT addItem(IWebHistoryItem* entry, bool discardDuplicate, bool* added);
</span><span class="cx">     HRESULT removeItemForURLString(const WTF::String&amp; urlString);
</span><del>-    HRESULT addItemToDateCaches(IWebHistoryItem* entry);
-    HRESULT removeItemFromDateCaches(IWebHistoryItem* entry);
</del><span class="cx">     BSTR getNotificationString(NotificationType notifyType);
</span><span class="cx"> 
</span><span class="cx">     ULONG m_refCount;
</span><span class="cx">     URLToEntriesMap m_entriesByURL;
</span><del>-    DateToEntriesMap m_entriesByDate;
-    std::unique_ptr&lt;DATE[]&gt; m_orderedLastVisitedDays;
</del><span class="cx">     COMPtr&lt;WebPreferences&gt; m_preferences;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebHistoryItemcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebHistoryItem.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebHistoryItem.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebHistoryItem.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -91,14 +91,9 @@
</span><span class="cx"> // IWebHistoryItemPrivate -----------------------------------------------------
</span><span class="cx"> 
</span><span class="cx"> static CFStringRef urlKey = CFSTR(&quot;&quot;);
</span><del>-static CFStringRef lastVisitedDateKey = CFSTR(&quot;lastVisitedDate&quot;);
</del><span class="cx"> static CFStringRef titleKey = CFSTR(&quot;title&quot;);
</span><del>-static CFStringRef visitCountKey = CFSTR(&quot;visitCount&quot;);
</del><span class="cx"> static CFStringRef lastVisitWasFailureKey = CFSTR(&quot;lastVisitWasFailure&quot;);
</span><del>-static CFStringRef lastVisitWasHTTPNonGetKey = CFSTR(&quot;lastVisitWasHTTPNonGet&quot;);
</del><span class="cx"> static CFStringRef redirectURLsKey = CFSTR(&quot;redirectURLs&quot;);
</span><del>-static CFStringRef dailyVisitCountKey = CFSTR(&quot;D&quot;); // short key to save space
-static CFStringRef weeklyVisitCountKey = CFSTR(&quot;W&quot;); // short key to save space
</del><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::initFromDictionaryRepresentation(void* dictionary)
</span><span class="cx"> {
</span><span class="lines">@@ -108,38 +103,15 @@
</span><span class="cx">     if (urlStringRef &amp;&amp; CFGetTypeID(urlStringRef) != CFStringGetTypeID())
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    CFStringRef lastVisitedRef = (CFStringRef) CFDictionaryGetValue(dictionaryRef, lastVisitedDateKey);
-    if (!lastVisitedRef || CFGetTypeID(lastVisitedRef) != CFStringGetTypeID())
-        return E_FAIL;
-    CFAbsoluteTime lastVisitedTime = CFStringGetDoubleValue(lastVisitedRef);
-
</del><span class="cx">     CFStringRef titleRef = (CFStringRef) CFDictionaryGetValue(dictionaryRef, titleKey);
</span><span class="cx">     if (titleRef &amp;&amp; CFGetTypeID(titleRef) != CFStringGetTypeID())
</span><span class="cx">         return E_FAIL;
</span><span class="cx"> 
</span><del>-    CFNumberRef visitCountRef = (CFNumberRef) CFDictionaryGetValue(dictionaryRef, visitCountKey);
-    if (!visitCountRef || CFGetTypeID(visitCountRef) != CFNumberGetTypeID())
-        return E_FAIL;
-    int visitedCount = 0;
-    if (!CFNumberGetValue(visitCountRef, kCFNumberIntType, &amp;visitedCount))
-        return E_FAIL;
-
-    // Can't trust data on disk, and we've had at least one report of this (&lt;rdar://6572300&gt;).
-    if (visitedCount &lt; 0) {
-        LOG_ERROR(&quot;visit count for history item \&quot;%s\&quot; is negative (%d), will be reset to 1&quot;, String(urlStringRef).utf8().data(), visitedCount);
-        visitedCount = 1;
-    }
-
</del><span class="cx">     CFBooleanRef lastVisitWasFailureRef = static_cast&lt;CFBooleanRef&gt;(CFDictionaryGetValue(dictionaryRef, lastVisitWasFailureKey));
</span><span class="cx">     if (lastVisitWasFailureRef &amp;&amp; CFGetTypeID(lastVisitWasFailureRef) != CFBooleanGetTypeID())
</span><span class="cx">         return E_FAIL;
</span><span class="cx">     bool lastVisitWasFailure = lastVisitWasFailureRef &amp;&amp; CFBooleanGetValue(lastVisitWasFailureRef);
</span><span class="cx"> 
</span><del>-    CFBooleanRef lastVisitWasHTTPNonGetRef = static_cast&lt;CFBooleanRef&gt;(CFDictionaryGetValue(dictionaryRef, lastVisitWasHTTPNonGetKey));
-    if (lastVisitWasHTTPNonGetRef &amp;&amp; CFGetTypeID(lastVisitWasHTTPNonGetRef) != CFBooleanGetTypeID())
-        return E_FAIL;
-    bool lastVisitWasHTTPNonGet = lastVisitWasHTTPNonGetRef &amp;&amp; CFBooleanGetValue(lastVisitWasHTTPNonGetRef);
-
</del><span class="cx">     std::unique_ptr&lt;Vector&lt;String&gt;&gt; redirectURLsVector;
</span><span class="cx">     if (CFArrayRef redirectURLsRef = static_cast&lt;CFArrayRef&gt;(CFDictionaryGetValue(dictionaryRef, redirectURLsKey))) {
</span><span class="cx">         CFIndex size = CFArrayGetCount(redirectURLsRef);
</span><span class="lines">@@ -148,65 +120,22 @@
</span><span class="cx">             (*redirectURLsVector)[i] = String(static_cast&lt;CFStringRef&gt;(CFArrayGetValueAtIndex(redirectURLsRef, i)));
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    CFArrayRef dailyCounts = static_cast&lt;CFArrayRef&gt;(CFDictionaryGetValue(dictionaryRef, dailyVisitCountKey));
-    if (dailyCounts &amp;&amp; CFGetTypeID(dailyCounts) != CFArrayGetTypeID())
-        dailyCounts = 0;
-    CFArrayRef weeklyCounts = static_cast&lt;CFArrayRef&gt;(CFDictionaryGetValue(dictionaryRef, weeklyVisitCountKey));
-    if (weeklyCounts &amp;&amp; CFGetTypeID(weeklyCounts) != CFArrayGetTypeID())
-        weeklyCounts = 0;
-
-    std::auto_ptr&lt;Vector&lt;int&gt; &gt; dailyVector, weeklyVector;
-    if (dailyCounts || weeklyCounts) {
-        CFIndex dailySize = dailyCounts ? CFArrayGetCount(dailyCounts) : 0;
-        CFIndex weeklySize = weeklyCounts ? CFArrayGetCount(weeklyCounts) : 0;
-        dailyVector.reset(new Vector&lt;int&gt;(dailySize));
-        weeklyVector.reset(new Vector&lt;int&gt;(weeklySize));
-
-        // Daily and weekly counts &lt; 0 are errors in the data read from disk, so reset to 0.
-        for (CFIndex i = 0; i &lt; dailySize; ++i) {
-            CFNumberRef dailyCount = static_cast&lt;CFNumberRef&gt;(CFArrayGetValueAtIndex(dailyCounts, i));        
-            if (CFGetTypeID(dailyCount) == CFNumberGetTypeID())
-                CFNumberGetValue(dailyCount, kCFNumberIntType, &amp;(*dailyVector)[i]);
-            if ((*dailyVector)[i] &lt; 0)
-                (*dailyVector)[i] = 0;
-        }
-        for (CFIndex i = 0; i &lt; weeklySize; ++i) {
-            CFNumberRef weeklyCount = static_cast&lt;CFNumberRef&gt;(CFArrayGetValueAtIndex(weeklyCounts, i));        
-            if (CFGetTypeID(weeklyCount) == CFNumberGetTypeID())
-                CFNumberGetValue(weeklyCount, kCFNumberIntType, &amp;(*weeklyVector)[i]);
-            if ((*weeklyVector)[i] &lt; 0)
-                (*weeklyVector)[i] = 0;
-        }
-    }
-
</del><span class="cx">     historyItemWrappers().remove(m_historyItem.get());
</span><del>-    m_historyItem = HistoryItem::create(urlStringRef, titleRef, lastVisitedTime);
</del><ins>+    m_historyItem = HistoryItem::create(urlStringRef, titleRef);
</ins><span class="cx">     historyItemWrappers().set(m_historyItem.get(), this);
</span><span class="cx"> 
</span><del>-    m_historyItem-&gt;setVisitCount(visitedCount);
</del><span class="cx">     if (lastVisitWasFailure)
</span><span class="cx">         m_historyItem-&gt;setLastVisitWasFailure(true);
</span><span class="cx"> 
</span><del>-    if (lastVisitWasHTTPNonGet &amp;&amp; (protocolIs(m_historyItem-&gt;urlString(), &quot;http&quot;) || protocolIs(m_historyItem-&gt;urlString(), &quot;https&quot;)))
-        m_historyItem-&gt;setLastVisitWasHTTPNonGet(true);
-
</del><span class="cx">     if (redirectURLsVector.get())
</span><span class="cx">         m_historyItem-&gt;setRedirectURLs(std::move(redirectURLsVector));
</span><span class="cx"> 
</span><del>-    if (dailyVector.get())
-        m_historyItem-&gt;adoptVisitCounts(*dailyVector, *weeklyVector);
-
</del><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::dictionaryRepresentation(void** dictionary)
</span><span class="cx"> {
</span><span class="cx">     CFDictionaryRef* dictionaryRef = (CFDictionaryRef*) dictionary;
</span><del>-    static CFStringRef lastVisitedFormat = CFSTR(&quot;%.1lf&quot;);
-    CFStringRef lastVisitedStringRef =
-        CFStringCreateWithFormat(0, 0, lastVisitedFormat, m_historyItem-&gt;lastVisitedTime());
-    if (!lastVisitedStringRef)
-        return E_FAIL;
</del><span class="cx"> 
</span><span class="cx">     int keyCount = 0;
</span><span class="cx">     CFTypeRef keys[9];
</span><span class="lines">@@ -217,29 +146,16 @@
</span><span class="cx">         values[keyCount++] = m_historyItem-&gt;urlString().createCFString().leakRef();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    keys[keyCount] = lastVisitedDateKey;
-    values[keyCount++] = lastVisitedStringRef;
-
</del><span class="cx">     if (!m_historyItem-&gt;title().isEmpty()) {
</span><span class="cx">         keys[keyCount] = titleKey;
</span><span class="cx">         values[keyCount++] = m_historyItem-&gt;title().createCFString().leakRef();
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    keys[keyCount] = visitCountKey;
-    int visitCount = m_historyItem-&gt;visitCount();
-    values[keyCount++] = CFNumberCreate(0, kCFNumberIntType, &amp;visitCount);
-
</del><span class="cx">     if (m_historyItem-&gt;lastVisitWasFailure()) {
</span><span class="cx">         keys[keyCount] = lastVisitWasFailureKey;
</span><span class="cx">         values[keyCount++] = CFRetain(kCFBooleanTrue);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    if (m_historyItem-&gt;lastVisitWasHTTPNonGet()) {
-        ASSERT(m_historyItem-&gt;urlString().startsWith(&quot;http:&quot;, false) || m_historyItem-&gt;urlString().startsWith(&quot;https:&quot;, false));
-        keys[keyCount] = lastVisitWasHTTPNonGetKey;
-        values[keyCount++] = CFRetain(kCFBooleanTrue);
-    }
-
</del><span class="cx">     if (Vector&lt;String&gt;* redirectURLs = m_historyItem-&gt;redirectURLs()) {
</span><span class="cx">         size_t size = redirectURLs-&gt;size();
</span><span class="cx">         ASSERT(size);
</span><span class="lines">@@ -255,36 +171,6 @@
</span><span class="cx">         values[keyCount++] = result;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    const Vector&lt;int&gt;&amp; dailyVisitCount(m_historyItem-&gt;dailyVisitCounts());
-    if (size_t size = dailyVisitCount.size()) {
-        Vector&lt;CFNumberRef, 13&gt; numbers(size);
-        for (size_t i = 0; i &lt; size; ++i)
-            numbers[i] = CFNumberCreate(0, kCFNumberIntType, &amp;dailyVisitCount[i]);
-
-        CFArrayRef result = CFArrayCreate(0, (const void**)numbers.data(), size, &amp;kCFTypeArrayCallBacks);
-
-        for (size_t i = 0; i &lt; size; ++i)
-            CFRelease(numbers[i]);
-
-        keys[keyCount] = dailyVisitCountKey;
-        values[keyCount++] = result;
-    }
-
-    const Vector&lt;int&gt;&amp; weeklyVisitCount(m_historyItem-&gt;weeklyVisitCounts());
-    if (size_t size = weeklyVisitCount.size()) {
-        Vector&lt;CFNumberRef, 5&gt; numbers(size);
-        for (size_t i = 0; i &lt; size; ++i)
-            numbers[i] = CFNumberCreate(0, kCFNumberIntType, &amp;weeklyVisitCount[i]);
-
-        CFArrayRef result = CFArrayCreate(0, (const void**)numbers.data(), size, &amp;kCFTypeArrayCallBacks);
-
-        for (size_t i = 0; i &lt; size; ++i)
-            CFRelease(numbers[i]);
-
-        keys[keyCount] = weeklyVisitCountKey;
-        values[keyCount++] = result;
-    }
-
</del><span class="cx">     *dictionaryRef = CFDictionaryCreate(0, keys, values, keyCount, &amp;kCFTypeDictionaryKeyCallBacks, &amp;kCFTypeDictionaryValueCallBacks);
</span><span class="cx">     
</span><span class="cx">     for (int i = 0; i &lt; keyCount; ++i)
</span><span class="lines">@@ -299,36 +185,29 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::visitCount(int *count)
</span><span class="cx"> {
</span><del>-    *count = m_historyItem-&gt;visitCount();
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::setVisitCount(int count)
</span><span class="cx"> {
</span><del>-    m_historyItem-&gt;setVisitCount(count);
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
+
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::mergeAutoCompleteHints(IWebHistoryItem* otherItem)
</span><span class="cx"> {
</span><del>-    if (!otherItem)
-        return E_FAIL;
-
-    COMPtr&lt;WebHistoryItem&gt; otherWebHistoryItem(Query, otherItem);
-    if (!otherWebHistoryItem)
-        return E_FAIL;
-
-    m_historyItem-&gt;mergeAutoCompleteHints(otherWebHistoryItem-&gt;historyItem());
-
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitedTimeInterval(DATE time)
</span><span class="cx"> {
</span><del>-    m_historyItem-&gt;setLastVisitedTime(MarshallingHelpers::DATEToCFAbsoluteTime(time));
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::setTitle(BSTR title)
</span><span class="lines">@@ -445,22 +324,16 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitWasHTTPNonGet(BOOL* HTTPNonGet)
</span><span class="cx"> {
</span><del>-    if (!HTTPNonGet) {
-        ASSERT_NOT_REACHED();
-        return E_POINTER;
-    }
-
-    *HTTPNonGet = m_historyItem-&gt;lastVisitWasHTTPNonGet();
-
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::setLastVisitWasHTTPNonGet(BOOL HTTPNonGet)
</span><span class="cx"> {
</span><del>-    m_historyItem-&gt;setLastVisitWasHTTPNonGet(HTTPNonGet);
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::redirectURLs(IEnumVARIANT** urls)
</span><span class="lines">@@ -482,40 +355,29 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::visitedWithTitle(BSTR title, BOOL increaseVisitCount)
</span><span class="cx"> {
</span><del>-    m_historyItem-&gt;visited(title, CFAbsoluteTimeGetCurrent(), increaseVisitCount ? IncreaseVisitCount : DoNotIncreaseVisitCount);
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::getDailyVisitCounts(int* number, int** counts)
</span><span class="cx"> {
</span><del>-    if (!number || !counts) {
-        ASSERT_NOT_REACHED();
-        return E_POINTER;
-    }
-
-    *counts = const_cast&lt;int*&gt;(m_historyItem-&gt;dailyVisitCounts().data());
-    *number = m_historyItem-&gt;dailyVisitCounts().size();
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::getWeeklyVisitCounts(int* number, int** counts)
</span><span class="cx"> {
</span><del>-    if (!number || !counts) {
-        ASSERT_NOT_REACHED();
-        return E_POINTER;
-    }
-
-    *counts = const_cast&lt;int*&gt;(m_historyItem-&gt;weeklyVisitCounts().data());
-    *number = m_historyItem-&gt;weeklyVisitCounts().size();
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::recordInitialVisit()
</span><span class="cx"> {
</span><del>-    m_historyItem-&gt;recordInitialVisit();
-    return S_OK;
</del><ins>+    // FIXME: This function should be removed from the IWebHistoryItem interface.
+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // IUnknown -------------------------------------------------------------------
</span><span class="lines">@@ -560,7 +422,7 @@
</span><span class="cx">     /* [in] */ DATE lastVisited)
</span><span class="cx"> {
</span><span class="cx">     historyItemWrappers().remove(m_historyItem.get());
</span><del>-    m_historyItem = HistoryItem::create(String(urlString, SysStringLen(urlString)), String(title, SysStringLen(title)), MarshallingHelpers::DATEToCFAbsoluteTime(lastVisited));
</del><ins>+    m_historyItem = HistoryItem::create(String(urlString, SysStringLen(urlString)), String(title, SysStringLen(title)));
</ins><span class="cx">     historyItemWrappers().set(m_historyItem.get(), this);
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -599,14 +461,11 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+// FIXME: This function should be removed from the IWebHistoryItem interface.
</ins><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::lastVisitedTimeInterval( 
</span><span class="cx">     /* [retval][out] */ DATE* lastVisited)
</span><span class="cx"> {
</span><del>-    if (!lastVisited)
-        return E_POINTER;
-
-    *lastVisited = MarshallingHelpers::CFAbsoluteTimeToDATE(m_historyItem-&gt;lastVisitedTime());
-    return S_OK;
</del><ins>+    return E_NOTIMPL;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebHistoryItem::setAlternateTitle( 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebLocalizableStringscpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebLocalizableStrings.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebLocalizableStrings.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebLocalizableStrings.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><ins>+#include &lt;wtf/ThreadingPrimitives.h&gt;
</ins><span class="cx"> #include &lt;CoreFoundation/CoreFoundation.h&gt;
</span><span class="cx"> 
</span><span class="cx"> class LocalizedString;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/win/WebView.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/win/WebView.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/win/WebView.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebView.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;BackForwardController.h&quot;
</ins><span class="cx"> #include &quot;COMVariantSetter.h&quot;
</span><span class="cx"> #include &quot;DOMCoreClasses.h&quot;
</span><span class="cx"> #include &quot;FullscreenVideoController.h&quot;
</span><span class="lines">@@ -72,6 +73,7 @@
</span><span class="cx"> #include &lt;WebCore/AXObjectCache.h&gt;
</span><span class="cx"> #include &lt;WebCore/ApplicationCacheStorage.h&gt;
</span><span class="cx"> #include &lt;WebCore/BString.h&gt;
</span><ins>+#include &lt;WebCore/BackForwardController.h&gt;
</ins><span class="cx"> #include &lt;WebCore/BackForwardList.h&gt;
</span><span class="cx"> #include &lt;WebCore/BitmapInfo.h&gt;
</span><span class="cx"> #include &lt;WebCore/Chrome.h&gt;
</span><span class="lines">@@ -2067,9 +2069,9 @@
</span><span class="cx">     // FIXME: This logic should probably be in EventHandler::defaultArrowEventHandler().
</span><span class="cx">     // FIXME: Should check that other modifiers aren't pressed.
</span><span class="cx">     if (virtualKeyCode == VK_RIGHT &amp;&amp; keyEvent.ctrlKey())
</span><del>-        return m_page-&gt;goForward();
</del><ins>+        return m_page-&gt;backForward().goForward();
</ins><span class="cx">     if (virtualKeyCode == VK_LEFT &amp;&amp; keyEvent.ctrlKey())
</span><del>-        return m_page-&gt;goBack();
</del><ins>+        return m_page-&gt;backForward().goBack();
</ins><span class="cx"> 
</span><span class="cx">     // Need to scroll the page if the arrow keys, pgup/dn, or home/end are hit.
</span><span class="cx">     ScrollDirection direction;
</span><span class="lines">@@ -3084,7 +3086,7 @@
</span><span class="cx">     if (!m_useBackForwardList)
</span><span class="cx">         return E_FAIL;
</span><span class="cx">  
</span><del>-    *list = WebBackForwardList::createInstance(static_cast&lt;WebCore::BackForwardList*&gt;(m_page-&gt;backForwardClient()));
</del><ins>+    *list = WebBackForwardList::createInstance(static_cast&lt;WebCore::BackForwardList*&gt;(m_page-&gt;backForward().client()));
</ins><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="lines">@@ -3099,14 +3101,14 @@
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebView::goBack( 
</span><span class="cx">     /* [retval][out] */ BOOL* succeeded)
</span><span class="cx"> {
</span><del>-    *succeeded = m_page-&gt;goBack();
</del><ins>+    *succeeded = m_page-&gt;backForward().goBack();
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> HRESULT STDMETHODCALLTYPE WebView::goForward( 
</span><span class="cx">     /* [retval][out] */ BOOL* succeeded)
</span><span class="cx"> {
</span><del>-    *succeeded = m_page-&gt;goForward();
</del><ins>+    *succeeded = m_page-&gt;backForward().goForward();
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3917,7 +3919,7 @@
</span><span class="cx">         /* [in] */ IUnknown* /*sender*/,
</span><span class="cx">         /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>-    *result = !!(m_page-&gt;backForwardClient()-&gt;backItem() &amp;&amp; !m_page-&gt;defersLoading());
</del><ins>+    *result = !!(m_page-&gt;backForward().client()-&gt;backItem() &amp;&amp; !m_page-&gt;defersLoading());
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="lines">@@ -3932,7 +3934,7 @@
</span><span class="cx">         /* [in] */ IUnknown* /*sender*/,
</span><span class="cx">         /* [retval][out] */ BOOL* result)
</span><span class="cx"> {
</span><del>-    *result = !!(m_page-&gt;backForwardClient()-&gt;forwardItem() &amp;&amp; !m_page-&gt;defersLoading());
</del><ins>+    *result = !!(m_page-&gt;backForward().client()-&gt;forwardItem() &amp;&amp; !m_page-&gt;defersLoading());
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx">     
</span><span class="lines">@@ -5411,13 +5413,13 @@
</span><span class="cx">     // It turns out the right combination of behavior is done with the back/forward load
</span><span class="cx">     // type.  (See behavior matrix at the top of WebFramePrivate.)  So we copy all the items
</span><span class="cx">     // in the back forward list, and go to the current one.
</span><del>-    BackForwardClient* backForwardClient = m_page-&gt;backForwardClient();
</del><ins>+    BackForwardClient* backForwardClient = m_page-&gt;backForward().client();
</ins><span class="cx">     ASSERT(!backForwardClient-&gt;currentItem()); // destination list should be empty
</span><span class="cx"> 
</span><span class="cx">     COMPtr&lt;WebView&gt; otherWebView;
</span><span class="cx">     if (FAILED(otherView-&gt;QueryInterface(&amp;otherWebView)))
</span><span class="cx">         return E_FAIL;
</span><del>-    BackForwardClient* otherBackForwardClient = otherWebView-&gt;m_page-&gt;backForwardClient();
</del><ins>+    BackForwardClient* otherBackForwardClient = otherWebView-&gt;m_page-&gt;backForward().client();
</ins><span class="cx">     if (!otherBackForwardClient-&gt;currentItem())
</span><span class="cx">         return S_OK; // empty back forward list, bail
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinceWebCoreSupportFrameLoaderClientWinCEcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -243,11 +243,6 @@
</span><span class="cx">     return item;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool FrameLoaderClientWinCE::shouldStopLoadingForHistoryItem(HistoryItem* item) const
-{
-    return true;
-}
-
</del><span class="cx"> void FrameLoaderClientWinCE::didDisplayInsecureContent()
</span><span class="cx"> {
</span><span class="cx">     notImplemented();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKitwinceWebCoreSupportFrameLoaderClientWinCEh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -130,7 +130,6 @@
</span><span class="cx">     virtual void updateGlobalHistory() override;
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks() override;
</span><span class="cx">     virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const override;
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const override;
</del><span class="cx"> 
</span><span class="cx">     virtual void didDisplayInsecureContent() override;
</span><span class="cx">     virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::URL&amp;) override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2CMakeListstxt"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/CMakeLists.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/CMakeLists.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/CMakeLists.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -338,7 +338,6 @@
</span><span class="cx">     UIProcess/WebIconDatabaseClient.cpp
</span><span class="cx">     UIProcess/WebInspectorProxy.cpp
</span><span class="cx">     UIProcess/WebKeyValueStorageManager.cpp
</span><del>-    UIProcess/WebLoaderClient.cpp
</del><span class="cx">     UIProcess/WebMediaCacheManagerProxy.cpp
</span><span class="cx">     UIProcess/WebNetworkInfoManagerProxy.cpp
</span><span class="cx">     UIProcess/WebNetworkInfoProvider.cpp
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2ConfigurationsFeatureDefinesxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/Configurations/FeatureDefines.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -68,7 +68,6 @@
</span><span class="cx"> ENABLE_DEVICE_ORIENTATION_iphonesimulator = $(ENABLE_DEVICE_ORIENTATION_iphoneos);
</span><span class="cx"> ENABLE_DIRECTORY_UPLOAD = ;
</span><span class="cx"> ENABLE_DOM4_EVENTS_CONSTRUCTOR = ENABLE_DOM4_EVENTS_CONSTRUCTOR;
</span><del>-ENABLE_DRAGGABLE_REGION = ;
</del><span class="cx"> ENABLE_ENCRYPTED_MEDIA = $(ENABLE_ENCRYPTED_MEDIA_$(PLATFORM_NAME));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx = $(ENABLE_ENCRYPTED_MEDIA_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
</span><span class="cx"> ENABLE_ENCRYPTED_MEDIA_macosx_1080 = ;
</span><span class="lines">@@ -196,4 +195,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_DRAGGABLE_REGION) $(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_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="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -433,7 +433,7 @@
</span><span class="cx">     postDatabaseTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::clearObjectStoreInBackingStore, requestID, identifier, objectStoreID));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void UniqueIDBDatabase::createIndex(const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp; indexMetadata, std::function&lt;void(bool)&gt; successCallback)
</del><ins>+void UniqueIDBDatabase::createIndex(const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp; metadata, std::function&lt;void(bool)&gt; successCallback)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isMainThread());
</span><span class="cx"> 
</span><span class="lines">@@ -443,17 +443,28 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     ASSERT(m_metadata-&gt;objectStores.contains(objectStoreID));
</span><ins>+    ASSERT(!m_metadata-&gt;objectStores.get(objectStoreID).indexes.contains(metadata.id));
+    m_metadata-&gt;objectStores.get(objectStoreID).indexes.set(metadata.id, metadata);
+    int64_t addedIndexID = metadata.id;
</ins><span class="cx"> 
</span><del>-    RefPtr&lt;AsyncRequest&gt; request = AsyncRequestImpl&lt;bool&gt;::create([this, successCallback](bool success) {
</del><ins>+    RefPtr&lt;AsyncRequest&gt; request = AsyncRequestImpl&lt;bool&gt;::create([this, objectStoreID, addedIndexID, successCallback](bool success) {
+        if (!success) {
+            auto objectStoreFind = m_metadata-&gt;objectStores.find(objectStoreID);
+            if (objectStoreFind != m_metadata-&gt;objectStores.end())
+                objectStoreFind-&gt;value.indexes.remove(addedIndexID);
+        }
</ins><span class="cx">         successCallback(success);
</span><del>-    }, [this, successCallback]() {
</del><ins>+    }, [this, objectStoreID, addedIndexID, successCallback]() {
+        auto objectStoreFind = m_metadata-&gt;objectStores.find(objectStoreID);
+        if (objectStoreFind != m_metadata-&gt;objectStores.end())
+            objectStoreFind-&gt;value.indexes.remove(addedIndexID);
</ins><span class="cx">         successCallback(false);
</span><span class="cx">     });
</span><span class="cx"> 
</span><span class="cx">     uint64_t requestID = request-&gt;requestID();
</span><span class="cx">     m_pendingDatabaseTasks.add(requestID, request.release());
</span><span class="cx"> 
</span><del>-    postDatabaseTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::createIndexInBackingStore, requestID, identifier, objectStoreID, indexMetadata));
</del><ins>+    postDatabaseTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::createIndexInBackingStore, requestID, identifier, objectStoreID, metadata));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void UniqueIDBDatabase::deleteIndex(const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, int64_t indexID, std::function&lt;void(bool)&gt; successCallback)
</span><span class="lines">@@ -468,9 +479,19 @@
</span><span class="cx">     ASSERT(m_metadata-&gt;objectStores.contains(objectStoreID));
</span><span class="cx">     ASSERT(m_metadata-&gt;objectStores.get(objectStoreID).indexes.contains(indexID));
</span><span class="cx"> 
</span><del>-    RefPtr&lt;AsyncRequest&gt; request = AsyncRequestImpl&lt;bool&gt;::create([this, successCallback](bool success) {
</del><ins>+    IDBIndexMetadata metadata = m_metadata-&gt;objectStores.get(objectStoreID).indexes.take(indexID);
+
+    RefPtr&lt;AsyncRequest&gt; request = AsyncRequestImpl&lt;bool&gt;::create([this, objectStoreID, metadata, successCallback](bool success) {
+        if (!success) {
+            auto objectStoreFind = m_metadata-&gt;objectStores.find(objectStoreID);
+            if (objectStoreFind != m_metadata-&gt;objectStores.end())
+                objectStoreFind-&gt;value.indexes.set(metadata.id, metadata);
+        }
</ins><span class="cx">         successCallback(success);
</span><del>-    }, [this, successCallback]() {
</del><ins>+    }, [this, objectStoreID, metadata, successCallback]() {
+        auto objectStoreFind = m_metadata-&gt;objectStores.find(objectStoreID);
+        if (objectStoreFind != m_metadata-&gt;objectStores.end())
+            objectStoreFind-&gt;value.indexes.set(metadata.id, metadata);
</ins><span class="cx">         successCallback(false);
</span><span class="cx">     });
</span><span class="cx"> 
</span><span class="lines">@@ -616,16 +637,24 @@
</span><span class="cx">     postMainThreadTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::didClearObjectStore, requestID, success));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void UniqueIDBDatabase::createIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&amp;, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp;)
</del><ins>+void UniqueIDBDatabase::createIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp; metadata)
</ins><span class="cx"> {
</span><del>-    // FIXME: Actually create in the backing store.
-    postMainThreadTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::didCreateIndex, requestID, false));
</del><ins>+    ASSERT(!isMainThread());
+    ASSERT(m_backingStore);
+
+    bool success = m_backingStore-&gt;createIndex(identifier, objectStoreID, metadata);
+
+    postMainThreadTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::didCreateIndex, requestID, success));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void UniqueIDBDatabase::deleteIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&amp;, int64_t objectStoreID, int64_t indexID)
</del><ins>+void UniqueIDBDatabase::deleteIndexInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, int64_t indexID)
</ins><span class="cx"> {
</span><del>-    // FIXME: Actually delete from the backing store.
-    postMainThreadTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::didDeleteIndex, requestID, false));
</del><ins>+    ASSERT(!isMainThread());
+    ASSERT(m_backingStore);
+
+    bool success = m_backingStore-&gt;deleteIndex(identifier, objectStoreID, indexID);
+
+    postMainThreadTask(createAsyncTask(*this, &amp;UniqueIDBDatabase::didDeleteIndex, requestID, success));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void UniqueIDBDatabase::putRecordInBackingStore(uint64_t requestID, const IDBTransactionIdentifier&amp; transaction, const IDBObjectStoreMetadata&amp; objectStoreMetadata, const IDBKeyData&amp; keyData, const Vector&lt;uint8_t&gt;&amp; value, int64_t putMode, const Vector&lt;int64_t&gt;&amp; indexIDs, const Vector&lt;Vector&lt;IDBKeyData&gt;&gt;&amp; indexKeys)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBUniqueIDBDatabaseBackingStoreh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -60,6 +60,8 @@
</span><span class="cx">     virtual bool createObjectStore(const IDBTransactionIdentifier&amp;, const WebCore::IDBObjectStoreMetadata&amp;) = 0;
</span><span class="cx">     virtual bool deleteObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) = 0;
</span><span class="cx">     virtual bool clearObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) = 0;
</span><ins>+    virtual bool createIndex(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp;) = 0;
+    virtual bool deleteIndex(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, int64_t indexID) = 0;
</ins><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;WebCore::IDBKey&gt; generateKey(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) = 0;
</span><span class="cx">     virtual bool keyExistsInObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, const WebCore::IDBKey&amp;, bool&amp; keyExists) = 0;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLitecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -413,6 +413,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    // Delete the ObjectStore record
</ins><span class="cx">     {
</span><span class="cx">         SQLiteStatement sql(*m_sqliteDB, ASCIILiteral(&quot;DELETE FROM ObjectStoreInfo WHERE id = ?;&quot;));
</span><span class="cx">         if (sql.prepare() != SQLResultOk
</span><span class="lines">@@ -422,10 +423,36 @@
</span><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx">     }
</span><ins>+
+    // Delete all associated Index records
</ins><span class="cx">     {
</span><del>-        // FIXME: Execute SQL here to drop all records and indexes related to this object store.
</del><ins>+        Vector&lt;int64_t&gt; indexIDs;
+        SQLiteStatement sql(*m_sqliteDB, ASCIILiteral(&quot;SELECT id FROM IndexInfo WHERE objectStoreID = ?;&quot;));
+        if (sql.prepare() != SQLResultOk
+            || sql.bindInt64(1, objectStoreID) != SQLResultOk) {
+            LOG_ERROR(&quot;Error fetching index ID records for object store id %lli from IndexInfo table (%i) - %s&quot;, objectStoreID, m_sqliteDB-&gt;lastError(), m_sqliteDB-&gt;lastErrorMsg());
+            return false;
+        }
+
+        int resultCode;
+        while ((resultCode = sql.step()) == SQLResultRow)
+            indexIDs.append(sql.getColumnInt64(0));
+
+        if (resultCode != SQLResultDone) {
+            LOG_ERROR(&quot;Error fetching index ID records for object store id %lli from IndexInfo table (%i) - %s&quot;, objectStoreID, m_sqliteDB-&gt;lastError(), m_sqliteDB-&gt;lastErrorMsg());
+            return false;
+        }
+
+        for (auto indexID : indexIDs) {
+            if (!deleteIndex(identifier, objectStoreID, indexID))
+                return false;
+        }
</ins><span class="cx">     }
</span><span class="cx"> 
</span><ins>+    {
+        // FIXME: Execute SQL here to drop all records related to this object store.
+    }
+
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -459,6 +486,75 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+bool UniqueIDBDatabaseBackingStoreSQLite::createIndex(const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp; metadata)
+{
+    ASSERT(!isMainThread());
+    ASSERT(m_sqliteDB);
+    ASSERT(m_sqliteDB-&gt;isOpen());
+
+    SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
+    if (!transaction || !transaction-&gt;inProgress()) {
+        LOG_ERROR(&quot;Attempt to create index without an established, in-progress transaction&quot;);
+        return false;
+    }
+    if (transaction-&gt;mode() != IndexedDB::TransactionMode::VersionChange) {
+        LOG_ERROR(&quot;Attempt to create index during a non-version-change transaction&quot;);
+        return false;
+    }
+
+    RefPtr&lt;SharedBuffer&gt; keyPathBlob = serializeIDBKeyPath(metadata.keyPath);
+    if (!keyPathBlob) {
+        LOG_ERROR(&quot;Unable to serialize IDBKeyPath to save in database&quot;);
+        return false;
+    }
+
+    SQLiteStatement sql(*m_sqliteDB, ASCIILiteral(&quot;INSERT INTO IndexInfo VALUES (?, ?, ?, ?, ?, ?);&quot;));
+    if (sql.prepare() != SQLResultOk
+        || sql.bindInt64(1, metadata.id) != SQLResultOk
+        || sql.bindText(2, metadata.name) != SQLResultOk
+        || sql.bindInt64(3, objectStoreID) != SQLResultOk
+        || sql.bindBlob(4, keyPathBlob-&gt;data(), keyPathBlob-&gt;size()) != SQLResultOk
+        || sql.bindInt(5, metadata.unique) != SQLResultOk
+        || sql.bindInt(6, metadata.multiEntry) != SQLResultOk
+        || sql.step() != SQLResultDone) {
+        LOG_ERROR(&quot;Could not add index '%s' to IndexInfo table (%i) - %s&quot;, metadata.name.utf8().data(), m_sqliteDB-&gt;lastError(), m_sqliteDB-&gt;lastErrorMsg());
+        return false;
+    }
+
+    return true;
+}
+
+bool UniqueIDBDatabaseBackingStoreSQLite::deleteIndex(const IDBTransactionIdentifier&amp; identifier, int64_t objectStoreID, int64_t indexID)
+{
+    ASSERT(!isMainThread());
+    ASSERT(m_sqliteDB);
+    ASSERT(m_sqliteDB-&gt;isOpen());
+
+    SQLiteIDBTransaction* transaction = m_transactions.get(identifier);
+    if (!transaction || !transaction-&gt;inProgress()) {
+        LOG_ERROR(&quot;Attempt to delete index without an established, in-progress transaction&quot;);
+        return false;
+    }
+    if (transaction-&gt;mode() != IndexedDB::TransactionMode::VersionChange) {
+        LOG_ERROR(&quot;Attempt to delete index during a non-version-change transaction&quot;);
+        return false;
+    }
+
+    {
+        SQLiteStatement sql(*m_sqliteDB, ASCIILiteral(&quot;DELETE FROM IndexInfo WHERE id = ? AND objectStoreID = ?;&quot;));
+        if (sql.prepare() != SQLResultOk
+            || sql.bindInt64(1, indexID) != SQLResultOk
+            || sql.bindInt64(2, objectStoreID) != SQLResultOk
+            || sql.step() != SQLResultDone) {
+            LOG_ERROR(&quot;Could not delete index id %lli from IndexInfo table (%i) - %s&quot;, objectStoreID, m_sqliteDB-&gt;lastError(), m_sqliteDB-&gt;lastErrorMsg());
+            return false;
+        }
+    }
+
+    // FIXME (&lt;rdar://problem/15905293&gt;) - Once we store records against indexes, delete them here.
+    return true;
+}
+
</ins><span class="cx"> PassRefPtr&lt;IDBKey&gt; UniqueIDBDatabaseBackingStoreSQLite::generateKey(const IDBTransactionIdentifier&amp;, int64_t objectStoreID)
</span><span class="cx"> {
</span><span class="cx">     // FIXME (&lt;rdar://problem/15877909&gt;): Implement
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2DatabaseProcessIndexedDBsqliteUniqueIDBDatabaseBackingStoreSQLiteh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -64,6 +64,8 @@
</span><span class="cx">     virtual bool createObjectStore(const IDBTransactionIdentifier&amp;, const WebCore::IDBObjectStoreMetadata&amp;) override;
</span><span class="cx">     virtual bool deleteObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) override;
</span><span class="cx">     virtual bool clearObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) override;
</span><ins>+    virtual bool createIndex(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, const WebCore::IDBIndexMetadata&amp;) override;
+    virtual bool deleteIndex(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, int64_t indexID) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual PassRefPtr&lt;WebCore::IDBKey&gt; generateKey(const IDBTransactionIdentifier&amp;, int64_t objectStoreID) override;
</span><span class="cx">     virtual bool keyExistsInObjectStore(const IDBTransactionIdentifier&amp;, int64_t objectStoreID, const WebCore::IDBKey&amp;, bool&amp; keyExists) override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2GNUmakefileam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/GNUmakefile.am (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/GNUmakefile.am        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/GNUmakefile.am        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -428,7 +428,6 @@
</span><span class="cx">         $(WebKit2)/UIProcess/Plugins \
</span><span class="cx">         $(WebKit2)/UIProcess/ResourceCache \
</span><span class="cx">         $(WebKit2)/UIProcess/Storage \
</span><del>-        $(WebKit2)/UIProcess/soup \
</del><span class="cx">         $(WebKit2)/WebProcess \
</span><span class="cx">         $(WebKit2)/WebProcess/ApplicationCache \
</span><span class="cx">         $(WebKit2)/WebProcess/Battery \
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2GNUmakefilelistam"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/GNUmakefile.list.am (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/GNUmakefile.list.am        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/GNUmakefile.list.am        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -160,10 +160,6 @@
</span><span class="cx">         DerivedSources/WebKit2/WebResourceCacheManagerProxyMessages.h \
</span><span class="cx">         DerivedSources/WebKit2/WebResourceLoaderMessageReceiver.cpp \
</span><span class="cx">         DerivedSources/WebKit2/WebResourceLoaderMessages.h \
</span><del>-        DerivedSources/WebKit2/WebSoupRequestManagerMessageReceiver.cpp \
-        DerivedSources/WebKit2/WebSoupRequestManagerMessages.h \
-        DerivedSources/WebKit2/WebSoupRequestManagerProxyMessageReceiver.cpp \
-        DerivedSources/WebKit2/WebSoupRequestManagerProxyMessages.h \
</del><span class="cx">         DerivedSources/WebKit2/WebVibrationProxyMessageReceiver.cpp \
</span><span class="cx">         DerivedSources/WebKit2/WebVibrationProxyMessages.h
</span><span class="cx"> 
</span><span class="lines">@@ -521,10 +517,6 @@
</span><span class="cx">         Source/WebKit2/UIProcess/API/C/gtk/WKView.h \
</span><span class="cx">         Source/WebKit2/UIProcess/API/C/gtk/WKViewPrivate.h \
</span><span class="cx">         Source/WebKit2/UIProcess/API/C/soup/WKAPICastSoup.h \
</span><del>-        Source/WebKit2/UIProcess/API/C/soup/WKContextSoup.cpp \
-        Source/WebKit2/UIProcess/API/C/soup/WKContextSoup.h \
-        Source/WebKit2/UIProcess/API/C/soup/WKSoupRequestManager.cpp \
-        Source/WebKit2/UIProcess/API/C/soup/WKSoupRequestManager.h \
</del><span class="cx">         Source/WebKit2/UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.h \
</span><span class="cx">         Source/WebKit2/UIProcess/API/C/WebKit2_C.h \
</span><span class="lines">@@ -886,10 +878,6 @@
</span><span class="cx">         Source/WebKit2/UIProcess/Storage/StorageManager.h \
</span><span class="cx">         Source/WebKit2/UIProcess/soup/WebContextSoup.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/soup/WebCookieManagerProxySoup.cpp \
</span><del>-        Source/WebKit2/UIProcess/soup/WebSoupRequestManagerClient.cpp \
-        Source/WebKit2/UIProcess/soup/WebSoupRequestManagerClient.h \
-        Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.cpp \
-        Source/WebKit2/UIProcess/soup/WebSoupRequestManagerProxy.h \
</del><span class="cx">         Source/WebKit2/UIProcess/TextChecker.h \
</span><span class="cx">         Source/WebKit2/UIProcess/TextCheckerCompletion.h \
</span><span class="cx">         Source/WebKit2/UIProcess/TextCheckerCompletion.cpp \
</span><span class="lines">@@ -965,8 +953,6 @@
</span><span class="cx">         Source/WebKit2/UIProcess/WebKeyValueStorageManager.h \
</span><span class="cx">         Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h \
</span><del>-        Source/WebKit2/UIProcess/WebLoaderClient.cpp \
-        Source/WebKit2/UIProcess/WebLoaderClient.h \
</del><span class="cx">         Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.cpp \
</span><span class="cx">         Source/WebKit2/UIProcess/WebNetworkInfoManagerProxy.h \
</span><span class="cx">         Source/WebKit2/UIProcess/WebNetworkInfoProvider.cpp \
</span><span class="lines">@@ -1186,8 +1172,6 @@
</span><span class="cx">         Source/WebKit2/WebProcess/Storage/StorageAreaMap.h \
</span><span class="cx">         Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.cpp \
</span><span class="cx">         Source/WebKit2/WebProcess/Storage/StorageNamespaceImpl.h \
</span><del>-        Source/WebKit2/WebProcess/soup/WebSoupRequestManager.cpp \
-        Source/WebKit2/WebProcess/soup/WebSoupRequestManager.h \
</del><span class="cx">         Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp \
</span><span class="cx">         Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp \
</span><span class="cx">         Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h \
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2PlatformIPCConnectioncpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Platform/IPC/Connection.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Platform/IPC/Connection.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/Platform/IPC/Connection.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -344,7 +344,6 @@
</span><span class="cx">     encoder-&gt;setIsSyncMessage(true);
</span><span class="cx"> 
</span><span class="cx">     // Encode the sync request ID.
</span><del>-    COMPILE_ASSERT(sizeof(m_syncRequestID) == sizeof(int64_t), CanUseAtomicIncrement);
</del><span class="cx">     syncRequestID = ++m_syncRequestID;
</span><span class="cx">     *encoder &lt;&lt; syncRequestID;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2PlatformGTKcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/PlatformGTK.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/PlatformGTK.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/PlatformGTK.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -82,9 +82,7 @@
</span><span class="cx">     UIProcess/API/C/gtk/WKInspectorClientGtk.cpp
</span><span class="cx">     UIProcess/API/C/gtk/WKView.cpp
</span><span class="cx"> 
</span><del>-    UIProcess/API/C/soup/WKContextSoup.cpp
</del><span class="cx">     UIProcess/API/C/soup/WKCookieManagerSoup.cpp
</span><del>-    UIProcess/API/C/soup/WKSoupRequestManager.cpp
</del><span class="cx">     UIProcess/API/C/soup/WKSoupCustomProtocolRequestManager.cpp
</span><span class="cx"> 
</span><span class="cx">     UIProcess/API/gtk/PageClientImpl.cpp
</span><span class="lines">@@ -269,8 +267,6 @@
</span><span class="cx">     UIProcess/Network/soup/NetworkProcessProxySoup.cpp
</span><span class="cx">     UIProcess/soup/WebContextSoup.cpp
</span><span class="cx">     UIProcess/soup/WebCookieManagerProxySoup.cpp
</span><del>-    UIProcess/soup/WebSoupRequestManagerClient.cpp
-    UIProcess/soup/WebSoupRequestManagerProxy.cpp
</del><span class="cx"> 
</span><span class="cx">     WebProcess/Cookies/soup/WebCookieManagerSoup.cpp
</span><span class="cx">     WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.cpp
</span><span class="lines">@@ -311,7 +307,6 @@
</span><span class="cx">     WebProcess/soup/WebKitSoupRequestGeneric.cpp
</span><span class="cx">     WebProcess/soup/WebKitSoupRequestInputStream.cpp
</span><span class="cx">     WebProcess/soup/WebProcessSoup.cpp
</span><del>-    WebProcess/soup/WebSoupRequestManager.cpp
</del><span class="cx"> )
</span><span class="cx"> 
</span><span class="cx"> set(WebKit2GTK_INSTALLED_HEADERS
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedBlockingResponseMaph"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/BlockingResponseMap.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/BlockingResponseMap.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/Shared/BlockingResponseMap.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;condition_variable&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><ins>+#include &lt;wtf/Noncopyable.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> template&lt;typename T&gt;
</span><span class="cx"> class BlockingResponseMap {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedDownloadssoupDownloadSoupcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/Shared/Downloads/soup/DownloadSoup.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -233,8 +233,12 @@
</span><span class="cx"> {
</span><span class="cx">     if (!m_resourceHandle)
</span><span class="cx">         return;
</span><del>-    static_cast&lt;DownloadClient*&gt;(m_downloadClient.get())-&gt;cancel(m_resourceHandle.get());
-    m_resourceHandle = 0;
</del><ins>+
+    // Cancelling the download will delete it and platformInvalidate() will be called by the destructor.
+    // So, we need to set m_resourceHandle to nullptr before actually cancelling the download to make sure
+    // it won't be cancelled again by platformInvalidate. See https://bugs.webkit.org/show_bug.cgi?id=127650.
+    RefPtr&lt;ResourceHandle&gt; resourceHandle = m_resourceHandle.release();
+    static_cast&lt;DownloadClient*&gt;(m_downloadClient.get())-&gt;cancel(resourceHandle.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Download::platformInvalidate()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2SharedmacSecItemShimcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/Shared/mac/SecItemShim.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/Shared/mac/SecItemShim.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/Shared/mac/SecItemShim.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,7 @@
</span><span class="cx"> #include &quot;SecItemShimMessages.h&quot;
</span><span class="cx"> #include &quot;SecItemShimProxyMessages.h&quot;
</span><span class="cx"> #include &lt;Security/Security.h&gt;
</span><ins>+#include &lt;atomic&gt;
</ins><span class="cx"> #include &lt;dlfcn.h&gt;
</span><span class="cx"> #include &lt;mutex&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -73,8 +74,8 @@
</span><span class="cx"> 
</span><span class="cx"> static uint64_t generateSecItemRequestID()
</span><span class="cx"> {
</span><del>-    static int64_t uniqueSecItemRequestID;
-    return atomicIncrement(&amp;uniqueSecItemRequestID);
</del><ins>+    static std::atomic&lt;int64_t&gt; uniqueSecItemRequestID;
+    return ++uniqueSecItemRequestID;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static std::unique_ptr&lt;SecItemResponseData&gt; sendSecItemRequest(SecItemRequestData::Type requestType, CFDictionaryRef query, CFDictionaryRef attributesToMatch = 0)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICWKPagecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,13 +29,15 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;APIData.h&quot;
</span><ins>+#include &quot;APILoaderClient.h&quot;
</ins><span class="cx"> #include &quot;APIPolicyClient.h&quot;
</span><ins>+#include &quot;ImmutableDictionary.h&quot;
+#include &quot;PluginInformation.h&quot;
</ins><span class="cx"> #include &quot;PrintInfo.h&quot;
</span><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WKPagePolicyClientInternal.h&quot;
</span><span class="cx"> #include &quot;WKPluginInformation.h&quot;
</span><span class="cx"> #include &quot;WebBackForwardList.h&quot;
</span><del>-#include &quot;WebLoaderClient.h&quot;
</del><span class="cx"> #include &quot;WebPageMessages.h&quot;
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><span class="cx"> #include &quot;WebProcessProxy.h&quot;
</span><span class="lines">@@ -53,6 +55,10 @@
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><ins>+template&lt;&gt; struct ClientTraits&lt;WKPageLoaderClientBase&gt; {
+    typedef std::tuple&lt;WKPageLoaderClientV0, WKPageLoaderClientV1, WKPageLoaderClientV2, WKPageLoaderClientV3, WKPageLoaderClientV4&gt; Versions;
+};
+
</ins><span class="cx"> template&lt;&gt; struct ClientTraits&lt;WKPagePolicyClientBase&gt; {
</span><span class="cx">     typedef std::tuple&lt;WKPagePolicyClientV0, WKPagePolicyClientV1, WKPagePolicyClientInternal&gt; Versions;
</span><span class="cx"> };
</span><span class="lines">@@ -677,9 +683,297 @@
</span><span class="cx"> 
</span><span class="cx"> void WKPageSetPageLoaderClient(WKPageRef pageRef, const WKPageLoaderClientBase* wkClient)
</span><span class="cx"> {
</span><ins>+    class LoaderClient : public API::Client&lt;WKPageLoaderClientBase&gt;, public API::LoaderClient {
+    public:
+        explicit LoaderClient(const WKPageLoaderClientBase* client)
+        {
+            initialize(client);
+        }
+
+    private:
+        virtual void didStartProvisionalLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didStartProvisionalLoadForFrame)
+                return;
+
+            m_client.didStartProvisionalLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didReceiveServerRedirectForProvisionalLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didReceiveServerRedirectForProvisionalLoadForFrame)
+                return;
+
+            m_client.didReceiveServerRedirectForProvisionalLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFailProvisionalLoadWithErrorForFrame(WebPageProxy* page, WebFrameProxy* frame, const ResourceError&amp; error, API::Object* userData) override
+        {
+            if (!m_client.didFailProvisionalLoadWithErrorForFrame)
+                return;
+
+            m_client.didFailProvisionalLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didCommitLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didCommitLoadForFrame)
+                return;
+
+            m_client.didCommitLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFinishDocumentLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didFinishDocumentLoadForFrame)
+                return;
+
+            m_client.didFinishDocumentLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFinishLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didFinishLoadForFrame)
+                return;
+
+            m_client.didFinishLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFailLoadWithErrorForFrame(WebPageProxy* page, WebFrameProxy* frame, const ResourceError&amp; error, API::Object* userData) override
+        {
+            if (!m_client.didFailLoadWithErrorForFrame)
+                return;
+
+            m_client.didFailLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didSameDocumentNavigationForFrame(WebPageProxy* page, WebFrameProxy* frame, SameDocumentNavigationType type, API::Object* userData) override
+        {
+            if (!m_client.didSameDocumentNavigationForFrame)
+                return;
+
+            m_client.didSameDocumentNavigationForFrame(toAPI(page), toAPI(frame), toAPI(type), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didReceiveTitleForFrame(WebPageProxy* page, const String&amp; title, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didReceiveTitleForFrame)
+                return;
+
+            m_client.didReceiveTitleForFrame(toAPI(page), toAPI(title.impl()), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFirstLayoutForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didFirstLayoutForFrame)
+                return;
+
+            m_client.didFirstLayoutForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didFirstVisuallyNonEmptyLayoutForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didFirstVisuallyNonEmptyLayoutForFrame)
+                return;
+
+            m_client.didFirstVisuallyNonEmptyLayoutForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didLayout(WebPageProxy* page, LayoutMilestones milestones, API::Object* userData) override
+        {
+            if (!m_client.didLayout)
+                return;
+
+            m_client.didLayout(toAPI(page), toWKLayoutMilestones(milestones), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didRemoveFrameFromHierarchy(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didRemoveFrameFromHierarchy)
+                return;
+
+            m_client.didRemoveFrameFromHierarchy(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didDisplayInsecureContentForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didDisplayInsecureContentForFrame)
+                return;
+
+            m_client.didDisplayInsecureContentForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didRunInsecureContentForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didRunInsecureContentForFrame)
+                return;
+
+            m_client.didRunInsecureContentForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual void didDetectXSSForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData) override
+        {
+            if (!m_client.didDetectXSSForFrame)
+                return;
+
+            m_client.didDetectXSSForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
+        }
+
+        virtual bool canAuthenticateAgainstProtectionSpaceInFrame(WebPageProxy* page, WebFrameProxy* frame, WebProtectionSpace* protectionSpace) override
+        {
+            if (!m_client.canAuthenticateAgainstProtectionSpaceInFrame)
+                return false;
+
+            return m_client.canAuthenticateAgainstProtectionSpaceInFrame(toAPI(page), toAPI(frame), toAPI(protectionSpace), m_client.base.clientInfo);
+        }
+
+        virtual void didReceiveAuthenticationChallengeInFrame(WebPageProxy* page, WebFrameProxy* frame, AuthenticationChallengeProxy* authenticationChallenge) override
+        {
+            if (!m_client.didReceiveAuthenticationChallengeInFrame)
+                return;
+
+            m_client.didReceiveAuthenticationChallengeInFrame(toAPI(page), toAPI(frame), toAPI(authenticationChallenge), m_client.base.clientInfo);
+        }
+
+        virtual void didStartProgress(WebPageProxy* page) override
+        {
+            if (!m_client.didStartProgress)
+                return;
+
+            m_client.didStartProgress(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void didChangeProgress(WebPageProxy* page) override
+        {
+            if (!m_client.didChangeProgress)
+                return;
+
+            m_client.didChangeProgress(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void didFinishProgress(WebPageProxy* page) override
+        {
+            if (!m_client.didFinishProgress)
+                return;
+
+            m_client.didFinishProgress(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void processDidBecomeUnresponsive(WebPageProxy* page) override
+        {
+            if (!m_client.processDidBecomeUnresponsive)
+                return;
+
+            m_client.processDidBecomeUnresponsive(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void interactionOccurredWhileProcessUnresponsive(WebPageProxy* page) override
+        {
+            if (!m_client.interactionOccurredWhileProcessUnresponsive)
+                return;
+
+            m_client.interactionOccurredWhileProcessUnresponsive(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void processDidBecomeResponsive(WebPageProxy* page) override
+        {
+            if (!m_client.processDidBecomeResponsive)
+                return;
+
+            m_client.processDidBecomeResponsive(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void processDidCrash(WebPageProxy* page) override
+        {
+            if (!m_client.processDidCrash)
+                return;
+
+            m_client.processDidCrash(toAPI(page), m_client.base.clientInfo);
+        }
+
+        virtual void didChangeBackForwardList(WebPageProxy* page, WebBackForwardListItem* addedItem, Vector&lt;RefPtr&lt;API::Object&gt;&gt;* removedItems) override
+        {
+            if (!m_client.didChangeBackForwardList)
+                return;
+
+            RefPtr&lt;API::Array&gt; removedItemsArray;
+            if (removedItems &amp;&amp; !removedItems-&gt;isEmpty())
+                removedItemsArray = API::Array::create(std::move(*removedItems));
+
+            m_client.didChangeBackForwardList(toAPI(page), toAPI(addedItem), toAPI(removedItemsArray.get()), m_client.base.clientInfo);
+        }
+
+        virtual void willGoToBackForwardListItem(WebPageProxy* page, WebBackForwardListItem* item, API::Object* userData) override
+        {
+            if (m_client.willGoToBackForwardListItem)
+                m_client.willGoToBackForwardListItem(toAPI(page), toAPI(item), toAPI(userData), m_client.base.clientInfo);
+        }
+
+#if ENABLE(NETSCAPE_PLUGIN_API)
+        virtual void didFailToInitializePlugin(WebPageProxy* page, ImmutableDictionary* pluginInformation) override
+        {
+            if (m_client.didFailToInitializePlugin_deprecatedForUseWithV0)
+                m_client.didFailToInitializePlugin_deprecatedForUseWithV0(toAPI(page), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())), m_client.base.clientInfo);
+
+            if (m_client.pluginDidFail_deprecatedForUseWithV1)
+                m_client.pluginDidFail_deprecatedForUseWithV1(toAPI(page), kWKErrorCodeCannotLoadPlugIn, toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())), 0, 0, m_client.base.clientInfo);
+
+            if (m_client.pluginDidFail)
+                m_client.pluginDidFail(toAPI(page), kWKErrorCodeCannotLoadPlugIn, toAPI(pluginInformation), m_client.base.clientInfo);
+        }
+
+        virtual void didBlockInsecurePluginVersion(WebPageProxy* page, ImmutableDictionary* pluginInformation) override
+        {
+            if (m_client.pluginDidFail_deprecatedForUseWithV1)
+                m_client.pluginDidFail_deprecatedForUseWithV1(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleIdentifierKey())), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleVersionKey())), m_client.base.clientInfo);
+
+            if (m_client.pluginDidFail)
+                m_client.pluginDidFail(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation), m_client.base.clientInfo);
+        }
+
+        virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String&amp; unavailabilityDescription, String&amp; useBlockedPluginTitle) override
+        {
+            WKStringRef unavailabilityDescriptionOut = 0;
+            WKStringRef useBlockedPluginTitleOut = 0;
+            PluginModuleLoadPolicy loadPolicy = currentPluginLoadPolicy;
+
+            if (m_client.pluginLoadPolicy_deprecatedForUseWithV2)
+                loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV2(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), m_client.base.clientInfo));
+            else if (m_client.pluginLoadPolicy_deprecatedForUseWithV3)
+                loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV3(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &amp;unavailabilityDescriptionOut, m_client.base.clientInfo));
+            else if (m_client.pluginLoadPolicy)
+                loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &amp;unavailabilityDescriptionOut, &amp;useBlockedPluginTitleOut, m_client.base.clientInfo));
+
+            if (unavailabilityDescriptionOut) {
+                RefPtr&lt;API::String&gt; webUnavailabilityDescription = adoptRef(toImpl(unavailabilityDescriptionOut));
+                unavailabilityDescription = webUnavailabilityDescription-&gt;string();
+            }
+
+            if (useBlockedPluginTitleOut) {
+                RefPtr&lt;API::String&gt; webUseBlockedPluginTitle = adoptRef(toImpl(useBlockedPluginTitleOut));
+                useBlockedPluginTitle = webUseBlockedPluginTitle-&gt;string();
+            }
+            
+            return loadPolicy;
+        }
+#endif // ENABLE(NETSCAPE_PLUGIN_API)
+
+#if ENABLE(WEBGL)
+        virtual WebCore::WebGLLoadPolicy webGLLoadPolicy(WebPageProxy* page, const String&amp; url) const override
+        {
+            WebCore::WebGLLoadPolicy loadPolicy = WebGLAllow;
+
+            if (m_client.webGLLoadPolicy)
+                loadPolicy = toWebGLLoadPolicy(m_client.webGLLoadPolicy(toAPI(page), toAPI(url.impl()), m_client.base.clientInfo));
+
+            return loadPolicy;
+        }
+#endif // ENABLE(WEBGL)
+    };
+
</ins><span class="cx">     WebPageProxy* webPageProxy = toImpl(pageRef);
</span><span class="cx"> 
</span><del>-    auto loaderClient = std::make_unique&lt;WebLoaderClient&gt;(wkClient);
</del><ins>+    auto loaderClient = std::make_unique&lt;LoaderClient&gt;(wkClient);
</ins><span class="cx"> 
</span><span class="cx">     // It would be nice to get rid of this code and transition all clients to using didLayout instead of
</span><span class="cx">     // didFirstLayoutInFrame and didFirstVisuallyNonEmptyLayoutInFrame. In the meantime, this is required
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx"> #import &quot;WebCertificateInfo.h&quot;
</span><span class="cx"> #import &quot;WebContext.h&quot;
</span><span class="cx"> #import &quot;WebPageProxy.h&quot;
</span><ins>+#import &lt;wtf/NeverDestroyed.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> using namespace WebKit;
</span><span class="lines">@@ -149,10 +150,18 @@
</span><span class="cx">     RetainPtr&lt;WKRemoteObjectRegistry&gt; _remoteObjectRegistry;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static HashMap&lt;WebPageProxy*, WKBrowsingContextController *&gt;&amp; browsingContextControllerMap()
+{
+    static NeverDestroyed&lt;HashMap&lt;WebPageProxy*, WKBrowsingContextController *&gt;&gt; browsingContextControllerMap;
+    return browsingContextControllerMap;
+}
+
</ins><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><ins>+    ASSERT(browsingContextControllerMap().get(_page.get()) == self);
+    browsingContextControllerMap().remove(_page.get());
+
</ins><span class="cx">     _page-&gt;pageLoadState().removeObserver(*_pageLoadStateObserver);
</span><del>-    _page-&gt;~WebPageProxy();
</del><span class="cx"> 
</span><span class="cx">     [_remoteObjectRegistry _invalidate];
</span><span class="cx"> 
</span><span class="lines">@@ -728,7 +737,7 @@
</span><span class="cx">     if (loadDelegate)
</span><span class="cx">         setUpPageLoaderClient(self, *_page);
</span><span class="cx">     else
</span><del>-        _page-&gt;setLoaderClient(nullptr);
</del><ins>+        WKPageSetPageLoaderClient(toAPI(_page.get()), nullptr);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id &lt;WKBrowsingContextPolicyDelegate&gt;)policyDelegate
</span><span class="lines">@@ -785,13 +794,7 @@
</span><span class="cx">     return YES;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#pragma mark WKObject protocol implementation
</del><span class="cx"> 
</span><del>-- (API::Object&amp;)_apiObject
-{
-    return *reinterpret_cast&lt;API::Object*&gt;(&amp;_page);
-}
-
</del><span class="cx"> - (instancetype)_initWithPageRef:(WKPageRef)pageRef
</span><span class="cx"> {
</span><span class="cx">     if (!(self = [super init]))
</span><span class="lines">@@ -802,12 +805,15 @@
</span><span class="cx">     _pageLoadStateObserver = std::make_unique&lt;PageLoadStateObserver&gt;(self);
</span><span class="cx">     _page-&gt;pageLoadState().addObserver(*_pageLoadStateObserver);
</span><span class="cx"> 
</span><ins>+    ASSERT(!browsingContextControllerMap().contains(_page.get()));
+    browsingContextControllerMap().set(_page.get(), self);
+
</ins><span class="cx">     return self;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> + (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef
</span><span class="cx"> {
</span><del>-    return (WKBrowsingContextController *)static_cast&lt;const WebLoaderClient*&gt;(WebKit::toImpl(pageRef)-&gt;loaderClient())-&gt;client().base.clientInfo;
</del><ins>+    return browsingContextControllerMap().get(toImpl(pageRef));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerInternalh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,11 +27,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><del>-#import &quot;WKObject.h&quot;
</del><span class="cx"> #import &quot;WeakObjCPtr.h&quot;
</span><span class="cx"> #import &quot;WebPageProxy.h&quot;
</span><span class="cx"> 
</span><del>-@interface WKBrowsingContextController () &lt;WKObject&gt; {
</del><ins>+@interface WKBrowsingContextController () {
</ins><span class="cx"> @package
</span><span class="cx">     WebKit::WeakObjCPtr&lt;id &lt;WKBrowsingContextHistoryDelegate&gt;&gt; _historyDelegate;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitPrivate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,7 +27,6 @@
</span><span class="cx"> #define WebKitPrivate_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;WebKit2/WKAPICast.h&gt;
</span><del>-#include &lt;WebKit2/WKContextSoup.h&gt;
</del><span class="cx"> #include &lt;WebKit2/WKDownload.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WKFindOptions.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WKFullScreenClientGtk.h&gt;
</span><span class="lines">@@ -39,7 +38,7 @@
</span><span class="cx"> #include &lt;WebKit2/WKInspectorClientGtk.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WKRetainPtr.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WKSerializedScriptValue.h&gt;
</span><del>-#include &lt;WebKit2/WKSoupRequestManager.h&gt;
</del><ins>+#include &lt;WebKit2/WKSoupCustomProtocolRequestManager.h&gt;
</ins><span class="cx"> #include &lt;WebKit2/WKString.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WKTextChecker.h&gt;
</span><span class="cx"> #include &lt;WebKit2/WebKit2_C.h&gt;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitRequestManagerClientcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitRequestManagerClient.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitRequestManagerClient.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitRequestManagerClient.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -20,34 +20,30 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebKitRequestManagerClient.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;WebKitURISchemeRequestPrivate.h&quot;
</del><span class="cx"> #include &quot;WebKitWebContextPrivate.h&quot;
</span><del>-#include &lt;wtf/gobject/GRefPtr.h&gt;
</del><span class="cx"> 
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><del>-static void didReceiveURIRequest(WKSoupRequestManagerRef soupRequestManagerRef, WKURLRef urlRef, WKPageRef initiatingPageRef, uint64_t requestID, const void* clientInfo)
</del><ins>+static void startLoading(WKSoupCustomProtocolRequestManagerRef soupRequestManagerRef, uint64_t customProtocolID, WKURLRequestRef requestRef, const void* clientInfo)
</ins><span class="cx"> {
</span><del>-    WebKitWebContext* webContext = WEBKIT_WEB_CONTEXT(clientInfo);
-    GRefPtr&lt;WebKitURISchemeRequest&gt; request = adoptGRef(webkitURISchemeRequestCreate(webContext, toImpl(soupRequestManagerRef), toImpl(urlRef), toImpl(initiatingPageRef), requestID));
-    webkitWebContextReceivedURIRequest(webContext, request.get());
</del><ins>+    webkitWebContextStartLoadingCustomProtocol(WEBKIT_WEB_CONTEXT(clientInfo), customProtocolID, toImpl(requestRef));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void didFailToLoadURIRequest(WKSoupRequestManagerRef, uint64_t requestID, const void* clientInfo)
</del><ins>+static void stopLoading(WKSoupCustomProtocolRequestManagerRef, uint64_t customProtocolID, const void* clientInfo)
</ins><span class="cx"> {
</span><del>-    webkitWebContextDidFailToLoadURIRequest(WEBKIT_WEB_CONTEXT(clientInfo), requestID);
</del><ins>+    webkitWebContextStopLoadingCustomProtocol(WEBKIT_WEB_CONTEXT(clientInfo), customProtocolID);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void attachRequestManagerClientToContext(WebKitWebContext* webContext)
</span><span class="cx"> {
</span><del>-    WKSoupRequestManagerClientV0 wkRequestManagerClient = {
</del><ins>+    WKSoupCustomProtocolRequestManagerClientV0 wkRequestManagerClient = {
</ins><span class="cx">         {
</span><span class="cx">             0, // version
</span><span class="cx">             webContext // clientInfo
</span><span class="cx">         },
</span><del>-        didReceiveURIRequest,
-        didFailToLoadURIRequest
</del><ins>+        startLoading,
+        stopLoading
</ins><span class="cx">     };
</span><del>-    WKSoupRequestManagerSetClient(toAPI(webkitWebContextGetRequestManager(webContext)), &amp;wkRequestManagerClient.base);
</del><ins>+    WKSoupCustomProtocolRequestManagerSetClient(toAPI(webkitWebContextGetRequestManager(webContext)), &amp;wkRequestManagerClient.base);
</ins><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitURISchemeRequestcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequest.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> #include &quot;WebKitWebContextPrivate.h&quot;
</span><span class="cx"> #include &quot;WebKitWebView.h&quot;
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><del>-#include &quot;WebSoupRequestManagerProxy.h&quot;
</del><span class="cx"> #include &lt;WebCore/GUniquePtrSoup.h&gt;
</span><span class="cx"> #include &lt;WebCore/ResourceError.h&gt;
</span><span class="cx"> #include &lt;libsoup/soup.h&gt;
</span><span class="lines">@@ -55,7 +54,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct _WebKitURISchemeRequestPrivate {
</span><span class="cx">     WebKitWebContext* webContext;
</span><del>-    RefPtr&lt;WebSoupRequestManagerProxy&gt; webRequestManager;
</del><ins>+    RefPtr&lt;WebSoupCustomProtocolRequestManager&gt; webRequestManager;
</ins><span class="cx">     RefPtr&lt;WebPageProxy&gt; initiatingPage;
</span><span class="cx">     uint64_t requestID;
</span><span class="cx">     CString uri;
</span><span class="lines">@@ -75,22 +74,17 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext* webContext, WebSoupRequestManagerProxy* webRequestManager, API::URL* webURL, WebPageProxy* initiatingPage, uint64_t requestID)
</del><ins>+WebKitURISchemeRequest* webkitURISchemeRequestCreate(uint64_t requestID, WebKitWebContext* webContext, API::URLRequest* urlRequest, WebPageProxy* initiatingPage)
</ins><span class="cx"> {
</span><span class="cx">     WebKitURISchemeRequest* request = WEBKIT_URI_SCHEME_REQUEST(g_object_new(WEBKIT_TYPE_URI_SCHEME_REQUEST, NULL));
</span><span class="cx">     request-&gt;priv-&gt;webContext = webContext;
</span><del>-    request-&gt;priv-&gt;webRequestManager = webRequestManager;
-    request-&gt;priv-&gt;uri = webURL-&gt;string().utf8();
</del><ins>+    request-&gt;priv-&gt;webRequestManager = webkitWebContextGetRequestManager(webContext);
+    request-&gt;priv-&gt;uri = urlRequest-&gt;resourceRequest().url().string().utf8();
</ins><span class="cx">     request-&gt;priv-&gt;initiatingPage = initiatingPage;
</span><span class="cx">     request-&gt;priv-&gt;requestID = requestID;
</span><span class="cx">     return request;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-uint64_t webkitURISchemeRequestGetID(WebKitURISchemeRequest* request)
-{
-    return request-&gt;priv-&gt;requestID;
-}
-
</del><span class="cx"> void webkitURISchemeRequestCancel(WebKitURISchemeRequest* request)
</span><span class="cx"> {
</span><span class="cx">     if (request-&gt;priv-&gt;cancellable.get())
</span><span class="lines">@@ -158,7 +152,8 @@
</span><span class="cx"> {
</span><span class="cx">     g_return_val_if_fail(WEBKIT_IS_URI_SCHEME_REQUEST(request), 0);
</span><span class="cx"> 
</span><del>-    return WEBKIT_WEB_VIEW(request-&gt;priv-&gt;initiatingPage-&gt;viewWidget());
</del><ins>+    // FIXME: initiatingPage is now always null, we need to re-implement this somehow.
+    return request-&gt;priv-&gt;initiatingPage ? WEBKIT_WEB_VIEW(request-&gt;priv-&gt;initiatingPage-&gt;viewWidget()) : nullptr;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void webkitURISchemeRequestReadCallback(GInputStream* inputStream, GAsyncResult* result, WebKitURISchemeRequest* schemeRequest)
</span><span class="lines">@@ -174,21 +169,25 @@
</span><span class="cx">     WebKitURISchemeRequestPrivate* priv = request-&gt;priv;
</span><span class="cx">     RefPtr&lt;API::Data&gt; webData = API::Data::create(reinterpret_cast&lt;const unsigned char*&gt;(priv-&gt;readBuffer), bytesRead);
</span><span class="cx">     if (!priv-&gt;bytesRead) {
</span><del>-        // First chunk read. In case of empty reply an empty API::Data is sent to the WebProcess.
-        priv-&gt;webRequestManager-&gt;didHandleURIRequest(webData.get(), priv-&gt;streamLength, String::fromUTF8(priv-&gt;mimeType.data()), priv-&gt;requestID);
</del><ins>+        // First chunk read. In case of empty reply an empty API::Data is sent to the networking process.
+        WebCore::ResourceResponse response(WebCore::URL(WebCore::URL(), String::fromUTF8(priv-&gt;uri)), String::fromUTF8(priv-&gt;mimeType.data()),
+            priv-&gt;streamLength, emptyString(), emptyString());
+        priv-&gt;webRequestManager-&gt;didReceiveResponse(priv-&gt;requestID, response);
+        priv-&gt;webRequestManager-&gt;didLoadData(priv-&gt;requestID, webData.get());
</ins><span class="cx">     } else if (bytesRead || (!bytesRead &amp;&amp; !priv-&gt;streamLength)) {
</span><del>-        // Subsequent chunk read. We only send an empty API::Data to the WebProcess when stream length is unknown.
-        priv-&gt;webRequestManager-&gt;didReceiveURIRequestData(webData.get(), priv-&gt;requestID);
</del><ins>+        // Subsequent chunk read. We only send an empty API::Data to the networking process when stream length is unknown.
+        priv-&gt;webRequestManager-&gt;didLoadData(priv-&gt;requestID, webData.get());
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!bytesRead) {
</span><del>-        webkitWebContextDidFinishURIRequest(request-&gt;priv-&gt;webContext, request-&gt;priv-&gt;requestID);
</del><ins>+        priv-&gt;webRequestManager-&gt;didFinishLoading(request-&gt;priv-&gt;requestID);
+        webkitWebContextDidFinishLoadingCustomProtocol(request-&gt;priv-&gt;webContext, request-&gt;priv-&gt;requestID);
</ins><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     priv-&gt;bytesRead += bytesRead;
</span><span class="cx">     g_input_stream_read_async(inputStream, priv-&gt;readBuffer, gReadBufferSize, G_PRIORITY_DEFAULT, priv-&gt;cancellable.get(),
</span><del>-                              reinterpret_cast&lt;GAsyncReadyCallback&gt;(webkitURISchemeRequestReadCallback), g_object_ref(request.get()));
</del><ins>+        reinterpret_cast&lt;GAsyncReadyCallback&gt;(webkitURISchemeRequestReadCallback), g_object_ref(request.get()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -213,7 +212,7 @@
</span><span class="cx">     request-&gt;priv-&gt;bytesRead = 0;
</span><span class="cx">     request-&gt;priv-&gt;mimeType = mimeType;
</span><span class="cx">     g_input_stream_read_async(inputStream, request-&gt;priv-&gt;readBuffer, gReadBufferSize, G_PRIORITY_DEFAULT, request-&gt;priv-&gt;cancellable.get(),
</span><del>-                              reinterpret_cast&lt;GAsyncReadyCallback&gt;(webkitURISchemeRequestReadCallback), g_object_ref(request));
</del><ins>+        reinterpret_cast&lt;GAsyncReadyCallback&gt;(webkitURISchemeRequestReadCallback), g_object_ref(request));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -233,7 +232,6 @@
</span><span class="cx">     WebKitURISchemeRequestPrivate* priv = request-&gt;priv;
</span><span class="cx"> 
</span><span class="cx">     WebCore::ResourceError resourceError(g_quark_to_string(error-&gt;domain), error-&gt;code, priv-&gt;uri.data(), String::fromUTF8(error-&gt;message));
</span><del>-    priv-&gt;webRequestManager-&gt;didFailURIRequest(resourceError, priv-&gt;requestID);
-
-    webkitWebContextDidFinishURIRequest(priv-&gt;webContext, priv-&gt;requestID);
</del><ins>+    priv-&gt;webRequestManager-&gt;didFailWithError(priv-&gt;requestID, resourceError);
+    webkitWebContextDidFinishLoadingCustomProtocol(priv-&gt;webContext, priv-&gt;requestID);
</ins><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitURISchemeRequestPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,8 +24,7 @@
</span><span class="cx"> #include &quot;WebKitURISchemeRequest.h&quot;
</span><span class="cx"> #include &quot;WebKitWebContext.h&quot;
</span><span class="cx"> 
</span><del>-WebKitURISchemeRequest* webkitURISchemeRequestCreate(WebKitWebContext*, WebKit::WebSoupRequestManagerProxy*, API::URL*, WebKit::WebPageProxy*, uint64_t requestID);
-uint64_t webkitURISchemeRequestGetID(WebKitURISchemeRequest*);
</del><ins>+WebKitURISchemeRequest* webkitURISchemeRequestCreate(uint64_t requestID, WebKitWebContext*, API::URLRequest*, WebKit::WebPageProxy*);
</ins><span class="cx"> void webkitURISchemeRequestCancel(WebKitURISchemeRequest*);
</span><span class="cx"> 
</span><span class="cx"> #endif // WebKitURISchemeRequestPrivate_h
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebContextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContext.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -137,7 +137,7 @@
</span><span class="cx">     GRefPtr&lt;WebKitCookieManager&gt; cookieManager;
</span><span class="cx">     GRefPtr&lt;WebKitFaviconDatabase&gt; faviconDatabase;
</span><span class="cx">     GRefPtr&lt;WebKitSecurityManager&gt; securityManager;
</span><del>-    RefPtr&lt;WebSoupRequestManagerProxy&gt; requestManager;
</del><ins>+    RefPtr&lt;WebSoupCustomProtocolRequestManager&gt; requestManager;
</ins><span class="cx">     URISchemeHandlerMap uriSchemeHandlers;
</span><span class="cx">     URISchemeRequestMap uriSchemeRequests;
</span><span class="cx"> #if ENABLE(GEOLOCATION)
</span><span class="lines">@@ -226,7 +226,7 @@
</span><span class="cx">     WebKitWebContextPrivate* priv = webContext-&gt;priv;
</span><span class="cx"> 
</span><span class="cx">     priv-&gt;context = WebContext::create(WebCore::filenameToString(injectedBundleFilename().data()));
</span><del>-    priv-&gt;requestManager = webContext-&gt;priv-&gt;context-&gt;supplement&lt;WebSoupRequestManagerProxy&gt;();
</del><ins>+    priv-&gt;requestManager = webContext-&gt;priv-&gt;context-&gt;supplement&lt;WebSoupCustomProtocolRequestManager&gt;();
</ins><span class="cx">     priv-&gt;context-&gt;setCacheModel(CacheModelPrimaryWebBrowser);
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="cx">     // FIXME: Temporary use an env var until we have API to set the process model. See https://bugs.webkit.org/show_bug.cgi?id=125463.
</span><span class="lines">@@ -642,7 +642,7 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;WebKitURISchemeHandler&gt; handler = adoptRef(new WebKitURISchemeHandler(callback, userData, destroyNotify));
</span><span class="cx">     context-&gt;priv-&gt;uriSchemeHandlers.set(String::fromUTF8(scheme), handler.get());
</span><del>-    context-&gt;priv-&gt;requestManager-&gt;registerURIScheme(String::fromUTF8(scheme));
</del><ins>+    context-&gt;priv-&gt;requestManager-&gt;registerSchemeForCustomProtocol(String::fromUTF8(scheme));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> /**
</span><span class="lines">@@ -933,34 +933,36 @@
</span><span class="cx">     return context-&gt;priv-&gt;context.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-WebSoupRequestManagerProxy* webkitWebContextGetRequestManager(WebKitWebContext* context)
</del><ins>+WebSoupCustomProtocolRequestManager* webkitWebContextGetRequestManager(WebKitWebContext* context)
</ins><span class="cx"> {
</span><span class="cx">     return context-&gt;priv-&gt;requestManager.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkitWebContextReceivedURIRequest(WebKitWebContext* context, WebKitURISchemeRequest* request)
</del><ins>+void webkitWebContextStartLoadingCustomProtocol(WebKitWebContext* context, uint64_t customProtocolID, API::URLRequest* urlRequest)
</ins><span class="cx"> {
</span><del>-    String scheme(String::fromUTF8(webkit_uri_scheme_request_get_scheme(request)));
</del><ins>+    // FIXME: We need to figure out how to get the initiating page.
+    GRefPtr&lt;WebKitURISchemeRequest&gt; request = adoptGRef(webkitURISchemeRequestCreate(customProtocolID, context, urlRequest, nullptr));
+    String scheme(String::fromUTF8(webkit_uri_scheme_request_get_scheme(request.get())));
</ins><span class="cx">     RefPtr&lt;WebKitURISchemeHandler&gt; handler = context-&gt;priv-&gt;uriSchemeHandlers.get(scheme);
</span><span class="cx">     ASSERT(handler.get());
</span><span class="cx">     if (!handler-&gt;hasCallback())
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    context-&gt;priv-&gt;uriSchemeRequests.set(webkitURISchemeRequestGetID(request), request);
-    handler-&gt;performCallback(request);
</del><ins>+    context-&gt;priv-&gt;uriSchemeRequests.set(customProtocolID, request.get());
+    handler-&gt;performCallback(request.get());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkitWebContextDidFailToLoadURIRequest(WebKitWebContext* context, uint64_t requestID)
</del><ins>+void webkitWebContextStopLoadingCustomProtocol(WebKitWebContext* context, uint64_t customProtocolID)
</ins><span class="cx"> {
</span><del>-    GRefPtr&lt;WebKitURISchemeRequest&gt; request = context-&gt;priv-&gt;uriSchemeRequests.get(requestID);
</del><ins>+    GRefPtr&lt;WebKitURISchemeRequest&gt; request = context-&gt;priv-&gt;uriSchemeRequests.get(customProtocolID);
</ins><span class="cx">     if (!request.get())
</span><span class="cx">         return;
</span><span class="cx">     webkitURISchemeRequestCancel(request.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void webkitWebContextDidFinishURIRequest(WebKitWebContext* context, uint64_t requestID)
</del><ins>+void webkitWebContextDidFinishLoadingCustomProtocol(WebKitWebContext* context, uint64_t customProtocolID)
</ins><span class="cx"> {
</span><del>-    context-&gt;priv-&gt;uriSchemeRequests.remove(requestID);
</del><ins>+    context-&gt;priv-&gt;uriSchemeRequests.remove(customProtocolID);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void webkitWebContextCreatePageForWebView(WebKitWebContext* context, WebKitWebView* webView, WebKitWebViewGroup* webViewGroup)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebContextPrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebContextPrivate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,20 +29,19 @@
</span><span class="cx"> #include &quot;DownloadProxy.h&quot;
</span><span class="cx"> #include &quot;WebContext.h&quot;
</span><span class="cx"> #include &quot;WebKitPrivate.h&quot;
</span><del>-#include &quot;WebKitURISchemeRequest.h&quot;
</del><span class="cx"> #include &quot;WebKitWebContext.h&quot;
</span><span class="cx"> #include &quot;WebKitWebViewGroup.h&quot;
</span><del>-#include &quot;WebSoupRequestManagerProxy.h&quot;
</del><ins>+#include &quot;WebSoupCustomProtocolRequestManager.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> WebKit::WebContext* webkitWebContextGetContext(WebKitWebContext*);
</span><span class="cx"> WebKitDownload* webkitWebContextGetOrCreateDownload(WebKit::DownloadProxy*);
</span><span class="cx"> WebKitDownload* webkitWebContextStartDownload(WebKitWebContext*, const char* uri, WebKit::WebPageProxy*);
</span><span class="cx"> void webkitWebContextRemoveDownload(WebKit::DownloadProxy*);
</span><span class="cx"> void webkitWebContextDownloadStarted(WebKitWebContext*, WebKitDownload*);
</span><del>-WebKit::WebSoupRequestManagerProxy* webkitWebContextGetRequestManager(WebKitWebContext*);
-void webkitWebContextReceivedURIRequest(WebKitWebContext*, WebKitURISchemeRequest*);
-void webkitWebContextDidFailToLoadURIRequest(WebKitWebContext*, uint64_t requestID);
-void webkitWebContextDidFinishURIRequest(WebKitWebContext*, uint64_t requestID);
</del><ins>+WebKit::WebSoupCustomProtocolRequestManager* webkitWebContextGetRequestManager(WebKitWebContext*);
+void webkitWebContextStartLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID, API::URLRequest*);
+void webkitWebContextStopLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
+void webkitWebContextDidFinishLoadingCustomProtocol(WebKitWebContext*, uint64_t customProtocolID);
</ins><span class="cx"> void webkitWebContextCreatePageForWebView(WebKitWebContext*, WebKitWebView*, WebKitWebViewGroup*);
</span><span class="cx"> void webkitWebContextWebViewDestroyed(WebKitWebContext*, WebKitWebView*);
</span><span class="cx"> WebKitWebView* webkitWebContextGetWebViewForPage(WebKitWebContext*, WebKit::WebPageProxy*);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebViewBasecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -616,7 +616,7 @@
</span><span class="cx">         case GDK_KEY_Escape:
</span><span class="cx">         case GDK_KEY_f:
</span><span class="cx">         case GDK_KEY_F:
</span><del>-            webkitWebViewBaseExitFullScreen(webViewBase);
</del><ins>+            webkitWebViewBaseRequestExitFullScreen(webViewBase);
</ins><span class="cx">             return TRUE;
</span><span class="cx">         default:
</span><span class="cx">             break;
</span><span class="lines">@@ -1062,6 +1062,13 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void webkitWebViewBaseRequestExitFullScreen(WebKitWebViewBase* webkitWebViewBase)
+{
+#if ENABLE(FULLSCREEN_API)
+    webkitWebViewBase-&gt;priv-&gt;pageProxy-&gt;fullScreenManager()-&gt;requestExitFullScreen();
+#endif
+}
+
</ins><span class="cx"> void webkitWebViewBaseInitializeFullScreenClient(WebKitWebViewBase* webkitWebViewBase, const WKFullScreenClientGtkBase* wkClient)
</span><span class="cx"> {
</span><span class="cx">     webkitWebViewBase-&gt;priv-&gt;fullScreenClient.initialize(wkClient);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIgtkWebKitWebViewBasePrivateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -45,6 +45,7 @@
</span><span class="cx"> void webkitWebViewBaseChildMoveResize(WebKitWebViewBase*, GtkWidget*, const WebCore::IntRect&amp;);
</span><span class="cx"> void webkitWebViewBaseEnterFullScreen(WebKitWebViewBase*);
</span><span class="cx"> void webkitWebViewBaseExitFullScreen(WebKitWebViewBase*);
</span><ins>+void webkitWebViewBaseRequestExitFullScreen(WebKitWebViewBase*);
</ins><span class="cx"> void webkitWebViewBaseInitializeFullScreenClient(WebKitWebViewBase*, const WKFullScreenClientGtkBase*);
</span><span class="cx"> void webkitWebViewBaseSetInspectorViewSize(WebKitWebViewBase*, unsigned size);
</span><span class="cx"> void webkitWebViewBaseSetActiveContextMenuProxy(WebKitWebViewBase*, WebKit::WebContextMenuProxyGtk*);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -96,6 +96,8 @@
</span><span class="cx">     virtual void setAcceleratedCompositingRootLayer(CALayer *rootLayer) override;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+    virtual RetainPtr&lt;CGImageRef&gt; takeViewSnapshot() override;
+
</ins><span class="cx">     virtual void mainDocumentDidReceiveMobileDocType() override;
</span><span class="cx"> 
</span><span class="cx">     virtual void didGetTapHighlightGeometries(uint64_t requestID, const WebCore::Color&amp; color, const Vector&lt;WebCore::FloatQuad&gt;&amp; highlightedQuads, const WebCore::IntSize&amp; topLeftRadius, const WebCore::IntSize&amp; topRightRadius, const WebCore::IntSize&amp; bottomLeftRadius, const WebCore::IntSize&amp; bottomRightRadius) override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosPageClientImplIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/PageClientImplIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -316,6 +316,12 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+RetainPtr&lt;CGImageRef&gt; PageClientImpl::takeViewSnapshot()
+{
+    notImplemented();
+    return nullptr;
+}
+
</ins><span class="cx"> void PageClientImpl::mainDocumentDidReceiveMobileDocType()
</span><span class="cx"> {
</span><span class="cx">     [m_view _didReceiveMobileDocTypeForMainFrame];
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessAPIiosWKContentViewmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/API/ios/WKContentView.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,7 @@
</span><span class="cx"> #import &quot;InteractionInformationAtPosition.h&quot;
</span><span class="cx"> #import &quot;PageClientImplIOS.h&quot;
</span><span class="cx"> #import &quot;RemoteLayerTreeDrawingAreaProxy.h&quot;
</span><ins>+#import &quot;RemoteScrollingCoordinatorProxy.h&quot;
</ins><span class="cx"> #import &quot;WebKit2Initialize.h&quot;
</span><span class="cx"> #import &quot;WKBrowsingContextControllerInternal.h&quot;
</span><span class="cx"> #import &quot;WKBrowsingContextGroupPrivate.h&quot;
</span><span class="lines">@@ -150,6 +151,13 @@
</span><span class="cx">     _page-&gt;drawingArea()-&gt;setSize(IntSize(size), IntSize(), IntSize());
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (FloatRect)fixedPositionRectFromExposedRect:(FloatRect)exposedRect scale:(float)scale
+{
+    // FIXME: This should modify the rect based on the scale.
+    UNUSED_PARAM(scale);
+    return exposedRect;
+}
+
</ins><span class="cx"> - (void)_updateViewExposedRect
</span><span class="cx"> {
</span><span class="cx">     FloatPoint exposedRectPosition = _currentExposedRectPosition;
</span><span class="lines">@@ -159,6 +167,15 @@
</span><span class="cx">         drawingArea-&gt;setExposedRect(FloatRect(exposedRectPosition, _page-&gt;drawingArea()-&gt;size()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (void)_updateFixedPositionRect
+{
+    FloatRect exposedRect(_currentExposedRectPosition, _page-&gt;drawingArea()-&gt;size());
+    FloatRect fixedPosRect = [self fixedPositionRectFromExposedRect:exposedRect scale:_page-&gt;pageScaleFactor()];
+
+    if (auto drawingArea = _page-&gt;drawingArea())
+        drawingArea-&gt;setCustomFixedPositionRect(fixedPosRect);
+}
+
</ins><span class="cx"> - (void)setViewportSize:(CGSize)size
</span><span class="cx"> {
</span><span class="cx">     _page-&gt;setFixedLayoutSize(IntSize(size));
</span><span class="lines">@@ -170,18 +187,22 @@
</span><span class="cx">     _currentExposedRectPosition = contentOffset;
</span><span class="cx">     _page-&gt;didFinishScrolling(contentOffset);
</span><span class="cx">     [self _updateViewExposedRect];
</span><ins>+    [self _updateFixedPositionRect];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)didScrollTo:(CGPoint)contentOffset
</span><span class="cx"> {
</span><span class="cx">     _currentExposedRectPosition = contentOffset;
</span><span class="cx">     [self _updateViewExposedRect];
</span><ins>+
+    _page-&gt;scrollingCoordinatorProxy()-&gt;scrollPositionChangedViaDelegatedScrolling(_page-&gt;scrollingCoordinatorProxy()-&gt;rootScrollingNodeID(), roundedIntPoint(contentOffset));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)didZoomToScale:(CGFloat)scale
</span><span class="cx"> {
</span><span class="cx">     _page-&gt;didFinishZooming(scale);
</span><span class="cx">     [self _updateViewExposedRect];
</span><ins>+    [self _updateFixedPositionRect];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #pragma mark Internal
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessDrawingAreaProxycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -85,6 +85,14 @@
</span><span class="cx">     m_webPageProxy-&gt;process().send(Messages::DrawingArea::SetExposedRect(m_exposedRect), m_webPageProxy-&gt;pageID());
</span><span class="cx">     m_lastSentExposedRect = m_exposedRect;
</span><span class="cx"> }
</span><ins>+
+void DrawingAreaProxy::setCustomFixedPositionRect(const FloatRect&amp; fixedPositionRect)
+{
+    if (!m_webPageProxy-&gt;isValid())
+        return;
+
+    m_webPageProxy-&gt;process().send(Messages::DrawingArea::SetCustomFixedPositionRect(fixedPositionRect), m_webPageProxy-&gt;pageID());
+}
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessDrawingAreaProxyh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/DrawingAreaProxy.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -77,6 +77,8 @@
</span><span class="cx">     void setExposedRect(const WebCore::FloatRect&amp;);
</span><span class="cx">     WebCore::FloatRect exposedRect() const { return m_exposedRect; }
</span><span class="cx">     void exposedRectChangedTimerFired(WebCore::Timer&lt;DrawingAreaProxy&gt;*);
</span><ins>+    
+    void setCustomFixedPositionRect(const WebCore::FloatRect&amp;);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> protected:
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -39,6 +39,7 @@
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><span class="cx"> #include &quot;WebProcessProxy.h&quot;
</span><span class="cx"> #include &lt;WebCore/ScrollingStateTree.h&gt;
</span><ins>+#include &lt;WebCore/ScrollingTreeScrollingNode.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> using namespace WebCore;
</span><span class="cx"> 
</span><span class="lines">@@ -54,6 +55,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+WebCore::ScrollingNodeID RemoteScrollingCoordinatorProxy::rootScrollingNodeID() const
+{
+    return m_scrollingTree-&gt;rootNode()-&gt;scrollingNodeID();
+}
+
</ins><span class="cx"> const RemoteLayerTreeHost* RemoteScrollingCoordinatorProxy::layerTreeHost() const
</span><span class="cx"> {
</span><span class="cx">     DrawingAreaProxy* drawingArea = m_webPageProxy.drawingArea();
</span><span class="lines">@@ -120,6 +126,11 @@
</span><span class="cx">     return result == ScrollingTree::DidHandleEvent; // FIXME: handle other values.
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RemoteScrollingCoordinatorProxy::scrollPositionChangedViaDelegatedScrolling(ScrollingNodeID nodeID, const IntPoint&amp; offset)
+{
+    m_scrollingTree-&gt;scrollPositionChangedViaDelegatedScrolling(nodeID, offset);
+}
+
</ins><span class="cx"> void RemoteScrollingCoordinatorProxy::scrollPositionChanged(WebCore::ScrollingNodeID scrolledNodeID, const WebCore::FloatPoint&amp; newScrollPosition)
</span><span class="cx"> {
</span><span class="cx">     m_webPageProxy.send(Messages::RemoteScrollingCoordinator::ScrollPositionChangedForNode(scrolledNodeID, newScrollPosition));
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingCoordinatorProxyh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,9 +51,12 @@
</span><span class="cx">     explicit RemoteScrollingCoordinatorProxy(WebPageProxy&amp;);
</span><span class="cx">     virtual ~RemoteScrollingCoordinatorProxy();
</span><span class="cx">     
</span><del>-    // Inform the web process that the scroll position changed.
</del><ins>+    // Inform the web process that the scroll position changed (called from the scrolling tree)
</ins><span class="cx">     void scrollPositionChanged(WebCore::ScrollingNodeID, const WebCore::FloatPoint&amp; newScrollPosition);
</span><span class="cx"> 
</span><ins>+    // Called externally when native views move around.
+    void scrollPositionChangedViaDelegatedScrolling(WebCore::ScrollingNodeID, const WebCore::IntPoint&amp;);
+
</ins><span class="cx">     // FIXME: expose the tree and pass this to that?
</span><span class="cx">     bool handleWheelEvent(const WebCore::PlatformWheelEvent&amp;);
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -69,17 +69,16 @@
</span><span class="cx">     return DidHandleEvent;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> void RemoteScrollingTree::handleWheelEventPhase(PlatformWheelEventPhase phase)
</span><span class="cx"> {
</span><span class="cx">     // FIXME: hand off to m_scrollingCoordinatorProxy?
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-void RemoteScrollingTree::updateMainFrameScrollPosition(const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition)
</del><ins>+void RemoteScrollingTree::scrollingTreeNodeDidScroll(ScrollingNodeID nodeID, const IntPoint&amp; scrollPosition, SetOrSyncScrollingLayerPosition)
</ins><span class="cx"> {
</span><del>-    // FIXME: fix for all scrolling nodes.
-    m_scrollingCoordinatorProxy.scrollPositionChanged(rootNode()-&gt;scrollingNodeID(), scrollPosition);
</del><ins>+    m_scrollingCoordinatorProxy.scrollPositionChanged(nodeID, scrollPosition);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PassOwnPtr&lt;ScrollingTreeNode&gt; RemoteScrollingTree::createNode(ScrollingNodeType nodeType, ScrollingNodeID nodeID)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessScrollingRemoteScrollingTreeh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/Scrolling/RemoteScrollingTree.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -49,10 +49,10 @@
</span><span class="cx"> private:
</span><span class="cx">     explicit RemoteScrollingTree(RemoteScrollingCoordinatorProxy&amp;);
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     virtual void handleWheelEventPhase(WebCore::PlatformWheelEventPhase) override;
</span><span class="cx"> #endif
</span><del>-    virtual void updateMainFrameScrollPosition(const WebCore::IntPoint&amp; scrollPosition, WebCore::SetOrSyncScrollingLayerPosition = WebCore::SyncScrollingLayerPosition) override;
</del><ins>+    virtual void scrollingTreeNodeDidScroll(WebCore::ScrollingNodeID, const WebCore::IntPoint&amp; scrollPosition, WebCore::SetOrSyncScrollingLayerPosition = WebCore::SyncScrollingLayerPosition) override;
</ins><span class="cx"> 
</span><span class="cx">     virtual PassOwnPtr&lt;WebCore::ScrollingTreeNode&gt; createNode(WebCore::ScrollingNodeType, WebCore::ScrollingNodeID);
</span><span class="cx">     
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessStatisticsRequestcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/StatisticsRequest.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/StatisticsRequest.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/StatisticsRequest.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;MutableDictionary.h&quot;
</span><del>-#include &lt;wtf/Atomics.h&gt;
</del><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="lines">@@ -45,9 +44,9 @@
</span><span class="cx"> 
</span><span class="cx"> uint64_t StatisticsRequest::addOutstandingRequest()
</span><span class="cx"> {
</span><del>-    static int64_t uniqueRequestID;
</del><ins>+    static std::atomic&lt;int64_t&gt; uniqueRequestID;
</ins><span class="cx"> 
</span><del>-    uint64_t requestID = atomicIncrement(&amp;uniqueRequestID);
</del><ins>+    uint64_t requestID = ++uniqueRequestID;
</ins><span class="cx">     m_outstandingRequests.add(requestID);
</span><span class="cx">     return requestID;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,350 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;WebLoaderClient.h&quot;
-
-#include &quot;APIArray.h&quot;
-#include &quot;ImmutableDictionary.h&quot;
-#include &quot;PluginInformation.h&quot;
-#include &quot;WKAPICast.h&quot;
-#include &quot;WebBackForwardListItem.h&quot;
-#include &quot;WebPageProxy.h&quot;
-#include &lt;string.h&gt;
-
-using namespace WebCore;
-
-namespace WebKit {
-
-WebLoaderClient::WebLoaderClient(const WKPageLoaderClientBase* client)
-{
-    initialize(client);
-}
-
-void WebLoaderClient::didStartProvisionalLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didStartProvisionalLoadForFrame)
-        return;
-
-    m_client.didStartProvisionalLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didReceiveServerRedirectForProvisionalLoadForFrame)
-        return;
-
-    m_client.didReceiveServerRedirectForProvisionalLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFailProvisionalLoadWithErrorForFrame(WebPageProxy* page, WebFrameProxy* frame, const ResourceError&amp; error, API::Object* userData)
-{
-    if (!m_client.didFailProvisionalLoadWithErrorForFrame)
-        return;
-
-    m_client.didFailProvisionalLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didCommitLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didCommitLoadForFrame)
-        return;
-
-    m_client.didCommitLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFinishDocumentLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didFinishDocumentLoadForFrame)
-        return;
-
-    m_client.didFinishDocumentLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFinishLoadForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didFinishLoadForFrame)
-        return;
-
-    m_client.didFinishLoadForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFailLoadWithErrorForFrame(WebPageProxy* page, WebFrameProxy* frame, const ResourceError&amp; error, API::Object* userData)
-{
-    if (!m_client.didFailLoadWithErrorForFrame)
-        return;
-
-    m_client.didFailLoadWithErrorForFrame(toAPI(page), toAPI(frame), toAPI(error), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didSameDocumentNavigationForFrame(WebPageProxy* page, WebFrameProxy* frame, SameDocumentNavigationType type, API::Object* userData)
-{
-    if (!m_client.didSameDocumentNavigationForFrame)
-        return;
-
-    m_client.didSameDocumentNavigationForFrame(toAPI(page), toAPI(frame), toAPI(type), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didReceiveTitleForFrame(WebPageProxy* page, const String&amp; title, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didReceiveTitleForFrame)
-        return;
-
-    m_client.didReceiveTitleForFrame(toAPI(page), toAPI(title.impl()), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFirstLayoutForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didFirstLayoutForFrame)
-        return;
-
-    m_client.didFirstLayoutForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFirstVisuallyNonEmptyLayoutForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didFirstVisuallyNonEmptyLayoutForFrame)
-        return;
-
-    m_client.didFirstVisuallyNonEmptyLayoutForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didLayout(WebPageProxy* page, LayoutMilestones milestones, API::Object* userData)
-{
-    if (!m_client.didLayout)
-        return;
-
-    m_client.didLayout(toAPI(page), toWKLayoutMilestones(milestones), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didRemoveFrameFromHierarchy(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didRemoveFrameFromHierarchy)
-        return;
-
-    m_client.didRemoveFrameFromHierarchy(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didDisplayInsecureContentForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didDisplayInsecureContentForFrame)
-        return;
-
-    m_client.didDisplayInsecureContentForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didRunInsecureContentForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didRunInsecureContentForFrame)
-        return;
-
-    m_client.didRunInsecureContentForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didDetectXSSForFrame(WebPageProxy* page, WebFrameProxy* frame, API::Object* userData)
-{
-    if (!m_client.didDetectXSSForFrame)
-        return;
-
-    m_client.didDetectXSSForFrame(toAPI(page), toAPI(frame), toAPI(userData), m_client.base.clientInfo);
-}
-
-bool WebLoaderClient::canAuthenticateAgainstProtectionSpaceInFrame(WebPageProxy* page, WebFrameProxy* frame, WebProtectionSpace* protectionSpace)
-{
-    if (!m_client.canAuthenticateAgainstProtectionSpaceInFrame)
-        return false;
-
-    return m_client.canAuthenticateAgainstProtectionSpaceInFrame(toAPI(page), toAPI(frame), toAPI(protectionSpace), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didReceiveAuthenticationChallengeInFrame(WebPageProxy* page, WebFrameProxy* frame, AuthenticationChallengeProxy* authenticationChallenge)
-{
-    if (!m_client.didReceiveAuthenticationChallengeInFrame)
-        return;
-
-    m_client.didReceiveAuthenticationChallengeInFrame(toAPI(page), toAPI(frame), toAPI(authenticationChallenge), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didStartProgress(WebPageProxy* page)
-{
-    if (!m_client.didStartProgress)
-        return;
-
-    m_client.didStartProgress(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didChangeProgress(WebPageProxy* page)
-{
-    if (!m_client.didChangeProgress)
-        return;
-
-    m_client.didChangeProgress(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didFinishProgress(WebPageProxy* page)
-{
-    if (!m_client.didFinishProgress)
-        return;
-
-    m_client.didFinishProgress(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::processDidBecomeUnresponsive(WebPageProxy* page)
-{
-    if (!m_client.processDidBecomeUnresponsive)
-        return;
-
-    m_client.processDidBecomeUnresponsive(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::interactionOccurredWhileProcessUnresponsive(WebPageProxy* page)
-{
-    if (!m_client.interactionOccurredWhileProcessUnresponsive)
-        return;
-
-    m_client.interactionOccurredWhileProcessUnresponsive(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::processDidBecomeResponsive(WebPageProxy* page)
-{
-    if (!m_client.processDidBecomeResponsive)
-        return;
-
-    m_client.processDidBecomeResponsive(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::processDidCrash(WebPageProxy* page)
-{
-    if (!m_client.processDidCrash)
-        return;
-
-    m_client.processDidCrash(toAPI(page), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didChangeBackForwardList(WebPageProxy* page, WebBackForwardListItem* addedItem, Vector&lt;RefPtr&lt;API::Object&gt;&gt;* removedItems)
-{
-    if (!m_client.didChangeBackForwardList)
-        return;
-
-    RefPtr&lt;API::Array&gt; removedItemsArray;
-    if (removedItems &amp;&amp; !removedItems-&gt;isEmpty())
-        removedItemsArray = API::Array::create(std::move(*removedItems));
-
-    m_client.didChangeBackForwardList(toAPI(page), toAPI(addedItem), toAPI(removedItemsArray.get()), m_client.base.clientInfo);
-}
-
-void WebLoaderClient::willGoToBackForwardListItem(WebPageProxy* page, WebBackForwardListItem* item, API::Object* userData)
-{
-    if (m_client.willGoToBackForwardListItem)
-        m_client.willGoToBackForwardListItem(toAPI(page), toAPI(item), toAPI(userData), m_client.base.clientInfo);
-}
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-
-void WebLoaderClient::didFailToInitializePlugin(WebPageProxy* page, ImmutableDictionary* pluginInformation)
-{
-    if (m_client.didFailToInitializePlugin_deprecatedForUseWithV0)
-        m_client.didFailToInitializePlugin_deprecatedForUseWithV0(
-            toAPI(page),
-            toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())),
-            m_client.base.clientInfo);
-
-    if (m_client.pluginDidFail_deprecatedForUseWithV1)
-        m_client.pluginDidFail_deprecatedForUseWithV1(
-            toAPI(page),
-            kWKErrorCodeCannotLoadPlugIn,
-            toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())),
-            0,
-            0,
-            m_client.base.clientInfo);
-
-    if (m_client.pluginDidFail)
-        m_client.pluginDidFail(
-            toAPI(page),
-            kWKErrorCodeCannotLoadPlugIn,
-            toAPI(pluginInformation),
-            m_client.base.clientInfo);
-}
-
-void WebLoaderClient::didBlockInsecurePluginVersion(WebPageProxy* page, ImmutableDictionary* pluginInformation)
-{
-    if (m_client.pluginDidFail_deprecatedForUseWithV1)
-        m_client.pluginDidFail_deprecatedForUseWithV1(
-            toAPI(page),
-            kWKErrorCodeInsecurePlugInVersion,
-            toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())),
-            toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleIdentifierKey())),
-            toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleVersionKey())),
-            m_client.base.clientInfo);
-
-    if (m_client.pluginDidFail)
-        m_client.pluginDidFail(
-            toAPI(page),
-            kWKErrorCodeInsecurePlugInVersion,
-            toAPI(pluginInformation),
-            m_client.base.clientInfo);
-}
-
-PluginModuleLoadPolicy WebLoaderClient::pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String&amp; unavailabilityDescription, String&amp; useBlockedPluginTitle)
-{
-    WKStringRef unavailabilityDescriptionOut = 0;
-    WKStringRef useBlockedPluginTitleOut = 0;
-    PluginModuleLoadPolicy loadPolicy = currentPluginLoadPolicy;
-
-    if (m_client.pluginLoadPolicy_deprecatedForUseWithV2)
-        loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV2(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), m_client.base.clientInfo));
-    else if (m_client.pluginLoadPolicy_deprecatedForUseWithV3)
-        loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy_deprecatedForUseWithV3(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &amp;unavailabilityDescriptionOut, m_client.base.clientInfo));
-    else if (m_client.pluginLoadPolicy)
-        loadPolicy = toPluginModuleLoadPolicy(m_client.pluginLoadPolicy(toAPI(page), toWKPluginLoadPolicy(currentPluginLoadPolicy), toAPI(pluginInformation), &amp;unavailabilityDescriptionOut, &amp;useBlockedPluginTitleOut, m_client.base.clientInfo));
-
-    if (unavailabilityDescriptionOut) {
-        RefPtr&lt;API::String&gt; webUnavailabilityDescription = adoptRef(toImpl(unavailabilityDescriptionOut));
-        unavailabilityDescription = webUnavailabilityDescription-&gt;string();
-    }
-
-    if (useBlockedPluginTitleOut) {
-        RefPtr&lt;API::String&gt; webUseBlockedPluginTitle = adoptRef(toImpl(useBlockedPluginTitleOut));
-        useBlockedPluginTitle = webUseBlockedPluginTitle-&gt;string();
-    }
-    
-    return loadPolicy;
-}
-
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-#if ENABLE(WEBGL)
-WebCore::WebGLLoadPolicy WebLoaderClient::webGLLoadPolicy(WebPageProxy* page, const String&amp; url) const
-{
-    WebCore::WebGLLoadPolicy loadPolicy = WebGLAllow;
-
-    if (m_client.webGLLoadPolicy)
-        loadPolicy = toWebGLLoadPolicy(m_client.webGLLoadPolicy(toAPI(page), toAPI(url.impl()), m_client.base.clientInfo));
-
-    return loadPolicy;
-}
-#endif // ENABLE(WEBGL)
-
-} // namespace WebKit
</del></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebLoaderClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,110 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 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 WebLoaderClient_h
-#define WebLoaderClient_h
-
-#include &quot;APIClient.h&quot;
-#include &quot;APILoaderClient.h&quot;
-#include &quot;WKPageLoaderClient.h&quot;
-
-namespace API {
-class Object;
-
-template&lt;&gt; struct ClientTraits&lt;WKPageLoaderClientBase&gt; {
-    typedef std::tuple&lt;WKPageLoaderClientV0, WKPageLoaderClientV1, WKPageLoaderClientV2, WKPageLoaderClientV3, WKPageLoaderClientV4&gt; Versions;
-};
-}
-
-namespace WebCore {
-class ResourceError;
-}
-
-namespace WebKit {
-
-class AuthenticationChallengeProxy;
-class AuthenticationDecisionListener;
-class ImmutableDictionary;
-class WebBackForwardListItem;
-class WebFrameProxy;
-class WebPageProxy;
-class WebProtectionSpace;
-
-class WebLoaderClient : public API::Client&lt;WKPageLoaderClientBase&gt;, public API::LoaderClient {
-public:
-    explicit WebLoaderClient(const WKPageLoaderClientBase*);
-
-private:
-    virtual void didStartProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didReceiveServerRedirectForProvisionalLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*);
-    virtual void didFailProvisionalLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&amp;, API::Object*) override;
-    virtual void didCommitLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didFinishDocumentLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didFinishLoadForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didFailLoadWithErrorForFrame(WebPageProxy*, WebFrameProxy*, const WebCore::ResourceError&amp;, API::Object*) override;
-    virtual void didSameDocumentNavigationForFrame(WebPageProxy*, WebFrameProxy*, SameDocumentNavigationType, API::Object*) override;
-    virtual void didReceiveTitleForFrame(WebPageProxy*, const WTF::String&amp;, WebFrameProxy*, API::Object*) override;
-    virtual void didFirstLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-
-    // FIXME: We should consider removing didFirstVisuallyNonEmptyLayoutForFrame since it is replaced by didLayout.
-    virtual void didFirstVisuallyNonEmptyLayoutForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-
-    virtual void didRemoveFrameFromHierarchy(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didDisplayInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didRunInsecureContentForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-    virtual void didDetectXSSForFrame(WebPageProxy*, WebFrameProxy*, API::Object*) override;
-
-    virtual void didLayout(WebPageProxy*, WebCore::LayoutMilestones, API::Object*) override;
-    
-    bool canAuthenticateAgainstProtectionSpaceInFrame(WebPageProxy*, WebFrameProxy*, WebProtectionSpace*) override;
-    virtual void didReceiveAuthenticationChallengeInFrame(WebPageProxy*, WebFrameProxy*, AuthenticationChallengeProxy*) override;
-
-    virtual void didStartProgress(WebPageProxy*) override;
-    virtual void didChangeProgress(WebPageProxy*) override;
-    virtual void didFinishProgress(WebPageProxy*) override;
-
-    // FIXME: These three functions should not be part of this client.
-    virtual void processDidBecomeUnresponsive(WebPageProxy*) override;
-    virtual void interactionOccurredWhileProcessUnresponsive(WebPageProxy*) override;
-    virtual void processDidBecomeResponsive(WebPageProxy*) override;
-    virtual void processDidCrash(WebPageProxy*) override;
-
-    virtual void didChangeBackForwardList(WebPageProxy*, WebBackForwardListItem* addedItem, Vector&lt;RefPtr&lt;API::Object&gt;&gt;* removedItems) override;
-    virtual void willGoToBackForwardListItem(WebPageProxy*, WebBackForwardListItem*, API::Object*) override;
-
-#if ENABLE(NETSCAPE_PLUGIN_API)
-    PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy*, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary*, WTF::String&amp; unavailabilityDescription, WTF::String&amp; useBlockedPluginTitle) override;
-    virtual void didFailToInitializePlugin(WebPageProxy*, ImmutableDictionary*) override;
-    virtual void didBlockInsecurePluginVersion(WebPageProxy*, ImmutableDictionary*) override;
-#endif // ENABLE(NETSCAPE_PLUGIN_API)
-
-#if ENABLE(WEBGL)
-    WebCore::WebGLLoadPolicy webGLLoadPolicy(WebPageProxy*, const WTF::String&amp;) const;
-#endif // ENABLE(WEBGL)
-};
-
-} // namespace WebKit
-
-#endif // WebLoaderClient_h
</del></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -4382,13 +4382,15 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#endif // !PLATFORM(IOS) &amp;&amp; PLATFORM(MAC)
+
+#if PLATFORM(MAC)
</ins><span class="cx"> RetainPtr&lt;CGImageRef&gt; WebPageProxy::takeViewSnapshot()
</span><span class="cx"> {
</span><span class="cx">     return m_pageClient.takeViewSnapshot();
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><del>-#endif // PLATFORM(MAC)
-
</del><span class="cx"> #if USE(SOUP) &amp;&amp; !ENABLE(CUSTOM_PROTOCOLS)
</span><span class="cx"> void WebPageProxy::didReceiveURIRequest(String uriString, uint64_t requestID)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessWebPageProxyh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/WebPageProxy.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -52,7 +52,6 @@
</span><span class="cx"> #include &quot;WebFrameProxy.h&quot;
</span><span class="cx"> #include &quot;WebHistoryClient.h&quot;
</span><span class="cx"> #include &quot;WebHitTestResult.h&quot;
</span><del>-#include &quot;WebLoaderClient.h&quot;
</del><span class="cx"> #include &quot;WebPageContextMenuClient.h&quot;
</span><span class="cx"> #include &quot;WebPageCreationParameters.h&quot;
</span><span class="cx"> #include &lt;WebCore/AlternativeTextClient.h&gt; // FIXME: Needed by WebPageProxyMessages.h for DICTATION_ALTERNATIVES.
</span><span class="lines">@@ -834,8 +833,6 @@
</span><span class="cx">     void endColorPicker();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-    const API::LoaderClient* loaderClient() { return m_loaderClient.get(); }
-
</del><span class="cx">     WebCore::IntSize minimumLayoutSize() const { return m_minimumLayoutSize; }
</span><span class="cx">     void setMinimumLayoutSize(const WebCore::IntSize&amp;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessgtkWebContextGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebContextGtk.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;WebInspectorServer.h&quot;
</span><span class="cx"> #include &quot;WebProcessCreationParameters.h&quot;
</span><span class="cx"> #include &quot;WebProcessMessages.h&quot;
</span><ins>+#include &quot;WebSoupCustomProtocolRequestManager.h&quot;
</ins><span class="cx"> #include &lt;WebCore/FileSystem.h&gt;
</span><span class="cx"> #include &lt;WebCore/NotImplemented.h&gt;
</span><span class="cx"> #include &lt;WebCore/SchemeRegistry.h&gt;
</span><span class="lines">@@ -43,12 +44,6 @@
</span><span class="cx"> #include &quot;NetworkProcessMessages.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#if ENABLE(CUSTOM_PROTOCOLS)
-#include &quot;WebSoupCustomProtocolRequestManager.h&quot;
-#else
-#include &quot;WebSoupRequestManagerProxy.h&quot;
-#endif
-
</del><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="cx"> static void initInspectorServer()
</span><span class="lines">@@ -104,11 +99,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (!usesNetworkProcess()) {
</span><del>-#if ENABLE(CUSTOM_PROTOCOLS)
</del><span class="cx">         parameters.urlSchemesRegisteredForCustomProtocols = supplement&lt;WebSoupCustomProtocolRequestManager&gt;()-&gt;registeredSchemesForCustomProtocols();
</span><del>-#else
-        parameters.urlSchemesRegistered = supplement&lt;WebSoupRequestManagerProxy&gt;()-&gt;registeredURISchemes();
-#endif
</del><span class="cx"> 
</span><span class="cx">         supplement&lt;WebCookieManagerProxy&gt;()-&gt;getCookiePersistentStorage(parameters.cookiePersistentStoragePath, parameters.cookiePersistentStorageType);
</span><span class="cx">         parameters.cookieAcceptPolicy = m_initialHTTPCookieAcceptPolicy;
</span><span class="lines">@@ -131,7 +122,7 @@
</span><span class="cx"> 
</span><span class="cx"> String WebContext::platformDefaultIconDatabasePath() const
</span><span class="cx"> {
</span><del>-    GUniquePtr&lt;gchar&gt; databaseDirectory(g_build_filename(g_get_user_data_dir(), &quot;webkitgtk&quot;, &quot;icondatabase&quot;, nullptr));
</del><ins>+    GUniquePtr&lt;gchar&gt; databaseDirectory(g_build_filename(g_get_user_cache_dir(), &quot;webkitgtk&quot;, &quot;icondatabase&quot;, nullptr));
</ins><span class="cx">     return WebCore::filenameToString(databaseDirectory.get());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessgtkWebPopupMenuProxyGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/gtk/WebPopupMenuProxyGtk.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -105,9 +105,7 @@
</span><span class="cx"> 
</span><span class="cx">     g_signal_handler_disconnect(m_popup-&gt;platformMenu(), unmapHandler);
</span><span class="cx"> 
</span><del>-    if (!m_client)
-        return;
-
</del><ins>+    ASSERT(m_client);
</ins><span class="cx">     m_client-&gt;valueChangedForPopupMenu(this, m_activeItem);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -69,6 +69,7 @@
</span><span class="cx">     WebCore::FloatPoint m_magnificationOrigin;
</span><span class="cx"> 
</span><span class="cx">     WebCore::FloatRect m_lastSmartMagnificationUnscaledTargetRect;
</span><ins>+    bool m_lastSmartMagnificationUnscaledTargetRectIsValid;
</ins><span class="cx"> 
</span><span class="cx">     ViewGestureType m_activeGestureType;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2UIProcessmacViewGestureControllermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/UIProcess/mac/ViewGestureController.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -49,6 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> ViewGestureController::ViewGestureController(WebPageProxy&amp; webPageProxy)
</span><span class="cx">     : m_webPageProxy(webPageProxy)
</span><ins>+    , m_lastSmartMagnificationUnscaledTargetRectIsValid(false)
</ins><span class="cx">     , m_activeGestureType(ViewGestureType::None)
</span><span class="cx">     , m_visibleContentRectIsValid(false)
</span><span class="cx">     , m_frameHandlesMagnificationGesture(false)
</span><span class="lines">@@ -177,7 +178,7 @@
</span><span class="cx">     // Allow panning between elements via double-tap while magnified, unless the target rect is
</span><span class="cx">     // similar to the last one, in which case we'll zoom all the way out.
</span><span class="cx">     if (currentScaleFactor &gt; 1
</span><del>-        &amp;&amp; !m_lastSmartMagnificationUnscaledTargetRect.isEmpty()
</del><ins>+        &amp;&amp; m_lastSmartMagnificationUnscaledTargetRectIsValid
</ins><span class="cx">         &amp;&amp; maximumRectangleComponentDelta(m_lastSmartMagnificationUnscaledTargetRect, unscaledTargetRect) &lt; smartMagnificationPanScrollThreshold)
</span><span class="cx">         targetMagnification = 1;
</span><span class="cx"> 
</span><span class="lines">@@ -190,6 +191,7 @@
</span><span class="cx">     m_webPageProxy.drawingArea()-&gt;commitTransientZoom(targetMagnification, targetOrigin);
</span><span class="cx"> 
</span><span class="cx">     m_lastSmartMagnificationUnscaledTargetRect = unscaledTargetRect;
</span><ins>+    m_lastSmartMagnificationUnscaledTargetRectIsValid = true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void ViewGestureController::endActiveGesture()
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1069,7 +1069,6 @@
</span><span class="cx">                 BC5750971268F3C6006F0F12 /* WebPopupMenuProxyMac.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */; };
</span><span class="cx">                 BC5750981268F3C6006F0F12 /* WebPopupMenuProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC5750961268F3C6006F0F12 /* WebPopupMenuProxyMac.mm */; };
</span><span class="cx">                 BC575613126E0138006F0F12 /* APIError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC575612126E0138006F0F12 /* APIError.cpp */; };
</span><del>-                BC59534210FC04520098F82D /* WebLoaderClient.h in Headers */ = {isa = PBXBuildFile; fileRef = BC59534010FC04520098F82D /* WebLoaderClient.h */; };
</del><span class="cx">                 BC59548915C7868500FD1E3E /* WebKit2.h in Headers */ = {isa = PBXBuildFile; fileRef = BC59548815C7868500FD1E3E /* WebKit2.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BC597075116591D000551FCA /* ProcessModel.h in Headers */ = {isa = PBXBuildFile; fileRef = BC597074116591D000551FCA /* ProcessModel.h */; };
</span><span class="cx">                 BC5C75C814954DA600BC4775 /* WKConnectionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BC5C75C614954DA600BC4775 /* WKConnectionInternal.h */; };
</span><span class="lines">@@ -1191,7 +1190,6 @@
</span><span class="cx">                 BCB9E2441120DACA00A137E0 /* WebContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB9E2421120DACA00A137E0 /* WebContext.cpp */; };
</span><span class="cx">                 BCB9E24B1120E15C00A137E0 /* WKContext.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB9E2491120E15C00A137E0 /* WKContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BCB9E24C1120E15C00A137E0 /* WKContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB9E24A1120E15C00A137E0 /* WKContext.cpp */; };
</span><del>-                BCB9E76211232B9E00A137E0 /* WebLoaderClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB9E76111232B9E00A137E0 /* WebLoaderClient.cpp */; };
</del><span class="cx">                 BCB9F6A01123A84B00A137E0 /* WebFramePolicyListenerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB9F69E1123A84B00A137E0 /* WebFramePolicyListenerProxy.h */; };
</span><span class="cx">                 BCB9F6A11123A84B00A137E0 /* WebFramePolicyListenerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB9F69F1123A84B00A137E0 /* WebFramePolicyListenerProxy.cpp */; };
</span><span class="cx">                 BCB9F6A51123DD0D00A137E0 /* WKFramePolicyListener.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB9F6A31123DD0D00A137E0 /* WKFramePolicyListener.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -2793,7 +2791,6 @@
</span><span class="cx">                 BC5750951268F3C6006F0F12 /* WebPopupMenuProxyMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPopupMenuProxyMac.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC5750961268F3C6006F0F12 /* WebPopupMenuProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebPopupMenuProxyMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC575612126E0138006F0F12 /* APIError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIError.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BC59534010FC04520098F82D /* WebLoaderClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebLoaderClient.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BC59548815C7868500FD1E3E /* WebKit2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKit2.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC597074116591D000551FCA /* ProcessModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProcessModel.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BC5C75C614954DA600BC4775 /* WKConnectionInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKConnectionInternal.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -2918,7 +2915,6 @@
</span><span class="cx">                 BCB9E2421120DACA00A137E0 /* WebContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB9E2491120E15C00A137E0 /* WKContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKContext.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB9E24A1120E15C00A137E0 /* WKContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKContext.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BCB9E76111232B9E00A137E0 /* WebLoaderClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebLoaderClient.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BCB9F69E1123A84B00A137E0 /* WebFramePolicyListenerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFramePolicyListenerProxy.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB9F69F1123A84B00A137E0 /* WebFramePolicyListenerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFramePolicyListenerProxy.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB9F6A31123DD0D00A137E0 /* WKFramePolicyListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFramePolicyListener.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4969,8 +4965,6 @@
</span><span class="cx">                                 1C77C1951288A872006A742F /* WebInspectorProxy.messages.in */,
</span><span class="cx">                                 51A9E1021315CCFC009E7031 /* WebKeyValueStorageManager.cpp */,
</span><span class="cx">                                 51A9E1031315CCFC009E7031 /* WebKeyValueStorageManager.h */,
</span><del>-                                BCB9E76111232B9E00A137E0 /* WebLoaderClient.cpp */,
-                                BC59534010FC04520098F82D /* WebLoaderClient.h */,
</del><span class="cx">                                 33D3A3B71339606200709BE4 /* WebMediaCacheManagerProxy.cpp */,
</span><span class="cx">                                 33D3A3B81339606200709BE4 /* WebMediaCacheManagerProxy.h */,
</span><span class="cx">                                 33D3A3B91339606200709BE4 /* WebMediaCacheManagerProxy.messages.in */,
</span><span class="lines">@@ -6473,7 +6467,6 @@
</span><span class="cx">                                 1AE00D611831792100087DD7 /* FrameLoadState.h in Headers */,
</span><span class="cx">                                 BCB63478116BF10600603215 /* WebKit2_C.h in Headers */,
</span><span class="cx">                                 BC9BA5051697C45300E44616 /* WebKit2Initialize.h in Headers */,
</span><del>-                                BC59534210FC04520098F82D /* WebLoaderClient.h in Headers */,
</del><span class="cx">                                 33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */,
</span><span class="cx">                                 2D125C5E1857EA05003BA3CB /* ViewGestureController.h in Headers */,
</span><span class="cx">                                 33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */,
</span><span class="lines">@@ -7863,7 +7856,6 @@
</span><span class="cx">                                 C0337DD3127A2A0E008FF4F4 /* WebKeyboardEvent.cpp in Sources */,
</span><span class="cx">                                 51A9E1051315CCFC009E7031 /* WebKeyValueStorageManager.cpp in Sources */,
</span><span class="cx">                                 BC9BA5041697C45300E44616 /* WebKit2Initialize.cpp in Sources */,
</span><del>-                                BCB9E76211232B9E00A137E0 /* WebLoaderClient.cpp in Sources */,
</del><span class="cx">                                 33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */,
</span><span class="cx">                                 33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 2DA944B31884E9EC00ED86DB /* WebProcessIOS.mm in Sources */,
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebKit2Prefixh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebKit2Prefix.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebKit2Prefix.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebKit2Prefix.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -70,6 +70,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(GTK)
</span><span class="cx"> #define ENABLE_NETWORK_PROCESS 1
</span><ins>+#define ENABLE_CUSTOM_PROTOCOLS 1
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> /* When C++ exceptions are disabled, the C++ library defines |try| and |catch|
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessScrollingRemoteScrollingCoordinatormm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/Scrolling/RemoteScrollingCoordinator.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx"> // Notification from the UI process that we scrolled.
</span><span class="cx"> void RemoteScrollingCoordinator::scrollPositionChangedForNode(ScrollingNodeID nodeID, const FloatPoint&amp; scrollPosition)
</span><span class="cx"> {
</span><del>-    scheduleUpdateScrollPositionForNode(nodeID, roundedIntPoint(scrollPosition), false /* FIXME */, SyncScrollingLayerPosition);
</del><ins>+    scheduleUpdateScrollPositionAfterAsyncScroll(nodeID, roundedIntPoint(scrollPosition), false /* FIXME */, SyncScrollingLayerPosition);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -946,11 +946,6 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WebFrameLoaderClient::shouldStopLoadingForHistoryItem(HistoryItem*) const
-{
-    return true;
-}
-
</del><span class="cx"> void WebFrameLoaderClient::didDisplayInsecureContent()
</span><span class="cx"> {
</span><span class="cx">     WebPage* webPage = m_frame-&gt;page();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClienth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -129,7 +129,6 @@
</span><span class="cx">     virtual void updateGlobalHistoryRedirectLinks() override;
</span><span class="cx">     
</span><span class="cx">     virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const override;
</span><del>-    virtual bool shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const override;
</del><span class="cx"> 
</span><span class="cx">     virtual void didDisplayInsecureContent() override;
</span><span class="cx">     virtual void didRunInsecureContent(WebCore::SecurityOrigin*, const WebCore::URL&amp;) override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageDrawingAreah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -91,6 +91,7 @@
</span><span class="cx"> #if PLATFORM(MAC)
</span><span class="cx">     virtual void setExposedRect(const WebCore::FloatRect&amp;) = 0;
</span><span class="cx">     virtual WebCore::FloatRect exposedRect() const = 0;
</span><ins>+    virtual void setCustomFixedPositionRect(const WebCore::FloatRect&amp;) = 0;
</ins><span class="cx"> #endif
</span><span class="cx">     virtual void mainFrameScrollabilityChanged(bool) { }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageDrawingAreamessagesin"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,7 @@
</span><span class="cx">     SetDeviceScaleFactor(float deviceScaleFactor)
</span><span class="cx">     SetColorSpace(WebKit::ColorSpaceData colorSpace)
</span><span class="cx">     SetExposedRect(WebCore::FloatRect exposedRect)
</span><ins>+    SetCustomFixedPositionRect(WebCore::FloatRect fixedPositionRect)
</ins><span class="cx"> 
</span><span class="cx">     AdjustTransientZoom(double scale, WebCore::FloatPoint origin)
</span><span class="cx">     CommitTransientZoom(double scale, WebCore::FloatPoint origin)
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPageeflWebPageEflcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;NotImplemented.h&quot;
</span><span class="cx"> #include &quot;WebEvent.h&quot;
</span><span class="cx"> #include &quot;WindowsKeyboardCodes.h&quot;
</span><ins>+#include &lt;WebCore/BackForwardController.h&gt;
</ins><span class="cx"> #include &lt;WebCore/EflKeyboardUtilities.h&gt;
</span><span class="cx"> #include &lt;WebCore/FocusController.h&gt;
</span><span class="cx"> #include &lt;WebCore/Frame.h&gt;
</span><span class="lines">@@ -88,9 +89,9 @@
</span><span class="cx">     switch (keyboardEvent.windowsVirtualKeyCode()) {
</span><span class="cx">     case VK_BACK:
</span><span class="cx">         if (keyboardEvent.shiftKey())
</span><del>-            m_page-&gt;goForward();
</del><ins>+            m_page-&gt;backForward().goForward();
</ins><span class="cx">         else
</span><del>-            m_page-&gt;goBack();
</del><ins>+            m_page-&gt;backForward().goBack();
</ins><span class="cx">         break;
</span><span class="cx">     case VK_SPACE:
</span><span class="cx">         scroll(m_page.get(), keyboardEvent.shiftKey() ? ScrollUp : ScrollDown, ScrollByPage);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPagegtkWebPageGtkcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -33,6 +33,7 @@
</span><span class="cx"> #include &quot;WebPageAccessibilityObject.h&quot;
</span><span class="cx"> #include &quot;WebPageProxyMessages.h&quot;
</span><span class="cx"> #include &quot;WindowsKeyboardCodes.h&quot;
</span><ins>+#include &lt;WebCore/BackForwardController.h&gt;
</ins><span class="cx"> #include &lt;WebCore/EventHandler.h&gt;
</span><span class="cx"> #include &lt;WebCore/FocusController.h&gt;
</span><span class="cx"> #include &lt;WebCore/Frame.h&gt;
</span><span class="lines">@@ -92,9 +93,9 @@
</span><span class="cx">     switch (keyboardEvent.windowsVirtualKeyCode()) {
</span><span class="cx">     case VK_BACK:
</span><span class="cx">         if (keyboardEvent.shiftKey())
</span><del>-            m_page-&gt;goForward();
</del><ins>+            m_page-&gt;backForward().goForward();
</ins><span class="cx">         else
</span><del>-            m_page-&gt;goBack();
</del><ins>+            m_page-&gt;backForward().goBack();
</ins><span class="cx">         break;
</span><span class="cx">     case VK_SPACE:
</span><span class="cx">         scroll(m_page.get(), keyboardEvent.shiftKey() ? ScrollUp : ScrollDown, ScrollByPage);
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -75,6 +75,8 @@
</span><span class="cx">     virtual void setExposedRect(const WebCore::FloatRect&amp;) override;
</span><span class="cx">     virtual WebCore::FloatRect exposedRect() const override { return m_scrolledExposedRect; }
</span><span class="cx"> 
</span><ins>+    virtual void setCustomFixedPositionRect(const WebCore::FloatRect&amp;) override;
+
</ins><span class="cx">     // WebCore::GraphicsLayerClient
</span><span class="cx">     virtual void notifyAnimationStarted(const WebCore::GraphicsLayer*, double time) override { }
</span><span class="cx">     virtual void notifyFlushRequired(const WebCore::GraphicsLayer*) override { }
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPagemacRemoteLayerTreeDrawingAreamm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -271,6 +271,17 @@
</span><span class="cx">     frameView-&gt;adjustTiledBackingCoverage();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void RemoteLayerTreeDrawingArea::setCustomFixedPositionRect(const FloatRect&amp; fixedPositionRect)
+{
+#if PLATFORM(IOS)
+    FrameView* frameView = m_webPage-&gt;corePage()-&gt;mainFrame().view();
+    if (!frameView)
+        return;
+
+    frameView-&gt;setCustomFixedPositionLayoutRect(enclosingIntRect(fixedPositionRect));
+#endif
+}
+
</ins><span class="cx"> TiledBacking* RemoteLayerTreeDrawingArea::mainFrameTiledBacking() const
</span><span class="cx"> {
</span><span class="cx">     FrameView* frameView = m_webPage-&gt;corePage()-&gt;mainFrame().view();
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPagemacTiledCoreAnimationDrawingAreah"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -81,6 +81,8 @@
</span><span class="cx">     virtual void setExposedRect(const WebCore::FloatRect&amp;) override;
</span><span class="cx">     virtual WebCore::FloatRect exposedRect() const override { return m_scrolledExposedRect; }
</span><span class="cx"> 
</span><ins>+    virtual void setCustomFixedPositionRect(const WebCore::FloatRect&amp;) override { }
+
</ins><span class="cx">     virtual bool supportsAsyncScrolling() override { return true; }
</span><span class="cx"> 
</span><span class="cx">     virtual void didChangeScrollOffsetForAnyFrame() override;
</span></span></pre></div>
<a id="branchesjsCStackSourceWebKit2WebProcessWebPagemacWebPageMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,6 +46,7 @@
</span><span class="cx"> #import &lt;PDFKit/PDFKit.h&gt;
</span><span class="cx"> #import &lt;QuartzCore/QuartzCore.h&gt;
</span><span class="cx"> #import &lt;WebCore/AXObjectCache.h&gt;
</span><ins>+#import &lt;WebCore/BackForwardController.h&gt;
</ins><span class="cx"> #import &lt;WebCore/EventHandler.h&gt;
</span><span class="cx"> #import &lt;WebCore/FocusController.h&gt;
</span><span class="cx"> #import &lt;WebCore/FrameLoader.h&gt;
</span><span class="lines">@@ -637,13 +638,13 @@
</span><span class="cx">     else if (selector == &quot;moveWordLeft:&quot;)
</span><span class="cx">         didPerformAction = scroll(m_page.get(), ScrollLeft, ScrollByPage);
</span><span class="cx">     else if (selector == &quot;moveToLeftEndOfLine:&quot;)
</span><del>-        didPerformAction = m_page-&gt;goBack();
</del><ins>+        didPerformAction = m_page-&gt;backForward().goBack();
</ins><span class="cx">     else if (selector == &quot;moveRight:&quot;)
</span><span class="cx">         didPerformAction = scroll(m_page.get(), ScrollRight, ScrollByLine);
</span><span class="cx">     else if (selector == &quot;moveWordRight:&quot;)
</span><span class="cx">         didPerformAction = scroll(m_page.get(), ScrollRight, ScrollByPage);
</span><span class="cx">     else if (selector == &quot;moveToRightEndOfLine:&quot;)
</span><del>-        didPerformAction = m_page-&gt;goForward();
</del><ins>+        didPerformAction = m_page-&gt;backForward().goForward();
</ins><span class="cx"> 
</span><span class="cx">     return didPerformAction;
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackSourcecmakeOptionsEflcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/cmake/OptionsEfl.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/cmake/OptionsEfl.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/cmake/OptionsEfl.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,13 +28,11 @@
</span><span class="cx"> find_package(GLIB 2.36.0 REQUIRED COMPONENTS gio gobject gthread)
</span><span class="cx"> find_package(LibSoup 2.42.0 REQUIRED)
</span><span class="cx"> 
</span><del>-set(WTF_USE_ICU_UNICODE 1)
</del><span class="cx"> set(WTF_USE_SOUP 1)
</span><span class="cx"> set(WTF_USE_UDIS86 1)
</span><span class="cx"> 
</span><span class="cx"> add_definitions(-DWTF_USE_GLIB=1)
</span><span class="cx"> add_definitions(-DWTF_USE_SOUP=1)
</span><del>-add_definitions(-DWTF_USE_ICU_UNICODE=1)
</del><span class="cx"> add_definitions(-DWTF_USE_CAIRO=1)
</span><span class="cx"> add_definitions(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1)
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackSourcecmakeOptionsGTKcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/cmake/OptionsGTK.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/cmake/OptionsGTK.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/cmake/OptionsGTK.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -111,7 +111,6 @@
</span><span class="cx"> set(ENABLE_WEBKIT ON)
</span><span class="cx"> set(ENABLE_WEBKIT2 ON)
</span><span class="cx"> 
</span><del>-set(WTF_USE_ICU_UNICODE 1)
</del><span class="cx"> set(WTF_USE_SOUP 1)
</span><span class="cx"> 
</span><span class="cx"> set(WTF_OUTPUT_NAME WTFGTK)
</span></span></pre></div>
<a id="branchesjsCStackSourcecmakeOptionsWinCEcmake"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Source/cmake/OptionsWinCE.cmake (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Source/cmake/OptionsWinCE.cmake        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Source/cmake/OptionsWinCE.cmake        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,11 +1,9 @@
</span><span class="cx"> include(OptionsWindows)
</span><span class="cx"> 
</span><span class="cx"> set(PORT_FALLBACK Win)
</span><del>-set(WTF_USE_WCHAR_UNICODE 1)
</del><span class="cx"> 
</span><span class="cx"> add_definitions(-D_CE_CRT_ALLOW_WIN_MINMAX)
</span><span class="cx"> add_definitions(-DWTF_USE_EXPORT_MACROS=0)
</span><del>-add_definitions(-DWTF_USE_WCHAR_UNICODE=1)
</del><span class="cx"> add_definitions(-DWTF_USE_WINGDI=1)
</span><span class="cx"> add_definitions(-DWTF_USE_WININET=1)
</span><span class="cx"> add_definitions(-DWINCEBASIC)
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeAccessibilityTextMarkerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/AccessibilityTextMarker.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/AccessibilityTextMarker.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/AccessibilityTextMarker.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;JavaScriptCore/JSObjectRef.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> #define SUPPORTS_AX_TEXTMARKERS 1
</span><span class="cx"> #else
</span><span class="cx"> #define SUPPORTS_AX_TEXTMARKERS 0
</span><span class="lines">@@ -58,7 +58,7 @@
</span><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     static JSClassRef getJSClass();
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if SUPPORTS_AX_TEXTMARKERS
</ins><span class="cx">     RetainPtr&lt;PlatformTextMarker&gt; m_textMarker;
</span><span class="cx"> #else
</span><span class="cx">     PlatformTextMarker m_textMarker;
</span><span class="lines">@@ -78,7 +78,7 @@
</span><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     static JSClassRef getJSClass();
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if SUPPORTS_AX_TEXTMARKERS
</ins><span class="cx">     RetainPtr&lt;PlatformTextMarkerRange&gt; m_textMarkerRange;
</span><span class="cx"> #else
</span><span class="cx">     PlatformTextMarkerRange m_textMarkerRange;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeAccessibilityUIElementh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/AccessibilityUIElement.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/AccessibilityUIElement.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/AccessibilityUIElement.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -287,8 +287,10 @@
</span><span class="cx">     static JSClassRef getJSClass();
</span><span class="cx">     PlatformUIElement m_element;
</span><span class="cx">     
</span><ins>+#if PLATFORM(IOS) 
+    JSObjectRef m_notificationFunctionCallback;
+#elif PLATFORM(MAC)
</ins><span class="cx">     // A retained, platform specific object used to help manage notifications for this object.
</span><del>-#if PLATFORM(MAC)
</del><span class="cx">     NotificationHandler m_notificationHandler;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeDumpRenderTreexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -13,6 +13,7 @@
</span><span class="cx">                         buildPhases = (
</span><span class="cx">                         );
</span><span class="cx">                         dependencies = (
</span><ins>+                                A1158D6818927B240088C17B /* PBXTargetDependency */,
</ins><span class="cx">                                 2D403F211508736C005358D2 /* PBXTargetDependency */,
</span><span class="cx">                                 A134E52D188FC09200901D06 /* PBXTargetDependency */,
</span><span class="cx">                                 A84F608F08B1370E00E9745F /* PBXTargetDependency */,
</span><span class="lines">@@ -43,7 +44,6 @@
</span><span class="cx">                 1A4CCD4F171375A300981040 /* ToStringAndValueOfObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A4CCD4E171375A300981040 /* ToStringAndValueOfObject.cpp */; };
</span><span class="cx">                 1A5CC1F5137DD2EC00A5D7E7 /* GetURLWithJavaScriptURL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A5CC1F3137DD2EC00A5D7E7 /* GetURLWithJavaScriptURL.cpp */; };
</span><span class="cx">                 1A66C35114576A920099A115 /* ContentsScaleFactor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A66C34F14576A920099A115 /* ContentsScaleFactor.cpp */; };
</span><del>-                1A7961071803454C00FE42CD /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A7961061803454C00FE42CD /* IOKit.framework */; };
</del><span class="cx">                 1A8F02E80BB9B4EC008CFA34 /* TestObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A8F024C0BB9B056008CFA34 /* TestObject.h */; };
</span><span class="cx">                 1AC6C8490D07638600CD3161 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC6C77F0D07589B00CD3161 /* main.cpp */; };
</span><span class="cx">                 1AC6C84A0D07638600CD3161 /* PluginObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AC6C7800D07589B00CD3161 /* PluginObject.cpp */; };
</span><span class="lines">@@ -54,13 +54,9 @@
</span><span class="cx">                 1AD8683F163B2FD000A28583 /* NPRuntimeCallsWithNullNPP.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AD8683D163B2FD000A28583 /* NPRuntimeCallsWithNullNPP.cpp */; };
</span><span class="cx">                 1AD9D2FE12028409001A70D1 /* PluginScriptableNPObjectInvokeDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AD9D2FD12028409001A70D1 /* PluginScriptableNPObjectInvokeDefault.cpp */; };
</span><span class="cx">                 1AFF66BC137DEFD200791696 /* GetURLNotifyWithURLThatFailsToLoad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFF66BB137DEA8300791696 /* GetURLNotifyWithURLThatFailsToLoad.cpp */; };
</span><del>-                23BCB8900EA57623003C6289 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23BCB88F0EA57623003C6289 /* OpenGL.framework */; };
</del><span class="cx">                 29CFBA11122736E600BC30C0 /* AccessibilityTextMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29CFBA0F122736E600BC30C0 /* AccessibilityTextMarker.cpp */; };
</span><span class="cx">                 29CFBA2E12273A1000BC30C0 /* AccessibilityTextMarkerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29CFBA2D12273A1000BC30C0 /* AccessibilityTextMarkerMac.mm */; };
</span><span class="cx">                 2CE88FA217124D8C00734FC0 /* JavaScriptThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2CE88FA117124CEE00734FC0 /* JavaScriptThreading.cpp */; };
</span><del>-                2D403F05150871F9005358D2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE8257EF08D22389000507AB /* Carbon.framework */; };
-                2D403F06150871F9005358D2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A84F608908B136DA00E9745F /* Cocoa.framework */; };
-                2D403F08150871F9005358D2 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 23BCB88F0EA57623003C6289 /* OpenGL.framework */; };
</del><span class="cx">                 2D403F1B15087209005358D2 /* LayoutTestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D403EA215087142005358D2 /* LayoutTestHelper.m */; };
</span><span class="cx">                 31117B3D15D9A56A00163BC8 /* MockWebNotificationProvider.mm in Sources */ = {isa = PBXBuildFile; fileRef = 31117B3B15D9A56A00163BC8 /* MockWebNotificationProvider.mm */; };
</span><span class="cx">                 3A5626CB131CA02A002BE6D9 /* StorageTrackerDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3A5626C1131C8B17002BE6D9 /* StorageTrackerDelegate.mm */; };
</span><span class="lines">@@ -85,27 +81,21 @@
</span><span class="cx">                 5DB9AC9E0F722C3600684641 /* WebKitWeightWatcher700.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 375F09770DAC3CB600C8B4E5 /* WebKitWeightWatcher700.ttf */; };
</span><span class="cx">                 5DB9AC9F0F722C3600684641 /* WebKitWeightWatcher800.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 375F09780DAC3CB600C8B4E5 /* WebKitWeightWatcher800.ttf */; };
</span><span class="cx">                 5DB9ACA00F722C3600684641 /* WebKitWeightWatcher900.ttf in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 375F09790DAC3CB600C8B4E5 /* WebKitWeightWatcher900.ttf */; };
</span><del>-                5DE8AE4413A2C15900D6A37D /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5DE8AE4313A2C15800D6A37D /* libWebCoreTestSupport.dylib */; };
</del><span class="cx">                 80045AEE147718E7008290A8 /* AccessibilityNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 80045AEC147718E7008290A8 /* AccessibilityNotificationHandler.mm */; };
</span><span class="cx">                 8465E2C70FFA8DF2003B8342 /* PixelDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8465E2C60FFA8DF2003B8342 /* PixelDumpSupport.cpp */; };
</span><span class="cx">                 8CCDA82A151A72D10003F937 /* SampleFont.sfont in Copy Font Files */ = {isa = PBXBuildFile; fileRef = 8CCDA81F151A56550003F937 /* SampleFont.sfont */; };
</span><del>-                9340995108540CAE007F3BC8 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9335435F03D75502008635CE /* WebKit.framework */; };
</del><span class="cx">                 9830F31F15C81181005AB206 /* DumpRenderTreeCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9830F31E15C81181005AB206 /* DumpRenderTreeCommon.cpp */; };
</span><del>-                A1321CD4188F9E7A00125434 /* libDumpRenderTree.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A1321C9E188F9A3600125434 /* libDumpRenderTree.a */; };
</del><ins>+                A1158D581892740C0088C17B /* DumpRenderTreeBrowserView.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1158D56189273EB0088C17B /* DumpRenderTreeBrowserView.mm */; };
+                A1158D59189274360088C17B /* PixelDumpSupportIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = A1158D57189273EB0088C17B /* PixelDumpSupportIOS.mm */; };
</ins><span class="cx">                 A134E531188FC27000901D06 /* DumpRenderTreeMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = A134E52F188FC27000901D06 /* DumpRenderTreeMain.mm */; };
</span><span class="cx">                 A134E53618905EFF00901D06 /* AccessibilityCommonMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC0E26140E2DA4C6001B6BC3 /* AccessibilityCommonMac.mm */; };
</span><del>-                A817090008B163EF00CCB9FB /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A84F608908B136DA00E9745F /* Cocoa.framework */; };
-                A817090408B164D300CCB9FB /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A817090308B164D300CCB9FB /* JavaScriptCore.framework */; };
-                A84F608A08B136DA00E9745F /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A84F608908B136DA00E9745F /* Cocoa.framework */; };
</del><ins>+                A19318001892886B001C52B1 /* DumpRenderTreeMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = A134E52F188FC27000901D06 /* DumpRenderTreeMain.mm */; };
</ins><span class="cx">                 A8B91ADA0CF3B32F008F91FF /* DumpRenderTreePasteboard.m in Sources */ = {isa = PBXBuildFile; fileRef = A8B91AD70CF3B32F008F91FF /* DumpRenderTreePasteboard.m */; };
</span><span class="cx">                 A8B91ADC0CF3B32F008F91FF /* DumpRenderTreeWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = A8B91AD90CF3B32F008F91FF /* DumpRenderTreeWindow.mm */; };
</span><span class="cx">                 A8B91BFD0CF522B4008F91FF /* CheckedMalloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8B91BF70CF522B4008F91FF /* CheckedMalloc.cpp */; };
</span><span class="cx">                 A8D79CEB0FC28B2C004AC8FE /* DumpRenderTreeFileDraggingSource.m in Sources */ = {isa = PBXBuildFile; fileRef = A8D79CE90FC28B2C004AC8FE /* DumpRenderTreeFileDraggingSource.m */; };
</span><span class="cx">                 AA5A15EF16E15CD000F7C561 /* AccessibilityControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA5A15ED16E15CD000F7C561 /* AccessibilityControllerIOS.mm */; };
</span><span class="cx">                 AA5A15F016E15CD000F7C561 /* AccessibilityUIElementIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = AA5A15EE16E15CD000F7C561 /* AccessibilityUIElementIOS.mm */; };
</span><del>-                AE8259F308D22463000507AB /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE8257EF08D22389000507AB /* Carbon.framework */; };
-                AE8259F408D22463000507AB /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE8257EF08D22389000507AB /* Carbon.framework */; };
-                B5A752A208AF5D1F00138E45 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B5A752A108AF5D1F00138E45 /* QuartzCore.framework */; };
</del><span class="cx">                 BC0131DA0C9772010087317D /* TestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0131D80C9772010087317D /* TestRunner.cpp */; };
</span><span class="cx">                 BC0E24E10E2D9451001B6BC2 /* AccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0E24DF0E2D9451001B6BC2 /* AccessibilityUIElement.cpp */; };
</span><span class="cx">                 BC0E26150E2DA4C6001B6BC2 /* AccessibilityUIElementMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC0E26140E2DA4C6001B6BC2 /* AccessibilityUIElementMac.mm */; };
</span><span class="lines">@@ -155,6 +145,13 @@
</span><span class="cx">                         remoteGlobalIDString = 2D403EB2150871F9005358D2;
</span><span class="cx">                         remoteInfo = LayoutTestHelper;
</span><span class="cx">                 };
</span><ins>+                A1158D6718927B240088C17B /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = A1158D6218927AF00088C17B;
+                        remoteInfo = &quot;Perl Support&quot;;
+                };
</ins><span class="cx">                 A1321CD7188FABE000125434 /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
</span><span class="lines">@@ -169,6 +166,20 @@
</span><span class="cx">                         remoteGlobalIDString = 9340994A08540CAE007F3BC8;
</span><span class="cx">                         remoteInfo = DumpRenderTree;
</span><span class="cx">                 };
</span><ins>+                A19317FE18928835001C52B1 /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = A1158D7E18927E7A0088C17B;
+                        remoteInfo = DumpRenderTree.app;
+                };
+                A193180118928C10001C52B1 /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = A1321C9D188F9A3600125434;
+                        remoteInfo = &quot;DumpRenderTree (Library)&quot;;
+                };
</ins><span class="cx">                 A84F608E08B1370E00E9745F /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
</span><span class="lines">@@ -276,12 +287,31 @@
</span><span class="cx">                 9335435F03D75502008635CE /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 9340995408540CAF007F3BC8 /* DumpRenderTree */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.executable&quot;; includeInIndex = 0; path = DumpRenderTree; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 9830F31E15C81181005AB206 /* DumpRenderTreeCommon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DumpRenderTreeCommon.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A1103B5B1892498F00738C87 /* LayoutTestHelper.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = LayoutTestHelper.xcconfig; path = mac/Configurations/LayoutTestHelper.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D55189273EB0088C17B /* DumpRenderTreeBrowserView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DumpRenderTreeBrowserView.h; path = ios/DumpRenderTreeBrowserView.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D56189273EB0088C17B /* DumpRenderTreeBrowserView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = DumpRenderTreeBrowserView.mm; path = ios/DumpRenderTreeBrowserView.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D57189273EB0088C17B /* PixelDumpSupportIOS.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = PixelDumpSupportIOS.mm; path = ios/PixelDumpSupportIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D6C18927CF10088C17B /* DumpRenderTreeSupport.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = DumpRenderTreeSupport.c; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D6D18927CF10088C17B /* DumpRenderTreeSupport_wrapPregenerated.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = DumpRenderTreeSupport_wrapPregenerated.c; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D6E18927CF10088C17B /* DumpRenderTreeSupportPregenerated.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = DumpRenderTreeSupportPregenerated.pm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7018927CF10088C17B /* Changes */ = {isa = PBXFileReference; lastKnownFileType = text; path = Changes; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7118927CF10088C17B /* IPhoneSimulatorNotification.xs */ = {isa = PBXFileReference; lastKnownFileType = text; path = IPhoneSimulatorNotification.xs; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7318927CF20088C17B /* IPhoneSimulatorNotification.pm */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = IPhoneSimulatorNotification.pm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7418927CF20088C17B /* Makefile.PL */ = {isa = PBXFileReference; lastKnownFileType = text.script.perl; path = Makefile.PL; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7518927CF20088C17B /* MANIFEST */ = {isa = PBXFileReference; lastKnownFileType = text; path = MANIFEST; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7618927CF20088C17B /* ppport.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ppport.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7718927CF20088C17B /* README */ = {isa = PBXFileReference; lastKnownFileType = text; path = README; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7918927CF20088C17B /* IPhoneSimulatorNotification.t */ = {isa = PBXFileReference; lastKnownFileType = text; path = IPhoneSimulatorNotification.t; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7A18927CF20088C17B /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A1158D7F18927E7A0088C17B /* DumpRenderTree.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DumpRenderTree.app; sourceTree = BUILT_PRODUCTS_DIR; };
</ins><span class="cx">                 A1321C9E188F9A3600125434 /* libDumpRenderTree.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDumpRenderTree.a; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 A134E52F188FC27000901D06 /* DumpRenderTreeMain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DumpRenderTreeMain.mm; path = mac/DumpRenderTreeMain.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A134E53418905E6C00901D06 /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A134E53718905F4C00901D06 /* AccessibilityCommonMac.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AccessibilityCommonMac.h; path = mac/AccessibilityCommonMac.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A134E5391890671C00901D06 /* DumpRenderTreeLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = DumpRenderTreeLibrary.xcconfig; path = mac/Configurations/DumpRenderTreeLibrary.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A16CD20D18907A7D0092363E /* BaseTarget.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = BaseTarget.xcconfig; path = mac/Configurations/BaseTarget.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                A19317FC1892855F001C52B1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Info.plist; path = ios/Info.plist; sourceTree = &quot;&lt;group&gt;&quot;; };
+                A19317FD18928738001C52B1 /* DumpRenderTreeApp.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = DumpRenderTreeApp.xcconfig; path = mac/Configurations/DumpRenderTreeApp.xcconfig; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 A803FF7409CAAD08009B2A37 /* DumpRenderTree.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.h; fileEncoding = 4; path = DumpRenderTree.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 A817090308B164D300CCB9FB /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 A84F608908B136DA00E9745F /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = &quot;&lt;absolute&gt;&quot;; };
</span><span class="lines">@@ -380,10 +410,6 @@
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                2D403F05150871F9005358D2 /* Carbon.framework in Frameworks */,
-                                2D403F06150871F9005358D2 /* Cocoa.framework in Frameworks */,
-                                2D403F08150871F9005358D2 /* OpenGL.framework in Frameworks */,
-                                1A7961071803454C00FE42CD /* IOKit.framework in Frameworks */,
</del><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><span class="lines">@@ -391,23 +417,20 @@
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                A1321CD4188F9E7A00125434 /* libDumpRenderTree.a in Frameworks */,
-                                AE8259F308D22463000507AB /* Carbon.framework in Frameworks */,
-                                A84F608A08B136DA00E9745F /* Cocoa.framework in Frameworks */,
-                                A817090408B164D300CCB9FB /* JavaScriptCore.framework in Frameworks */,
-                                5DE8AE4413A2C15900D6A37D /* libWebCoreTestSupport.dylib in Frameworks */,
-                                23BCB8900EA57623003C6289 /* OpenGL.framework in Frameworks */,
-                                9340995108540CAE007F3BC8 /* WebKit.framework in Frameworks */,
</del><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><ins>+                A1158D7C18927E7A0088C17B /* Frameworks */ = {
+                        isa = PBXFrameworksBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx">                 B5A7525F08AF4A4A00138E45 /* Frameworks */ = {
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                AE8259F408D22463000507AB /* Carbon.framework in Frameworks */,
-                                A817090008B163EF00CCB9FB /* Cocoa.framework in Frameworks */,
-                                B5A752A208AF5D1F00138E45 /* QuartzCore.framework in Frameworks */,
</del><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><span class="lines">@@ -417,6 +440,7 @@
</span><span class="cx">                 08FB7794FE84155DC02AAC07 /* DumpRenderTree */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                A1158D6A18927CE10088C17B /* ios */,
</ins><span class="cx">                                 A134E53418905E6C00901D06 /* config.h */,
</span><span class="cx">                                 1A2FB84C178C80920059FD96 /* DefaultPolicyDelegate.h */,
</span><span class="cx">                                 1A2FB84D178C80930059FD96 /* DefaultPolicyDelegate.m */,
</span><span class="lines">@@ -602,6 +626,7 @@
</span><span class="cx">                                 2D403F19150871F9005358D2 /* LayoutTestHelper */,
</span><span class="cx">                                 141BF233096A44CF00E0753C /* TestNetscapePlugIn.plugin */,
</span><span class="cx">                                 A1321C9E188F9A3600125434 /* libDumpRenderTree.a */,
</span><ins>+                                A1158D7F18927E7A0088C17B /* DumpRenderTree.app */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = Products;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -624,6 +649,61 @@
</span><span class="cx">                         name = Resources;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                A1158D6A18927CE10088C17B /* ios */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A1158D55189273EB0088C17B /* DumpRenderTreeBrowserView.h */,
+                                A1158D56189273EB0088C17B /* DumpRenderTreeBrowserView.mm */,
+                                A19317FC1892855F001C52B1 /* Info.plist */,
+                                A1158D6B18927CF10088C17B /* PerlSupport */,
+                        );
+                        name = ios;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                A1158D6B18927CF10088C17B /* PerlSupport */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A1158D6C18927CF10088C17B /* DumpRenderTreeSupport.c */,
+                                A1158D6D18927CF10088C17B /* DumpRenderTreeSupport_wrapPregenerated.c */,
+                                A1158D6E18927CF10088C17B /* DumpRenderTreeSupportPregenerated.pm */,
+                                A1158D6F18927CF10088C17B /* IPhoneSimulatorNotification */,
+                                A1158D7A18927CF20088C17B /* Makefile */,
+                        );
+                        name = PerlSupport;
+                        path = ios/PerlSupport;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                A1158D6F18927CF10088C17B /* IPhoneSimulatorNotification */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A1158D7018927CF10088C17B /* Changes */,
+                                A1158D7118927CF10088C17B /* IPhoneSimulatorNotification.xs */,
+                                A1158D7218927CF20088C17B /* lib */,
+                                A1158D7418927CF20088C17B /* Makefile.PL */,
+                                A1158D7518927CF20088C17B /* MANIFEST */,
+                                A1158D7618927CF20088C17B /* ppport.h */,
+                                A1158D7718927CF20088C17B /* README */,
+                                A1158D7818927CF20088C17B /* t */,
+                        );
+                        path = IPhoneSimulatorNotification;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                A1158D7218927CF20088C17B /* lib */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A1158D7318927CF20088C17B /* IPhoneSimulatorNotification.pm */,
+                        );
+                        path = lib;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                A1158D7818927CF20088C17B /* t */ = {
+                        isa = PBXGroup;
+                        children = (
+                                A1158D7918927CF20088C17B /* IPhoneSimulatorNotification.t */,
+                        );
+                        path = t;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 A803FF6409CAACC1009B2A37 /* Frameworks */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -670,8 +750,10 @@
</span><span class="cx">                                 A16CD20D18907A7D0092363E /* BaseTarget.xcconfig */,
</span><span class="cx">                                 BCB282F40CFA7450007E533E /* DebugRelease.xcconfig */,
</span><span class="cx">                                 BCB281F00CFA713D007E533E /* DumpRenderTree.xcconfig */,
</span><ins>+                                A19317FD18928738001C52B1 /* DumpRenderTreeApp.xcconfig */,
</ins><span class="cx">                                 A134E5391890671C00901D06 /* DumpRenderTreeLibrary.xcconfig */,
</span><span class="cx">                                 BCB283D80CFA7AFD007E533E /* ImageDiff.xcconfig */,
</span><ins>+                                A1103B5B1892498F00738C87 /* LayoutTestHelper.xcconfig */,
</ins><span class="cx">                                 BCB283DE0CFA7C20007E533E /* TestNetscapePlugIn.xcconfig */,
</span><span class="cx">                         );
</span><span class="cx">                         name = Configurations;
</span><span class="lines">@@ -687,6 +769,7 @@
</span><span class="cx">                                 BCB2848A0CFA820F007E533E /* PixelDumpSupport.h */,
</span><span class="cx">                                 BCB284880CFA8202007E533E /* PixelDumpSupportCG.cpp */,
</span><span class="cx">                                 BCB284890CFA8202007E533E /* PixelDumpSupportCG.h */,
</span><ins>+                                A1158D57189273EB0088C17B /* PixelDumpSupportIOS.mm */,
</ins><span class="cx">                                 BCB2848C0CFA8221007E533E /* PixelDumpSupportMac.mm */,
</span><span class="cx">                         );
</span><span class="cx">                         name = PixelDump;
</span><span class="lines">@@ -714,6 +797,24 @@
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXHeadersBuildPhase section */
</span><span class="cx"> 
</span><ins>+/* Begin PBXLegacyTarget section */
+                A1158D6218927AF00088C17B /* Perl Support */ = {
+                        isa = PBXLegacyTarget;
+                        buildArgumentsString = &quot;$(ACTION)&quot;;
+                        buildConfigurationList = A1158D6318927AF00088C17B /* Build configuration list for PBXLegacyTarget &quot;Perl Support&quot; */;
+                        buildPhases = (
+                        );
+                        buildToolPath = /usr/bin/make;
+                        buildWorkingDirectory = &quot;$(SRCROOT)/ios/PerlSupport&quot;;
+                        dependencies = (
+                                A19317FF18928835001C52B1 /* PBXTargetDependency */,
+                        );
+                        name = &quot;Perl Support&quot;;
+                        passBuildSettingsInEnvironment = 1;
+                        productName = &quot;Perl Support&quot;;
+                };
+/* End PBXLegacyTarget section */
+
</ins><span class="cx"> /* Begin PBXNativeTarget section */
</span><span class="cx">                 141BF21E096A441D00E0753C /* TestNetscapePlugIn */ = {
</span><span class="cx">                         isa = PBXNativeTarget;
</span><span class="lines">@@ -769,6 +870,24 @@
</span><span class="cx">                         productReference = 9340995408540CAF007F3BC8 /* DumpRenderTree */;
</span><span class="cx">                         productType = &quot;com.apple.product-type.tool&quot;;
</span><span class="cx">                 };
</span><ins>+                A1158D7E18927E7A0088C17B /* DumpRenderTree.app */ = {
+                        isa = PBXNativeTarget;
+                        buildConfigurationList = A1158DAB18927E7B0088C17B /* Build configuration list for PBXNativeTarget &quot;DumpRenderTree.app&quot; */;
+                        buildPhases = (
+                                A1158D7B18927E7A0088C17B /* Sources */,
+                                A1158D7C18927E7A0088C17B /* Frameworks */,
+                                A1158D7D18927E7A0088C17B /* Resources */,
+                        );
+                        buildRules = (
+                        );
+                        dependencies = (
+                                A193180218928C10001C52B1 /* PBXTargetDependency */,
+                        );
+                        name = DumpRenderTree.app;
+                        productName = DumpRenderTree;
+                        productReference = A1158D7F18927E7A0088C17B /* DumpRenderTree.app */;
+                        productType = &quot;com.apple.product-type.application&quot;;
+                };
</ins><span class="cx">                 A1321C9D188F9A3600125434 /* DumpRenderTree (Library) */ = {
</span><span class="cx">                         isa = PBXNativeTarget;
</span><span class="cx">                         buildConfigurationList = A1321C9F188F9A3600125434 /* Build configuration list for PBXNativeTarget &quot;DumpRenderTree (Library)&quot; */;
</span><span class="lines">@@ -818,6 +937,8 @@
</span><span class="cx">                                 Japanese,
</span><span class="cx">                                 French,
</span><span class="cx">                                 German,
</span><ins>+                                en,
+                                Base,
</ins><span class="cx">                         );
</span><span class="cx">                         mainGroup = 08FB7794FE84155DC02AAC07 /* DumpRenderTree */;
</span><span class="cx">                         productRefGroup = 9340995508540CAF007F3BC8 /* Products */;
</span><span class="lines">@@ -827,9 +948,11 @@
</span><span class="cx">                                 A84F608D08B1370600E9745F /* All */,
</span><span class="cx">                                 A1321C9D188F9A3600125434 /* DumpRenderTree (Library) */,
</span><span class="cx">                                 9340994A08540CAE007F3BC8 /* DumpRenderTree */,
</span><ins>+                                A1158D7E18927E7A0088C17B /* DumpRenderTree.app */,
</ins><span class="cx">                                 B5A7525A08AF4A4A00138E45 /* ImageDiff */,
</span><span class="cx">                                 141BF21E096A441D00E0753C /* TestNetscapePlugIn */,
</span><span class="cx">                                 2D403EB2150871F9005358D2 /* LayoutTestHelper */,
</span><ins>+                                A1158D6218927AF00088C17B /* Perl Support */,
</ins><span class="cx">                         );
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXProject section */
</span><span class="lines">@@ -842,6 +965,13 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><ins>+                A1158D7D18927E7A0088C17B /* Resources */ = {
+                        isa = PBXResourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx"> /* End PBXResourcesBuildPhase section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXSourcesBuildPhase section */
</span><span class="lines">@@ -920,6 +1050,7 @@
</span><span class="cx">                                 BCA18B640C9B08C200114369 /* FrameLoadDelegate.mm in Sources */,
</span><span class="cx">                                 BCF6C6500C98E9C000AC063E /* GCController.cpp in Sources */,
</span><span class="cx">                                 BCA18B230C9B014B00114369 /* GCControllerMac.mm in Sources */,
</span><ins>+                                A1158D581892740C0088C17B /* DumpRenderTreeBrowserView.mm in Sources */,
</ins><span class="cx">                                 5185F6B210714E07007AA393 /* HistoryDelegate.mm in Sources */,
</span><span class="cx">                                 2CE88FA217124D8C00734FC0 /* JavaScriptThreading.cpp in Sources */,
</span><span class="cx">                                 E1B7816511AF31B7007E1BC2 /* MockGeolocationProvider.mm in Sources */,
</span><span class="lines">@@ -928,6 +1059,7 @@
</span><span class="cx">                                 BCA18B320C9B01B400114369 /* ObjCController.m in Sources */,
</span><span class="cx">                                 BCA18B7E0C9B08F100114369 /* ObjCPlugin.m in Sources */,
</span><span class="cx">                                 BCA18B800C9B08F100114369 /* ObjCPluginFunction.m in Sources */,
</span><ins>+                                A1158D59189274360088C17B /* PixelDumpSupportIOS.mm in Sources */,
</ins><span class="cx">                                 8465E2C70FFA8DF2003B8342 /* PixelDumpSupport.cpp in Sources */,
</span><span class="cx">                                 BCB284CD0CFA83C8007E533E /* PixelDumpSupportCG.cpp in Sources */,
</span><span class="cx">                                 BCB284D60CFA83D1007E533E /* PixelDumpSupportMac.mm in Sources */,
</span><span class="lines">@@ -945,6 +1077,14 @@
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="cx">                 };
</span><ins>+                A1158D7B18927E7A0088C17B /* Sources */ = {
+                        isa = PBXSourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                A19318001892886B001C52B1 /* DumpRenderTreeMain.mm in Sources */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx">                 A134E52E188FC0DB00901D06 /* Sources */ = {
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -974,6 +1114,11 @@
</span><span class="cx">                         target = 2D403EB2150871F9005358D2 /* LayoutTestHelper */;
</span><span class="cx">                         targetProxy = 2D403F201508736C005358D2 /* PBXContainerItemProxy */;
</span><span class="cx">                 };
</span><ins>+                A1158D6818927B240088C17B /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = A1158D6218927AF00088C17B /* Perl Support */;
+                        targetProxy = A1158D6718927B240088C17B /* PBXContainerItemProxy */;
+                };
</ins><span class="cx">                 A1321CD8188FABE000125434 /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = A1321C9D188F9A3600125434 /* DumpRenderTree (Library) */;
</span><span class="lines">@@ -984,6 +1129,16 @@
</span><span class="cx">                         target = 9340994A08540CAE007F3BC8 /* DumpRenderTree */;
</span><span class="cx">                         targetProxy = A134E52C188FC09200901D06 /* PBXContainerItemProxy */;
</span><span class="cx">                 };
</span><ins>+                A19317FF18928835001C52B1 /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = A1158D7E18927E7A0088C17B /* DumpRenderTree.app */;
+                        targetProxy = A19317FE18928835001C52B1 /* PBXContainerItemProxy */;
+                };
+                A193180218928C10001C52B1 /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = A1321C9D188F9A3600125434 /* DumpRenderTree (Library) */;
+                        targetProxy = A193180118928C10001C52B1 /* PBXContainerItemProxy */;
+                };
</ins><span class="cx">                 A84F608F08B1370E00E9745F /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = B5A7525A08AF4A4A00138E45 /* ImageDiff */;
</span><span class="lines">@@ -1040,7 +1195,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 2D403F16150871F9005358D2 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><del>-                        baseConfigurationReference = A16CD20D18907A7D0092363E /* BaseTarget.xcconfig */;
</del><ins>+                        baseConfigurationReference = A1103B5B1892498F00738C87 /* LayoutTestHelper.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = LayoutTestHelper;
</span><span class="cx">                         };
</span><span class="lines">@@ -1048,7 +1203,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 2D403F17150871F9005358D2 /* Release */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><del>-                        baseConfigurationReference = A16CD20D18907A7D0092363E /* BaseTarget.xcconfig */;
</del><ins>+                        baseConfigurationReference = A1103B5B1892498F00738C87 /* LayoutTestHelper.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 PRODUCT_NAME = LayoutTestHelper;
</span><span class="cx">                         };
</span><span class="lines">@@ -1056,7 +1211,7 @@
</span><span class="cx">                 };
</span><span class="cx">                 2D403F18150871F9005358D2 /* Production */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><del>-                        baseConfigurationReference = A16CD20D18907A7D0092363E /* BaseTarget.xcconfig */;
</del><ins>+                        baseConfigurationReference = A1103B5B1892498F00738C87 /* LayoutTestHelper.xcconfig */;
</ins><span class="cx">                         buildSettings = {
</span><span class="cx">                                 INSTALL_PATH = &quot;$(SYSTEM_LIBRARY_DIR)/Frameworks/$(WEBKIT_FRAMEWORK_RESOURCES_PATH)&quot;;
</span><span class="cx">                                 PRODUCT_NAME = LayoutTestHelper;
</span><span class="lines">@@ -1108,6 +1263,48 @@
</span><span class="cx">                         };
</span><span class="cx">                         name = Production;
</span><span class="cx">                 };
</span><ins>+                A1158D6418927AF00088C17B /* Debug */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                        };
+                        name = Debug;
+                };
+                A1158D6518927AF00088C17B /* Release */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                        };
+                        name = Release;
+                };
+                A1158D6618927AF00088C17B /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                        };
+                        name = Production;
+                };
+                A1158DAC18927E7B0088C17B /* Debug */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = A19317FD18928738001C52B1 /* DumpRenderTreeApp.xcconfig */;
+                        buildSettings = {
+                                INFOPLIST_FILE = &quot;$(SRCROOT)/ios/Info.plist&quot;;
+                        };
+                        name = Debug;
+                };
+                A1158DAD18927E7B0088C17B /* Release */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = A19317FD18928738001C52B1 /* DumpRenderTreeApp.xcconfig */;
+                        buildSettings = {
+                                INFOPLIST_FILE = &quot;$(SRCROOT)/ios/Info.plist&quot;;
+                        };
+                        name = Release;
+                };
+                A1158DAE18927E7B0088C17B /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = A19317FD18928738001C52B1 /* DumpRenderTreeApp.xcconfig */;
+                        buildSettings = {
+                                INFOPLIST_FILE = &quot;$(SRCROOT)/ios/Info.plist&quot;;
+                        };
+                        name = Production;
+                };
</ins><span class="cx">                 A1321CA0188F9A3600125434 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><span class="cx">                         baseConfigurationReference = A134E5391890671C00901D06 /* DumpRenderTreeLibrary.xcconfig */;
</span><span class="lines">@@ -1222,6 +1419,26 @@
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><span class="cx">                         defaultConfigurationName = Production;
</span><span class="cx">                 };
</span><ins>+                A1158D6318927AF00088C17B /* Build configuration list for PBXLegacyTarget &quot;Perl Support&quot; */ = {
+                        isa = XCConfigurationList;
+                        buildConfigurations = (
+                                A1158D6418927AF00088C17B /* Debug */,
+                                A1158D6518927AF00088C17B /* Release */,
+                                A1158D6618927AF00088C17B /* Production */,
+                        );
+                        defaultConfigurationIsVisible = 0;
+                        defaultConfigurationName = Production;
+                };
+                A1158DAB18927E7B0088C17B /* Build configuration list for PBXNativeTarget &quot;DumpRenderTree.app&quot; */ = {
+                        isa = XCConfigurationList;
+                        buildConfigurations = (
+                                A1158DAC18927E7B0088C17B /* Debug */,
+                                A1158DAD18927E7B0088C17B /* Release */,
+                                A1158DAE18927E7B0088C17B /* Production */,
+                        );
+                        defaultConfigurationIsVisible = 0;
+                        defaultConfigurationName = Production;
+                };
</ins><span class="cx">                 A1321C9F188F9A3600125434 /* Build configuration list for PBXNativeTarget &quot;DumpRenderTree (Library)&quot; */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeDumpRenderTreeFileDraggingSourceh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreeFileDraggingSource.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreeFileDraggingSource.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreeFileDraggingSource.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,8 @@
</span><span class="cx"> // (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"> #import &lt;Cocoa/Cocoa.h&gt;
</span><span class="cx"> 
</span><span class="cx"> // An implementation of NSDraggingSource for use with DumpRenderTreeDraggingInfo when dragging files
</span><span class="lines">@@ -37,3 +39,5 @@
</span><span class="cx"> - (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)flag;
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeDumpRenderTreePrefixh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreePrefix.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreePrefix.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/DumpRenderTreePrefix.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#include &lt;wtf/Platform.h&gt;
+
</ins><span class="cx"> #ifdef __OBJC__
</span><del>-
</del><span class="cx"> #import &lt;Foundation/Foundation.h&gt;
</span><del>-
</del><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeJavaScriptThreadingcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/JavaScriptThreading.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/JavaScriptThreading.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/JavaScriptThreading.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,6 +36,8 @@
</span><span class="cx"> #include &lt;stdlib.h&gt;
</span><span class="cx"> #include &lt;wtf/Assertions.h&gt;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><ins>+#include &lt;wtf/Threading.h&gt;
+#include &lt;wtf/ThreadingPrimitives.h&gt;
</ins><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> static const size_t javaScriptThreadsCount = 4;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreePixelDumpSupportcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/PixelDumpSupport.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/PixelDumpSupport.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/PixelDumpSupport.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,6 +43,7 @@
</span><span class="cx"> #include &quot;PixelDumpSupportCairo.h&quot;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> void dumpWebViewAsPixelsAndCompareWithExpected(const std::string&amp; expectedHash)
</span><span class="cx"> {
</span><span class="cx">     RefPtr&lt;BitmapContext&gt; context;
</span><span class="lines">@@ -73,6 +74,7 @@
</span><span class="cx">     if (dumpImage)
</span><span class="cx">         dumpBitmap(context.get(), actualHash);
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> static void appendIntToVector(unsigned number, Vector&lt;unsigned char&gt;&amp; vector)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInPluginObjecth"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -85,4 +85,4 @@
</span><span class="cx"> extern void* createCoreAnimationLayer();
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-#endif // PluginObject_h
</del><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInPluginObjectMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,7 +25,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;PluginObject.h&quot;
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> #include &lt;QuartzCore/QuartzCore.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface TestPluginLayer : CALayer
</span><span class="lines">@@ -96,5 +95,3 @@
</span><span class="cx">     [caLayer addSublayer:sublayer];
</span><span class="cx">     return caLayer;
</span><span class="cx"> }
</span><del>-
-
</del></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestObjectcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/TestObject.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/TestObject.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/TestObject.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,6 +24,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #include &quot;TestObject.h&quot;
</span><ins>+
</ins><span class="cx"> #include &quot;PluginObject.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &lt;string.h&gt;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestsGetUserAgentWithNullNPPFromNPPNewcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,8 +25,6 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;PluginTest.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;PluginTest.h&quot;
-
</del><span class="cx"> #include &quot;PluginObject.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace std;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestNetscapePlugInTestsNPRuntimeObjectFromDestroyedPlugincpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -85,4 +85,3 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> static PluginTest::Register&lt;NPRuntimeObjectFromDestroyedPlugin&gt; npRuntimeObjectFromDestroyedPlugin(&quot;npruntime-object-from-destroyed-plugin&quot;);
</span><del>-
</del></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestRunnercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestRunner.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestRunner.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestRunner.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> #include &lt;wtf/RefPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StdLibExtras.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> #include &lt;Carbon/Carbon.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -1316,6 +1316,30 @@
</span><span class="cx">     return JSValueMakeUndefined(context);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+static JSValueRef setTelephoneNumberParsingEnabledCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    if (argumentCount &lt; 1)
+        return JSValueMakeUndefined(context);
+
+    TestRunner* controller = static_cast&lt;TestRunner*&gt;(JSObjectGetPrivate(thisObject));
+    controller-&gt;setTelephoneNumberParsingEnabled(JSValueToBoolean(context, arguments[0]));
+
+    return JSValueMakeUndefined(context);
+}
+
+static JSValueRef setPagePausedCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
+{
+    if (argumentCount &lt; 1)
+        return JSValueMakeUndefined(context);
+
+    TestRunner* controller = static_cast&lt;TestRunner*&gt;(JSObjectGetPrivate(thisObject));
+    controller-&gt;setPagePaused(JSValueToBoolean(context, arguments[0]));
+
+    return JSValueMakeUndefined(context);
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx"> static JSValueRef setTextAutosizingEnabledCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
</span><span class="cx"> {
</span><span class="lines">@@ -1846,7 +1870,7 @@
</span><span class="cx"> 
</span><span class="cx"> static JSValueRef getSecureEventInputIsEnabledCallback(JSContextRef context, JSObjectRef thisObject, JSStringRef propertyName, JSValueRef* exception)
</span><span class="cx"> {
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     return JSValueMakeBoolean(context, IsSecureEventInputEnabled());
</span><span class="cx"> #else
</span><span class="cx">     return JSValueMakeBoolean(context, false);
</span><span class="lines">@@ -2168,6 +2192,10 @@
</span><span class="cx">         { &quot;setSpatialNavigationEnabled&quot;, setSpatialNavigationEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
</span><span class="cx">         { &quot;setStopProvisionalFrameLoads&quot;, setStopProvisionalFrameLoadsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
</span><span class="cx">         { &quot;setTabKeyCyclesThroughElements&quot;, setTabKeyCyclesThroughElementsCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
</span><ins>+#if PLATFORM(IOS)
+        { &quot;setTelephoneNumberParsingEnabled&quot;, setTelephoneNumberParsingEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+        { &quot;setPagePaused&quot;, setPagePausedCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
+#endif
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">         { &quot;setTextAutosizingEnabled&quot;, setTextAutosizingEnabledCallback, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontDelete },
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeTestRunnerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/TestRunner.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/TestRunner.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/TestRunner.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -118,6 +118,11 @@
</span><span class="cx">     void setSpatialNavigationEnabled(bool);
</span><span class="cx">     void setScrollbarPolicy(JSStringRef orientation, JSStringRef policy);
</span><span class="cx">     void startSpeechInput(JSContextRef inputElement);
</span><ins>+#if PLATFORM(IOS)
+    void setTelephoneNumberParsingEnabled(bool enable);
+    void setPagePaused(bool paused);
+#endif
+
</ins><span class="cx">     void setPageVisibility(const char*);
</span><span class="cx">     void resetPageVisibility();
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreecgImageDiffCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/cg/ImageDiffCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/cg/ImageDiffCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/cg/ImageDiffCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -44,7 +44,9 @@
</span><span class="cx"> #include &lt;CoreGraphics/CGImage.h&gt;
</span><span class="cx"> #include &lt;ImageIO/CGImageDestination.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(IOS)
+#include &lt;MobileCoreServices/UTCoreTypes.h&gt;
+#elif PLATFORM(MAC)
</ins><span class="cx"> #include &lt;LaunchServices/UTCoreTypes.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreecgPixelDumpSupportCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/cg/PixelDumpSupportCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -43,6 +43,10 @@
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(WIN)
</span><span class="cx"> #include &quot;MD5.h&quot;
</span><ins>+#elif PLATFORM(IOS)
+#include &lt;MobileCoreServices/UTCoreTypes.h&gt;
+#define COMMON_DIGEST_FOR_OPENSSL
+#include &lt;CommonCrypto/CommonDigest.h&gt;
</ins><span class="cx"> #elif PLATFORM(MAC)
</span><span class="cx"> #include &lt;LaunchServices/UTCoreTypes.h&gt;
</span><span class="cx"> #define COMMON_DIGEST_FOR_OPENSSL
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreegtkDumpRenderTreecpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/gtk/DumpRenderTree.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -192,9 +192,10 @@
</span><span class="cx"> 
</span><span class="cx"> CString getTopLevelPath()
</span><span class="cx"> {
</span><del>-    if (!g_getenv(&quot;WEBKIT_TOP_LEVEL&quot;))
-        g_setenv(&quot;WEBKIT_TOP_LEVEL&quot;, TOP_LEVEL_DIR, FALSE);
</del><ins>+    if (const gchar* topLevel = g_getenv(&quot;WEBKIT_TOP_LEVEL&quot;))
+        return topLevel;
</ins><span class="cx"> 
</span><ins>+    g_setenv(&quot;WEBKIT_TOP_LEVEL&quot;, TOP_LEVEL_DIR, FALSE);
</ins><span class="cx">     return TOP_LEVEL_DIR;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -247,7 +248,8 @@
</span><span class="cx"> 
</span><span class="cx">     CString fontsPath = getFontsPath();
</span><span class="cx">     if (fontsPath.isNull())
</span><del>-        g_error(&quot;Could not locate test fonts at %s. Is WEBKIT_TOP_LEVEL set?&quot;, fontsPath.data());
</del><ins>+        g_error(&quot;Could not locate test fonts at $WEBKIT_TOP_LEVEL/WebKitBuild/Dependencies/Root/webkitgtk-test-fonts. &quot;
+            &quot;WEBKIT_TOP_LEVEL is your WebKit checkout by default, and can be overridden by setting it as an environment variable.&quot;);
</ins><span class="cx"> 
</span><span class="cx">     GUniquePtr&lt;GDir&gt; fontsDirectory(g_dir_open(fontsPath.data(), 0, nullptr));
</span><span class="cx">     while (const char* directoryEntry = g_dir_read_name(fontsDirectory.get())) {
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosAccessibilityControllerIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityControllerIOS.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityControllerIOS.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityControllerIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,8 +27,6 @@
</span><span class="cx"> #import &quot;DumpRenderTree.h&quot;
</span><span class="cx"> #import &quot;AccessibilityController.h&quot;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-
</del><span class="cx"> #import &quot;AccessibilityCommonMac.h&quot;
</span><span class="cx"> #import &quot;AccessibilityUIElement.h&quot;
</span><span class="cx"> #import &lt;Foundation/Foundation.h&gt;
</span><span class="lines">@@ -134,5 +132,3 @@
</span><span class="cx">     JSRetainPtr&lt;JSStringRef&gt; platformName(Adopt, JSStringCreateWithUTF8CString(&quot;ios&quot;));
</span><span class="cx">     return platformName;
</span><span class="cx"> }
</span><del>-
-#endif // PLATFORM(IOS)
</del></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosAccessibilityUIElementIOSmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,12 +35,9 @@
</span><span class="cx"> #import &lt;WebCore/TextGranularity.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebFrame.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebHTMLView.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #import &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
-
</del><span class="cx"> #import &lt;UIKit/UIKit.h&gt;
</span><span class="cx"> 
</span><span class="cx"> typedef void (*AXPostedNotificationCallback)(id element, NSString* notification, void* context);
</span><span class="lines">@@ -653,6 +650,11 @@
</span><span class="cx">     return AccessibilityUIElement([m_element accessibilityElementForRow:row andColumn:col]);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+void AccessibilityUIElement::scrollToMakeVisible()
+{
+    // FIXME: implement
+}
+
</ins><span class="cx"> JSStringRef AccessibilityUIElement::selectedTextRange()
</span><span class="cx"> {
</span><span class="cx">     return JSStringCreateWithCharacters(0, 0);
</span><span class="lines">@@ -820,4 +822,14 @@
</span><span class="cx">     // FIXME: implement
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><del>-#endif // PLATFORM(IOS)
</del><ins>+
+JSStringRef AccessibilityUIElement::classList() const
+{
+    // FIXME: implement
+    return nullptr;
+}
+
+void AccessibilityUIElement::uiElementArrayAttributeValue(JSStringRef, Vector&lt;AccessibilityUIElement&gt;&amp;) const
+{
+    // FIXME: implement
+}
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosDumpRenderTreeBrowserViewh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+/*
+ * Copyright (C) 2009 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. ``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
+ * 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. 
+ */
+
+
+#import &lt;UIKit/UIWebBrowserView.h&gt;
+
+@interface DumpRenderTreeBrowserView : UIWebBrowserView {
+    BOOL _scrollingUsesUIWebScrollView;
+}
+
+@property (nonatomic, assign) BOOL scrollingUsesUIWebScrollView;
+
+@end
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosDumpRenderTreeBrowserViewmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.mm                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/DumpRenderTreeBrowserView.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,76 @@
</span><ins>+/*
+ * Copyright (C) 2010 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. ``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
+ * 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. 
+ */
+
+#import &quot;DumpRenderTreeBrowserView.h&quot;
+
+#if PLATFORM(IOS)
+
+#import &lt;WebKit/WebView.h&gt;
+
+@interface UIWebBrowserView (WebUIKitDelegate)
+- (BOOL)webView:(WebView *)webView shouldScrollToPoint:(CGPoint)point forFrame:(WebFrame *)frame;
+@end
+
+@implementation DumpRenderTreeBrowserView
+
+@synthesize scrollingUsesUIWebScrollView = _scrollingUsesUIWebScrollView;
+
+// We override [UIWebBrowserView addInputString] to avoid UIKit keyboard blocking
+// sending input strings to webkit because we don't have a interaction element in
+// DRT. Interaction element is only set by user tapping a element on the screen.
+//
+// see: &lt;rdar://problem/8040227&gt; DumpRenderTree: make addInputString work in iPhone DRT
+// see: &lt;rdar://problem/10499625&gt; DumpRenderTree: DRT should always use the UIScrollView for scrolling
+- (void)addInputString:(NSString *)str
+{
+    [[self webView] insertText:str];
+}
+
+// This is temporary solution to make window.scroll work in DumpRenderTree. The reason is
+// UIWebDocumentView's shouldScrollToPoint always tells WebKit not to scroll.  This makes
+// sense for MobileSafari/UIWebView app that there is top scroller and the scroller is
+// move to the right spot.  But DRT doesn't have scroller so the page never scrolls.
+//
+// see: &lt;rdar://problem/8153438&gt; DumpRenderTree: DRT needs to match MobileSafari/UIWebView app more closely.
+- (BOOL)webView:(WebView *)webView shouldScrollToPoint:(CGPoint)point forFrame:(WebFrame *)frame
+{
+    if (_scrollingUsesUIWebScrollView)
+        return [super webView:webView shouldScrollToPoint:point forFrame:frame];
+    if ([webView mainFrame] == frame)
+        [self sendScrollEventIfNecessaryWasUserScroll:NO];
+
+    return YES;
+}
+
+- (void)webView:(WebView *)sender addMessageToConsole:(NSDictionary *)dictionary withSource:(NSString *)source
+{
+    // Forward this to DRT UIDelegate since iOS WebKit by default sends this message to UIKitDelegate.
+    id uiDelegate = [[self webView] UIDelegate];
+    [uiDelegate webView:sender addMessageToConsole:dictionary withSource:source];
+}
+
+@end
+
+#endif // PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosInfoplist"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/Info.plist (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/Info.plist                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/Info.plist        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,26 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
+&lt;plist version=&quot;1.0&quot;&gt;
+&lt;dict&gt;
+        &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
+        &lt;string&gt;English&lt;/string&gt;
+        &lt;key&gt;CFBundleDisplayName&lt;/key&gt;
+        &lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundleExecutable&lt;/key&gt;
+        &lt;string&gt;DumpRenderTree&lt;/string&gt;
+        &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+        &lt;string&gt;org.webkit.DumpRenderTree&lt;/string&gt;
+        &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
+        &lt;string&gt;6.0&lt;/string&gt;
+        &lt;key&gt;CFBundleName&lt;/key&gt;
+        &lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundlePackageType&lt;/key&gt;
+        &lt;string&gt;APPL&lt;/string&gt;
+        &lt;key&gt;CFBundleSignature&lt;/key&gt;
+        &lt;string&gt;????&lt;/string&gt;
+        &lt;key&gt;CFBundleVersion&lt;/key&gt;
+        &lt;string&gt;1.0&lt;/string&gt;
+        &lt;key&gt;LSRequiresIPhoneOS&lt;/key&gt;
+        &lt;true/&gt;
+&lt;/dict&gt;
+&lt;/plist&gt;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupportc"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport.c (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport.c                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport.c        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,43 @@
</span><ins>+/*
+ * Copyright (C) 2009 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. ``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
+ * 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 &lt;stdio.h&gt;
+#include &lt;sys/sysctl.h&gt;
+
+int processIsCrashing(int pid)
+{
+    int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, pid };
+    struct kinfo_proc info;
+    size_t bufferSize = sizeof(info);
+    if (sysctl(mib, sizeof(mib) / sizeof(mib[0]), &amp;info, &amp;bufferSize, 0, 0)) {
+        perror(&quot;sysctl&quot;);
+        return 0;
+    }
+
+    struct extern_proc proc = info.kp_proc;
+
+    // The process is crashing if it is waiting to exit, is not a zombie, and has a non-zero exit code.
+    return proc.p_stat != SZOMB &amp;&amp; (proc.p_flag &amp; P_WEXIT) &amp;&amp; proc.p_xstat;
+}
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupportPregeneratedpm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupportPregenerated.pm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupportPregenerated.pm                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupportPregenerated.pm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,54 @@
</span><ins>+# This file was automatically generated by SWIG
+package DumpRenderTreeSupport;
+require Exporter;
+require DynaLoader;
+@ISA = qw(Exporter DynaLoader);
+package DumpRenderTreeSupportc;
+bootstrap DumpRenderTreeSupport;
+package DumpRenderTreeSupport;
+@EXPORT = qw( );
+
+# ---------- BASE METHODS -------------
+
+package DumpRenderTreeSupport;
+
+sub TIEHASH {
+    my ($classname,$obj) = @_;
+    return bless $obj, $classname;
+}
+
+sub CLEAR { }
+
+sub FIRSTKEY { }
+
+sub NEXTKEY { }
+
+sub FETCH {
+    my ($self,$field) = @_;
+    my $member_func = &quot;swig_${field}_get&quot;;
+    $self-&gt;$member_func();
+}
+
+sub STORE {
+    my ($self,$field,$newval) = @_;
+    my $member_func = &quot;swig_${field}_set&quot;;
+    $self-&gt;$member_func($newval);
+}
+
+sub this {
+    my $ptr = shift;
+    return tied(%$ptr);
+}
+
+
+# ------- FUNCTION WRAPPERS --------
+
+package DumpRenderTreeSupport;
+
+*processIsCrashing = *DumpRenderTreeSupportc::processIsCrashing;
+
+# ------- VARIABLE STUBS --------
+
+package DumpRenderTreeSupport;
+
+1;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportDumpRenderTreeSupport_wrapPregeneratedc"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,1167 @@
</span><ins>+/* ----------------------------------------------------------------------------
+ * This file was automatically generated by SWIG (http://www.swig.org).
+ * Version 1.3.24
+ * 
+ * This file is not intended to be easily readable and contains a number of 
+ * coding conventions designed to improve portability and efficiency. Do not make
+ * changes to this file unless you know what you are doing--modify the SWIG 
+ * interface file instead. 
+ * ----------------------------------------------------------------------------- */
+
+
+#ifndef SWIG_TEMPLATE_DISAMBIGUATOR
+#  if defined(__SUNPRO_CC) 
+#    define SWIG_TEMPLATE_DISAMBIGUATOR template
+#  else
+#    define SWIG_TEMPLATE_DISAMBIGUATOR 
+#  endif
+#endif
+
+/***********************************************************************
+ * swigrun.swg
+ *
+ *     This file contains generic CAPI SWIG runtime support for pointer
+ *     type checking.
+ *
+ ************************************************************************/
+
+/* This should only be incremented when either the layout of swig_type_info changes,
+   or for whatever reason, the runtime changes incompatibly */
+#define SWIG_RUNTIME_VERSION &quot;1&quot;
+
+/* define SWIG_TYPE_TABLE_NAME as &quot;SWIG_TYPE_TABLE&quot; */
+#ifdef SWIG_TYPE_TABLE
+#define SWIG_QUOTE_STRING(x) #x
+#define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
+#define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
+#else
+#define SWIG_TYPE_TABLE_NAME
+#endif
+
+#include &lt;string.h&gt;
+
+#ifndef SWIGINLINE
+#if defined(__cplusplus) || (defined(__GNUC__) &amp;&amp; !defined(__STRICT_ANSI__))
+#  define SWIGINLINE inline
+#else
+#  define SWIGINLINE
+#endif
+#endif
+
+/*
+  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
+  creating a static or dynamic library from the swig runtime code.
+  In 99.9% of the cases, swig just needs to declare them as 'static'.
+  
+  But only do this if is strictly necessary, ie, if you have problems
+  with your compiler or so.
+*/
+#ifndef SWIGRUNTIME
+#define SWIGRUNTIME static
+#endif
+#ifndef SWIGRUNTIMEINLINE
+#define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
+#endif
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+
+typedef void *(*swig_converter_func)(void *);
+typedef struct swig_type_info *(*swig_dycast_func)(void **);
+
+typedef struct swig_type_info {
+  const char             *name;
+  swig_converter_func     converter;
+  const char             *str;
+  void                   *clientdata;
+  swig_dycast_func        dcast;
+  struct swig_type_info  *next;
+  struct swig_type_info  *prev;
+} swig_type_info;
+
+/* 
+  Compare two type names skipping the space characters, therefore
+  &quot;char*&quot; == &quot;char *&quot; and &quot;Class&lt;int&gt;&quot; == &quot;Class&lt;int &gt;&quot;, etc.
+
+  Return 0 when the two name types are equivalent, as in
+  strncmp, but skipping ' '.
+*/
+SWIGRUNTIME int
+SWIG_TypeNameComp(const char *f1, const char *l1,
+                  const char *f2, const char *l2) {
+  for (;(f1 != l1) &amp;&amp; (f2 != l2); ++f1, ++f2) {
+    while ((*f1 == ' ') &amp;&amp; (f1 != l1)) ++f1;
+    while ((*f2 == ' ') &amp;&amp; (f2 != l2)) ++f2;
+    if (*f1 != *f2) return *f1 - *f2;
+  }
+  return (l1 - f1) - (l2 - f2);
+}
+
+/*
+  Check type equivalence in a name list like &lt;name1&gt;|&lt;name2&gt;|...
+*/
+SWIGRUNTIME int
+SWIG_TypeEquiv(const char *nb, const char *tb) {
+  int equiv = 0;
+  const char* te = tb + strlen(tb);
+  const char* ne = nb;
+  while (!equiv &amp;&amp; *ne) {
+    for (nb = ne; *ne; ++ne) {
+      if (*ne == '|') break;
+    }
+    equiv = SWIG_TypeNameComp(nb, ne, tb, te) == 0;
+    if (*ne) ++ne;
+  }
+  return equiv;
+}
+
+/*
+  Register a type mapping with the type-checking
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeRegisterTL(swig_type_info **tl, swig_type_info *ti) {
+  swig_type_info *tc, *head, *ret, *next;
+  /* Check to see if this type has already been registered */
+  tc = *tl;
+  while (tc) {
+    /* check simple type equivalence */
+    int typeequiv = (strcmp(tc-&gt;name, ti-&gt;name) == 0);   
+    /* check full type equivalence, resolving typedefs */
+    if (!typeequiv) {
+      /* only if tc is not a typedef (no '|' on it) */
+      if (tc-&gt;str &amp;&amp; ti-&gt;str &amp;&amp; !strstr(tc-&gt;str,&quot;|&quot;)) {
+        typeequiv = SWIG_TypeEquiv(ti-&gt;str,tc-&gt;str);
+      }
+    }
+    if (typeequiv) {
+      /* Already exists in the table.  Just add additional types to the list */
+      if (ti-&gt;clientdata) tc-&gt;clientdata = ti-&gt;clientdata;
+      head = tc;
+      next = tc-&gt;next;
+      goto l1;
+    }
+    tc = tc-&gt;prev;
+  }
+  head = ti;
+  next = 0;
+
+  /* Place in list */
+  ti-&gt;prev = *tl;
+  *tl = ti;
+
+  /* Build linked lists */
+  l1:
+  ret = head;
+  tc = ti + 1;
+  /* Patch up the rest of the links */
+  while (tc-&gt;name) {
+    head-&gt;next = tc;
+    tc-&gt;prev = head;
+    head = tc;
+    tc++;
+  }
+  if (next) next-&gt;prev = head;
+  head-&gt;next = next;
+
+  return ret;
+}
+
+/*
+  Check the typename
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeCheck(const char *c, swig_type_info *ty) {
+  swig_type_info *s;
+  if (!ty) return 0;        /* Void pointer */
+  s = ty-&gt;next;             /* First element always just a name */
+  do {
+    if (strcmp(s-&gt;name,c) == 0) {
+      if (s == ty-&gt;next) return s;
+      /* Move s to the top of the linked list */
+      s-&gt;prev-&gt;next = s-&gt;next;
+      if (s-&gt;next) {
+        s-&gt;next-&gt;prev = s-&gt;prev;
+      }
+      /* Insert s as second element in the list */
+      s-&gt;next = ty-&gt;next;
+      if (ty-&gt;next) ty-&gt;next-&gt;prev = s;
+      ty-&gt;next = s;
+      s-&gt;prev = ty;
+      return s;
+    }
+    s = s-&gt;next;
+  } while (s &amp;&amp; (s != ty-&gt;next));
+  return 0;
+}
+
+/*
+  Cast a pointer up an inheritance hierarchy
+*/
+SWIGRUNTIMEINLINE void *
+SWIG_TypeCast(swig_type_info *ty, void *ptr) {
+  return ((!ty) || (!ty-&gt;converter)) ? ptr : (*ty-&gt;converter)(ptr);
+}
+
+/* 
+   Dynamic pointer casting. Down an inheritance hierarchy
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
+  swig_type_info *lastty = ty;
+  if (!ty || !ty-&gt;dcast) return ty;
+  while (ty &amp;&amp; (ty-&gt;dcast)) {
+    ty = (*ty-&gt;dcast)(ptr);
+    if (ty) lastty = ty;
+  }
+  return lastty;
+}
+
+/*
+  Return the name associated with this type
+*/
+SWIGRUNTIMEINLINE const char *
+SWIG_TypeName(const swig_type_info *ty) {
+  return ty-&gt;name;
+}
+
+/*
+  Return the pretty name associated with this type,
+  that is an unmangled type name in a form presentable to the user.
+*/
+SWIGRUNTIME const char *
+SWIG_TypePrettyName(const swig_type_info *type) {
+  /* The &quot;str&quot; field contains the equivalent pretty names of the
+     type, separated by vertical-bar characters.  We choose
+     to print the last name, as it is often (?) the most
+     specific. */
+  if (type-&gt;str != NULL) {
+    const char *last_name = type-&gt;str;
+    const char *s;
+    for (s = type-&gt;str; *s; s++)
+      if (*s == '|') last_name = s+1;
+    return last_name;
+  }
+  else
+    return type-&gt;name;
+}
+
+/*
+  Search for a swig_type_info structure
+*/
+SWIGRUNTIME swig_type_info *
+SWIG_TypeQueryTL(swig_type_info *tl, const char *name) {
+  swig_type_info *ty = tl;
+  while (ty) {
+    if (ty-&gt;str &amp;&amp; (SWIG_TypeEquiv(ty-&gt;str,name))) return ty;
+    if (ty-&gt;name &amp;&amp; (strcmp(name,ty-&gt;name) == 0)) return ty;
+    ty = ty-&gt;prev;
+  }
+  return 0;
+}
+
+/* 
+   Set the clientdata field for a type
+*/
+SWIGRUNTIME void
+SWIG_TypeClientDataTL(swig_type_info *tl, swig_type_info *ti, void *clientdata) {
+  swig_type_info *tc, *equiv;
+  if (ti-&gt;clientdata) return;
+  /* if (ti-&gt;clientdata == clientdata) return; */
+  ti-&gt;clientdata = clientdata;
+  equiv = ti-&gt;next;
+  while (equiv) {
+    if (!equiv-&gt;converter) {
+      tc = tl;
+      while (tc) {
+        if ((strcmp(tc-&gt;name, equiv-&gt;name) == 0))
+          SWIG_TypeClientDataTL(tl,tc,clientdata);
+        tc = tc-&gt;prev;
+      }
+    }
+    equiv = equiv-&gt;next;
+  }
+}
+
+/* 
+   Pack binary data into a string
+*/
+SWIGRUNTIME char *
+SWIG_PackData(char *c, void *ptr, size_t sz) {
+  static char hex[17] = &quot;0123456789abcdef&quot;;
+  unsigned char *u = (unsigned char *) ptr;
+  const unsigned char *eu =  u + sz;
+  register unsigned char uu;
+  for (; u != eu; ++u) {
+    uu = *u;
+    *(c++) = hex[(uu &amp; 0xf0) &gt;&gt; 4];
+    *(c++) = hex[uu &amp; 0xf];
+  }
+  return c;
+}
+
+/* 
+   Unpack binary data from a string
+*/
+SWIGRUNTIME const char *
+SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
+  register unsigned char *u = (unsigned char *) ptr;
+  register const unsigned char *eu =  u + sz;
+  for (; u != eu; ++u) {
+    register int d = *(c++);
+    register unsigned char uu = 0;
+    if ((d &gt;= '0') &amp;&amp; (d &lt;= '9'))
+      uu = ((d - '0') &lt;&lt; 4);
+    else if ((d &gt;= 'a') &amp;&amp; (d &lt;= 'f'))
+      uu = ((d - ('a'-10)) &lt;&lt; 4);
+    else 
+      return (char *) 0;
+    d = *(c++);
+    if ((d &gt;= '0') &amp;&amp; (d &lt;= '9'))
+      uu |= (d - '0');
+    else if ((d &gt;= 'a') &amp;&amp; (d &lt;= 'f'))
+      uu |= (d - ('a'-10));
+    else 
+      return (char *) 0;
+    *u = uu;
+  }
+  return c;
+}
+
+/*
+  This function will propagate the clientdata field of type to any new
+  swig_type_info structures that have been added into the list of
+  equivalent types.  It is like calling SWIG_TypeClientData(type,
+  clientdata) a second time.
+*/
+SWIGRUNTIME void
+SWIG_PropagateClientDataTL(swig_type_info *tl, swig_type_info *type) {
+  swig_type_info *equiv = type-&gt;next;
+  swig_type_info *tc;
+  if (!type-&gt;clientdata) return;
+  while (equiv) {
+    if (!equiv-&gt;converter) {
+      tc = tl;
+      while (tc) {
+        if ((strcmp(tc-&gt;name, equiv-&gt;name) == 0) &amp;&amp; !tc-&gt;clientdata)
+          SWIG_TypeClientDataTL(tl,tc, type-&gt;clientdata);
+        tc = tc-&gt;prev;
+      }
+    }
+    equiv = equiv-&gt;next;
+  }
+}
+
+/* 
+   Pack 'void *' into a string buffer.
+*/
+SWIGRUNTIME char *
+SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
+  char *r = buff;
+  if ((2*sizeof(void *) + 2) &gt; bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,&amp;ptr,sizeof(void *));
+  if (strlen(name) + 1 &gt; (bsz - (r - buff))) return 0;
+  strcpy(r,name);
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,&quot;NULL&quot;) == 0) {
+      *ptr = (void *) 0;
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sizeof(void *));
+}
+
+SWIGRUNTIME char *
+SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
+  char *r = buff;
+  size_t lname = (name ? strlen(name) : 0);
+  if ((2*sz + 2 + lname) &gt; bsz) return 0;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  if (lname) {
+    strncpy(r,name,lname+1);
+  } else {
+    *r = 0;
+  }
+  return buff;
+}
+
+SWIGRUNTIME const char *
+SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
+  if (*c != '_') {
+    if (strcmp(c,&quot;NULL&quot;) == 0) {
+      memset(ptr,0,sz);
+      return name;
+    } else {
+      return 0;
+    }
+  }
+  return SWIG_UnpackData(++c,ptr,sz);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/***********************************************************************
+ * common.swg
+ *
+ *     This file contains generic SWIG runtime support for pointer
+ *     type checking as well as a few commonly used macros to control
+ *     external linkage.
+ *
+ * Author : David Beazley (beazley@cs.uchicago.edu)
+ *
+ * Copyright (c) 1999-2000, The University of Chicago
+ * 
+ * This file may be freely redistributed without license or fee provided
+ * this copyright message remains intact.
+ ************************************************************************/
+
+
+#if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
+#  if !defined(STATIC_LINKED)
+#    define SWIGEXPORT(a) __declspec(dllexport) a
+#  else
+#    define SWIGEXPORT(a) a
+#  endif
+#else
+#  define SWIGEXPORT(a) a
+#endif
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+
+
+/*************************************************************************/
+
+
+/* The static type info list */
+
+static swig_type_info *swig_type_list = 0;
+static swig_type_info **swig_type_list_handle = &amp;swig_type_list;
+  
+
+/* Register a type mapping with the type-checking */
+static swig_type_info *
+SWIG_TypeRegister(swig_type_info *ti) {
+  return SWIG_TypeRegisterTL(swig_type_list_handle, ti);
+}
+
+/* Search for a swig_type_info structure */
+static swig_type_info *
+SWIG_TypeQuery(const char *name) {
+  return SWIG_TypeQueryTL(*swig_type_list_handle, name);
+}
+
+/* Set the clientdata field for a type */
+static void
+SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
+  SWIG_TypeClientDataTL(*swig_type_list_handle, ti, clientdata);
+}
+
+/* This function will propagate the clientdata field of type to
+* any new swig_type_info structures that have been added into the list
+* of equivalent types.  It is like calling
+* SWIG_TypeClientData(type, clientdata) a second time.
+*/
+static void
+SWIG_PropagateClientData(swig_type_info *type) {
+  SWIG_PropagateClientDataTL(*swig_type_list_handle, type);
+}
+
+#ifdef __cplusplus
+}
+#endif
+
+/* ---------------------------------------------------------------------- -*- c -*-
+ * perl5.swg
+ *
+ * Perl5 runtime library
+ * $Header: /cvsroot/swig/SWIG/Lib/perl5/perlrun.swg,v 1.20 2004/11/29 23:13:57 wuzzeb Exp $
+ * ----------------------------------------------------------------------------- */
+
+#define SWIGPERL
+#define SWIGPERL5
+#ifdef __cplusplus
+/* Needed on some windows machines---since MS plays funny games with the header files under C++ */
+#include &lt;math.h&gt;
+#include &lt;stdlib.h&gt;
+extern &quot;C&quot; {
+#endif
+#include &quot;EXTERN.h&quot;
+#include &quot;perl.h&quot;
+#include &quot;XSUB.h&quot;
+
+/* Get rid of free and malloc defined by perl */
+#undef free
+#undef malloc
+
+#ifndef pTHX_
+#define pTHX_
+#endif
+
+#include &lt;string.h&gt;
+#ifdef __cplusplus
+}
+#endif
+
+/* Macro to call an XS function */
+
+#ifdef PERL_OBJECT 
+#  define SWIG_CALLXS(_name) _name(cv,pPerl) 
+#else 
+#  ifndef MULTIPLICITY 
+#    define SWIG_CALLXS(_name) _name(cv) 
+#  else 
+#    define SWIG_CALLXS(_name) _name(PERL_GET_THX, cv) 
+#  endif 
+#endif 
+
+/* Contract support */
+
+#define SWIG_contract_assert(expr,msg) if (!(expr)) { SWIG_croak(msg); } else
+
+/* Note: SwigMagicFuncHack is a typedef used to get the C++ compiler to just shut up already */
+
+#ifdef PERL_OBJECT
+#define MAGIC_PPERL  CPerlObj *pPerl = (CPerlObj *) this;
+typedef int (CPerlObj::*SwigMagicFunc)(SV *, MAGIC *);
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+typedef int (CPerlObj::*SwigMagicFuncHack)(SV *, MAGIC *);
+#ifdef __cplusplus
+}
+#endif
+
+#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
+#define SWIGCLASS_STATIC
+#else
+#define MAGIC_PPERL
+#define SWIGCLASS_STATIC static
+#ifndef MULTIPLICITY
+#define SWIG_MAGIC(a,b) (SV *a, MAGIC *b)
+typedef int (*SwigMagicFunc)(SV *, MAGIC *);
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+typedef int (*SwigMagicFuncHack)(SV *, MAGIC *);
+#ifdef __cplusplus
+}
+#endif
+
+
+#else
+#define SWIG_MAGIC(a,b) (struct interpreter *interp, SV *a, MAGIC *b)
+typedef int (*SwigMagicFunc)(struct interpreter *, SV *, MAGIC *);
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+typedef int (*SwigMagicFuncHack)(struct interpreter *, SV *, MAGIC *);
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+#endif
+
+#if defined(WIN32) &amp;&amp; defined(PERL_OBJECT) &amp;&amp; !defined(PerlIO_exportFILE)
+#define PerlIO_exportFILE(fh,fl) (FILE*)(fh)
+#endif
+
+/* Modifications for newer Perl 5.005 releases */
+
+#if !defined(PERL_REVISION) || ((PERL_REVISION &gt;= 5) &amp;&amp; ((PERL_VERSION &lt; 5) || ((PERL_VERSION == 5) &amp;&amp; (PERL_SUBVERSION &lt; 50))))
+#  ifndef PL_sv_yes
+#    define PL_sv_yes sv_yes
+#  endif
+#  ifndef PL_sv_undef
+#    define PL_sv_undef sv_undef
+#  endif
+#  ifndef PL_na
+#    define PL_na na
+#  endif
+#endif
+
+#include &lt;stdlib.h&gt;
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+
+#define SWIG_OWNER 1
+#define SWIG_SHADOW 2
+
+/* Common SWIG API */
+
+#ifdef PERL_OBJECT
+#  define SWIG_ConvertPtr(obj, pp, type, flags) \
+     SWIG_Perl_ConvertPtr(pPerl, obj, pp, type, flags)
+#  define SWIG_NewPointerObj(p, type, flags) \
+     SWIG_Perl_NewPointerObj(pPerl, p, type, flags)
+#  define SWIG_MakePackedObj(sv, p, s, type) \
+     SWIG_Perl_MakePackedObj(pPerl, sv, p, s, type)
+#  define SWIG_ConvertPacked(obj, p, s, type, flags) \
+     SWIG_Perl_ConvertPacked(pPerl, obj, p, s, type, flags)
+
+#else
+#  define SWIG_ConvertPtr(obj, pp, type, flags) \
+     SWIG_Perl_ConvertPtr(obj, pp, type, flags)
+#  define SWIG_NewPointerObj(p, type, flags) \
+     SWIG_Perl_NewPointerObj(p, type, flags)
+#  define SWIG_MakePackedObj(sv, p, s, type) \
+     SWIG_Perl_MakePackedObj(sv, p, s, type )
+#  define SWIG_ConvertPacked(obj, p, s, type, flags) \
+     SWIG_Perl_ConvertPacked(obj, p, s, type, flags)
+#endif
+
+/* Perl-specific API */
+#ifdef PERL_OBJECT
+#  define SWIG_MakePtr(sv, ptr, type, flags) \
+     SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags)
+#  define SWIG_SetError(str) \
+     SWIG_Perl_SetError(pPerl, str)
+#else
+#  define SWIG_MakePtr(sv, ptr, type, flags) \
+     SWIG_Perl_MakePtr(sv, ptr, type, flags)
+#  define SWIG_SetError(str) \
+     SWIG_Perl_SetError(str)
+#  define SWIG_SetErrorSV(str) \
+     SWIG_Perl_SetErrorSV(str)
+#endif
+
+#define SWIG_SetErrorf SWIG_Perl_SetErrorf
+
+
+#ifdef PERL_OBJECT
+#  define SWIG_MAYBE_PERL_OBJECT CPerlObj *pPerl,
+#else
+#  define SWIG_MAYBE_PERL_OBJECT
+#endif
+
+static swig_type_info **
+SWIG_Perl_GetTypeListHandle() {
+  static void *type_pointer = (void *)0;
+  SV *pointer;
+
+  /* first check if pointer already created */
+  if (!type_pointer) {
+    pointer = get_sv(&quot;swig_runtime_data::type_pointer&quot; SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, FALSE);
+    if (pointer &amp;&amp; SvOK(pointer)) {
+      type_pointer = INT2PTR(swig_type_info **, SvIV(pointer));
+    }
+  }
+
+  return (swig_type_info **) type_pointer;
+}
+
+/*
+  Search for a swig_type_info structure
+ */
+SWIGRUNTIMEINLINE swig_type_info *
+SWIG_Perl_GetTypeList() {
+  swig_type_info **tlh = SWIG_Perl_GetTypeListHandle();
+  return tlh ? *tlh : (swig_type_info*)0;
+}
+
+#define SWIG_Runtime_GetTypeList SWIG_Perl_GetTypeList 
+
+static swig_type_info *
+SWIG_Perl_TypeCheckRV(SWIG_MAYBE_PERL_OBJECT SV *rv, swig_type_info *ty) {
+  swig_type_info *s;
+  if (!ty) return 0;        /* Void pointer */
+  s = ty-&gt;next;             /* First element always just a name */
+  do {
+    if (sv_derived_from(rv, (char *) s-&gt;name)) {
+      if (s == ty-&gt;next) return s;
+      /* Move s to the top of the linked list */
+      s-&gt;prev-&gt;next = s-&gt;next;
+      if (s-&gt;next) {
+        s-&gt;next-&gt;prev = s-&gt;prev;
+      }
+      /* Insert s as second element in the list */
+      s-&gt;next = ty-&gt;next;
+      if (ty-&gt;next) ty-&gt;next-&gt;prev = s;
+      ty-&gt;next = s;
+      s-&gt;prev = ty;
+      return s;
+    }
+    s = s-&gt;next;
+  } while (s &amp;&amp; (s != ty-&gt;next));
+  return 0;
+}
+
+/* Function for getting a pointer value */
+
+static int
+SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *_t, int flags) {
+  swig_type_info *tc;
+  void *voidptr = (void *)0;
+
+  /* If magical, apply more magic */
+  if (SvGMAGICAL(sv))
+    mg_get(sv);
+
+  /* Check to see if this is an object */
+  if (sv_isobject(sv)) {
+    SV *tsv = (SV*) SvRV(sv);
+    IV tmp = 0;
+    if ((SvTYPE(tsv) == SVt_PVHV)) {
+      MAGIC *mg;
+      if (SvMAGICAL(tsv)) {
+        mg = mg_find(tsv,'P');
+        if (mg) {
+          sv = mg-&gt;mg_obj;
+          if (sv_isobject(sv)) {
+            tmp = SvIV((SV*)SvRV(sv));
+          }
+        }
+      } else {
+        return -1;
+      }
+    } else {
+      tmp = SvIV((SV*)SvRV(sv));
+    }
+    voidptr = (void *)tmp;
+    if (!_t) {
+      *(ptr) = voidptr;
+      return 0;
+    }
+  } else if (! SvOK(sv)) {            /* Check for undef */
+    *(ptr) = (void *) 0;
+    return 0;
+  } else if (SvTYPE(sv) == SVt_RV) {  /* Check for NULL pointer */
+    *(ptr) = (void *) 0;
+    if (!SvROK(sv))
+      return 0;
+    else
+      return -1;
+  } else {                            /* Don't know what it is */
+    *(ptr) = (void *) 0;
+    return -1;
+  }
+  if (_t) {
+    /* Now see if the types match */
+    char *_c = HvNAME(SvSTASH(SvRV(sv)));
+    tc = SWIG_TypeCheck(_c,_t);
+    if (!tc) {
+      *ptr = voidptr;
+      return -1;
+    }
+    *ptr = SWIG_TypeCast(tc,voidptr);
+    return 0;
+  }
+  *ptr = voidptr;
+  return 0;
+}
+
+static void
+SWIG_Perl_MakePtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, swig_type_info *t, int flags) {
+  if (ptr &amp;&amp; (flags &amp; SWIG_SHADOW)) {
+    SV *self;
+    SV *obj=newSV(0);
+    HV *hash=newHV();
+    HV *stash;
+    sv_setref_pv(obj, (char *) t-&gt;name, ptr);
+    stash=SvSTASH(SvRV(obj));
+    if (flags &amp; SWIG_OWNER) {
+      HV *hv;
+      GV *gv=*(GV**)hv_fetch(stash, &quot;OWNER&quot;, 5, TRUE);
+      if (!isGV(gv))
+        gv_init(gv, stash, &quot;OWNER&quot;, 5, FALSE);
+      hv=GvHVn(gv);
+      hv_store_ent(hv, obj, newSViv(1), 0);
+    }
+    sv_magic((SV *)hash, (SV *)obj, 'P', Nullch, 0);
+    SvREFCNT_dec(obj);
+    self=newRV_noinc((SV *)hash);
+    sv_setsv(sv, self);
+    SvREFCNT_dec((SV *)self);
+    sv_bless(sv, stash);
+  }
+  else {
+    sv_setref_pv(sv, (char *) t-&gt;name, ptr);
+  }
+}
+
+static SWIGINLINE SV *
+SWIG_Perl_NewPointerObj(SWIG_MAYBE_PERL_OBJECT void *ptr, swig_type_info *t, int flags) {
+  SV *result = sv_newmortal();
+  SWIG_MakePtr(result, ptr, t, flags);
+  return result;
+}
+
+static void
+  SWIG_Perl_MakePackedObj(SWIG_MAYBE_PERL_OBJECT SV *sv, void *ptr, int sz, swig_type_info *type) {
+  char result[1024];
+  char *r = result;
+  if ((2*sz + 1 + strlen(type-&gt;name)) &gt; 1000) return;
+  *(r++) = '_';
+  r = SWIG_PackData(r,ptr,sz);
+  strcpy(r,type-&gt;name);
+  sv_setpv(sv, result);
+}
+
+/* Convert a packed value value */
+static int
+SWIG_Perl_ConvertPacked(SWIG_MAYBE_PERL_OBJECT SV *obj, void *ptr, int sz, swig_type_info *ty, int flags) {
+  swig_type_info *tc;
+  const char  *c = 0;
+
+  if ((!obj) || (!SvOK(obj))) return -1;
+  c = SvPV(obj, PL_na);
+  /* Pointer values must start with leading underscore */
+  if (*c != '_') return -1;
+  c++;
+  c = SWIG_UnpackData(c,ptr,sz);
+  if (ty) {
+    tc = SWIG_TypeCheck(c,ty);
+    if (!tc) return -1;
+  }
+  return 0;
+}
+
+static SWIGINLINE void
+SWIG_Perl_SetError(SWIG_MAYBE_PERL_OBJECT const char *error) {
+  if (error) sv_setpv(perl_get_sv(&quot;@&quot;, TRUE), error);
+}
+
+static SWIGINLINE void
+SWIG_Perl_SetErrorSV(SWIG_MAYBE_PERL_OBJECT SV *error) {
+  if (error) sv_setsv(perl_get_sv(&quot;@&quot;, TRUE), error);
+}
+
+static void
+SWIG_Perl_SetErrorf(const char *fmt, ...) {
+  va_list args;
+  va_start(args, fmt);
+  sv_vsetpvfn(perl_get_sv(&quot;@&quot;, TRUE), fmt, strlen(fmt), &amp;args, Null(SV**), 0, Null(bool*));
+  va_end(args);
+}
+
+/* Macros for low-level exception handling */
+#define SWIG_fail       goto fail
+#define SWIG_croak(x)   { SWIG_SetError(x); goto fail; }
+#define SWIG_croakSV(x) { SWIG_SetErrorSV(x); goto fail; }
+/* most preprocessors do not support vararg macros :-( */
+/* #define SWIG_croakf(x...) { SWIG_SetErrorf(x); goto fail; } */
+
+
+typedef XS(SwigPerlWrapper);
+typedef SwigPerlWrapper *SwigPerlWrapperPtr;
+
+/* Structure for command table */
+typedef struct {
+  const char         *name;
+  SwigPerlWrapperPtr  wrapper;
+} swig_command_info;
+
+/* Information for constant table */
+
+#define SWIG_INT     1
+#define SWIG_FLOAT   2
+#define SWIG_STRING  3
+#define SWIG_POINTER 4
+#define SWIG_BINARY  5
+
+/* Constant information structure */
+typedef struct swig_constant_info {
+    int              type;
+    const char      *name;
+    long             lvalue;
+    double           dvalue;
+    void            *pvalue;
+    swig_type_info **ptype;
+} swig_constant_info;
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Structure for variable table */
+typedef struct {
+  const char   *name;
+  SwigMagicFunc   set;
+  SwigMagicFunc   get;
+  swig_type_info  **type;
+} swig_variable_info;
+
+/* Magic variable code */
+#ifndef PERL_OBJECT
+#define swig_create_magic(s,a,b,c) _swig_create_magic(s,a,b,c)
+  #ifndef MULTIPLICITY
+     static void _swig_create_magic(SV *sv, char *name, int (*set)(SV *, MAGIC *), int (*get)(SV *,MAGIC *)) {
+  #else
+     static void _swig_create_magic(SV *sv, char *name, int (*set)(struct interpreter*, SV *, MAGIC *), int (*get)(struct interpreter*, SV *,MAGIC *)) {
+  #endif
+#else
+#  define swig_create_magic(s,a,b,c) _swig_create_magic(pPerl,s,a,b,c)
+static void _swig_create_magic(CPerlObj *pPerl, SV *sv, const char *name, int (CPerlObj::*set)(SV *, MAGIC *), int (CPerlObj::*get)(SV *, MAGIC *)) {
+#endif
+  MAGIC *mg;
+  sv_magic(sv,sv,'U',(char *) name,strlen(name));
+  mg = mg_find(sv,'U');
+  mg-&gt;mg_virtual = (MGVTBL *) malloc(sizeof(MGVTBL));
+  mg-&gt;mg_virtual-&gt;svt_get = (SwigMagicFuncHack) get;
+  mg-&gt;mg_virtual-&gt;svt_set = (SwigMagicFuncHack) set;
+  mg-&gt;mg_virtual-&gt;svt_len = 0;
+  mg-&gt;mg_virtual-&gt;svt_clear = 0;
+  mg-&gt;mg_virtual-&gt;svt_free = 0;
+}
+
+
+
+
+
+
+#ifdef do_open
+  #undef do_open
+#endif
+#ifdef do_close
+  #undef do_close
+#endif
+#ifdef scalar
+  #undef scalar
+#endif
+#ifdef list
+  #undef list
+#endif
+#ifdef apply
+  #undef apply
+#endif
+#ifdef convert
+  #undef convert
+#endif
+#ifdef Error
+  #undef Error
+#endif
+#ifdef form
+  #undef form
+#endif
+#ifdef vform
+  #undef vform
+#endif
+#ifdef LABEL
+  #undef LABEL
+#endif
+#ifdef METHOD
+  #undef METHOD
+#endif
+#ifdef Move
+  #undef Move
+#endif
+#ifdef yylex
+  #undef yylex
+#endif
+#ifdef yyparse
+  #undef yyparse
+#endif
+#ifdef yyerror
+  #undef yyerror
+#endif
+#ifdef invert
+  #undef invert
+#endif
+#ifdef ref
+  #undef ref
+#endif
+#ifdef ENTER
+  #undef ENTER
+#endif
+
+
+/* -------- TYPES TABLE (BEGIN) -------- */
+
+static swig_type_info *swig_types[1];
+
+/* -------- TYPES TABLE (END) -------- */
+
+#define SWIG_init    boot_DumpRenderTreeSupport
+
+#define SWIG_name   &quot;DumpRenderTreeSupportc::boot_DumpRenderTreeSupport&quot;
+#define SWIG_prefix &quot;DumpRenderTreeSupportc::&quot;
+
+#ifdef __cplusplus
+extern &quot;C&quot;
+#endif
+#ifndef PERL_OBJECT
+#ifndef MULTIPLICITY
+SWIGEXPORT(void) SWIG_init (CV* cv);
+#else
+SWIGEXPORT(void) SWIG_init (pTHXo_ CV* cv);
+#endif
+#else
+SWIGEXPORT(void) SWIG_init (CV *cv, CPerlObj *);
+#endif
+
+int processIsCrashing(int);
+#ifdef PERL_OBJECT
+#define MAGIC_CLASS _wrap_DumpRenderTreeSupport_var::
+class _wrap_DumpRenderTreeSupport_var : public CPerlObj {
+public:
+#else
+#define MAGIC_CLASS
+#endif
+SWIGCLASS_STATIC int swig_magic_readonly(pTHX_ SV *sv, MAGIC *mg) {
+    MAGIC_PPERL
+    sv = sv; mg = mg;
+    croak(&quot;Value is read-only.&quot;);
+    return 0;
+}
+
+
+#ifdef PERL_OBJECT
+};
+#endif
+
+#ifdef __cplusplus
+extern &quot;C&quot; {
+#endif
+XS(_wrap_processIsCrashing) {
+    {
+        int arg1 ;
+        int result;
+        int argvi = 0;
+        dXSARGS;
+        
+        if ((items &lt; 1) || (items &gt; 1)) {
+            SWIG_croak(&quot;Usage: processIsCrashing(pid);&quot;);
+        }
+        arg1 = (int) SvIV(ST(0));
+        result = (int)processIsCrashing(arg1);
+        
+        ST(argvi) = sv_newmortal();
+        sv_setiv(ST(argvi++), (IV) result);
+        XSRETURN(argvi);
+        fail:
+        ;
+    }
+    croak(Nullch);
+}
+
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
+
+
+static swig_type_info *swig_types_initial[] = {
+0
+};
+
+
+/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
+
+static swig_constant_info swig_constants[] = {
+{0,0,0,0,0,0}
+};
+#ifdef __cplusplus
+}
+#endif
+static swig_variable_info swig_variables[] = {
+{0,0,0,0}
+};
+static swig_command_info swig_commands[] = {
+{&quot;DumpRenderTreeSupportc::processIsCrashing&quot;, _wrap_processIsCrashing},
+{0,0}
+};
+
+
+static void SWIG_Perl_SetTypeListHandle(swig_type_info **handle) {
+    SV *pointer;
+    
+    /* create a new pointer */
+    pointer = get_sv(&quot;swig_runtime_data::type_pointer&quot; SWIG_RUNTIME_VERSION SWIG_TYPE_TABLE_NAME, TRUE);
+    sv_setiv(pointer, PTR2IV(swig_type_list_handle));
+}
+
+static swig_type_info **
+SWIG_Perl_LookupTypePointer(swig_type_info **type_list_handle) {
+    swig_type_info **type_pointer;
+    
+    /* first check if module already created */
+    type_pointer = SWIG_Perl_GetTypeListHandle();
+    if (type_pointer) {
+        return type_pointer;
+    } else {
+        /* create a new module and variable */
+        SWIG_Perl_SetTypeListHandle(type_list_handle);
+        return type_list_handle;
+    }
+}
+
+
+#ifdef __cplusplus
+extern &quot;C&quot;
+#endif
+
+XS(SWIG_init) {
+    dXSARGS;
+    int i;
+    static int _init = 0;
+    if (!_init) {
+        swig_type_list_handle = SWIG_Perl_LookupTypePointer(swig_type_list_handle);
+        for (i = 0; swig_types_initial[i]; i++) {
+            swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
+        }
+        _init = 1;
+    }
+    
+    /* Install commands */
+    for (i = 0; swig_commands[i].name; i++) {
+        newXS((char*) swig_commands[i].name,swig_commands[i].wrapper, (char*)__FILE__);
+    }
+    
+    /* Install variables */
+    for (i = 0; swig_variables[i].name; i++) {
+        SV *sv;
+        sv = perl_get_sv((char*) swig_variables[i].name, TRUE | 0x2);
+        if (swig_variables[i].type) {
+            SWIG_MakePtr(sv,(void *)1, *swig_variables[i].type,0);
+        } else {
+            sv_setiv(sv,(IV) 0);
+        }
+        swig_create_magic(sv, (char *) swig_variables[i].name, swig_variables[i].set, swig_variables[i].get); 
+    }
+    
+    /* Install constant */
+    for (i = 0; swig_constants[i].type; i++) {
+        SV *sv;
+        sv = perl_get_sv((char*)swig_constants[i].name, TRUE | 0x2);
+        switch(swig_constants[i].type) {
+            case SWIG_INT:
+            sv_setiv(sv, (IV) swig_constants[i].lvalue);
+            break;
+            case SWIG_FLOAT:
+            sv_setnv(sv, (double) swig_constants[i].dvalue);
+            break;
+            case SWIG_STRING:
+            sv_setpv(sv, (char *) swig_constants[i].pvalue);
+            break;
+            case SWIG_POINTER:
+            SWIG_MakePtr(sv, swig_constants[i].pvalue, *(swig_constants[i].ptype),0);
+            break;
+            case SWIG_BINARY:
+            SWIG_MakePackedObj(sv, swig_constants[i].pvalue, swig_constants[i].lvalue, *(swig_constants[i].ptype));
+            break;
+            default:
+            break;
+        }
+        SvREADONLY_on(sv);
+    }
+    
+    ST(0) = &amp;PL_sv_yes;
+    XSRETURN(1);
+}
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationChanges"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Changes (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Changes                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Changes        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,6 @@
</span><ins>+Revision history for Perl extension IPhoneSimulatorNotification.
+
+1.00  Fri Sep 18 19:59:28 2009
+        - original version; created by h2xs 1.23 with options
+                -A -b 5.8.0 -n IPhoneSimulatorNotification
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationIPhoneSimulatorNotificationxs"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2009 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. ``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
+ * 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 &quot;EXTERN.h&quot;
+#include &quot;perl.h&quot;
+#include &quot;XSUB.h&quot;
+
+#include &quot;ppport.h&quot;
+
+#import &lt;Foundation/Foundation.h&gt;
+
+@interface IPhoneSimulatorNotification : NSObject
+@end
+
+@implementation IPhoneSimulatorNotification
+- (void)readyNotificationCallback { }
+- (void)applicationLaunchedNotificationCallback:(NSNotification *)notification { }
+- (void)applicationQuitNotificationCallback:(NSNotification *)notification { }
+@end
+
+MODULE = IPhoneSimulatorNotification                PACKAGE = IPhoneSimulatorNotification                
+
+PROTOTYPES: ENABLE
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationMANIFEST"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/MANIFEST (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/MANIFEST                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/MANIFEST        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,8 @@
</span><ins>+Changes
+IPhoneSimulatorNotification.xs
+Makefile.PL
+MANIFEST
+ppport.h
+README
+t/IPhoneSimulatorNotification.t
+lib/IPhoneSimulatorNotification.pm
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationMakefilePL"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+# Copyright (C) 2009 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. 
+# 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
+
+use 5.008000;
+use Config;
+use ExtUtils::MakeMaker;
+
+chomp(my $cc = my $ld = `xcrun -sdk $ENV{SDKROOT} -find clang`);
+
+# Remove -arch flags (especially &quot;-arch ppc&quot;) from linker flags.
+my $archflags = join(&quot; &quot;, map { (&quot;-arch&quot;, $_) } split(&quot; &quot;, $ENV{ARCHS})) . &quot; &quot;;
+my $config_ldflags = $Config{ldflags};
+$config_ldflags =~ s/-arch \S+( |$)//g;
+$config_ldflags = $archflags . $config_ldflags;
+my $config_lddlflags = $Config{lddlflags};
+$config_lddlflags =~ s/-arch \S+( |$)//g;
+$config_lddlflags = $archflags . $config_lddlflags;
+
+# See lib/ExtUtils/MakeMaker.pm for details of how to influence
+# the contents of the Makefile that is written.
+WriteMakefile(
+    NAME              =&gt; 'IPhoneSimulatorNotification',
+    VERSION_FROM      =&gt; 'lib/IPhoneSimulatorNotification.pm', # finds $VERSION
+    PREREQ_PM         =&gt; {}, # e.g., Module::Name =&gt; 1.1
+    ($] &gt;= 5.005 ?     ## Add these new keywords supported since 5.005
+      (ABSTRACT_FROM  =&gt; 'lib/IPhoneSimulatorNotification.pm', # retrieve abstract from module
+       AUTHOR         =&gt; 'David Kilzer &lt;ddkilzer@apple.com&gt;') : ()),
+    LIBS              =&gt; [''], # e.g., '-lm'
+    CC                =&gt; $cc,
+    CCFLAGS           =&gt; &quot;-x objective-c $archflags&quot;,
+    LD                =&gt; $ld,
+    LDDLFLAGS         =&gt; $config_lddlflags,
+    LDFLAGS           =&gt; $config_ldflags,
+    DEFINE            =&gt; '', # e.g., '-DHAVE_SOMETHING'
+    INC               =&gt; '-I.', # e.g., '-I. -I/usr/include/other'
+        # Un-comment this if you add C files to link with later:
+    # OBJECT            =&gt; '$(O_FILES)', # link all the C files too
+);
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationREADME"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/README (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/README                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/README        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+IPhoneSimulatorNotification version 1.00
+========================================
+
+The IPhoneSimulatorNotification module is used to receive distributed
+notifications from the iPhone Simulator.
+
+INSTALLATION
+
+To install this module type the following:
+
+   perl Makefile.PL
+   make
+   make test
+   make install
+
+DEPENDENCIES
+
+This module requires these other modules and libraries:
+
+  Foundation
+  PerlObjCBridge
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2009 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. ``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
+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. 
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationlibIPhoneSimulatorNotificationpm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,404 @@
</span><ins>+# Copyright (C) 2009 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. 
+# 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
+
+package IPhoneSimulatorNotification;
+
+use 5.008000;
+use strict;
+use warnings;
+
+require Exporter;
+
+our @ISA = qw(DynaLoader Exporter);
+
+# Items to export into callers namespace by default. Note: do not export
+# names by default without a very good reason. Use EXPORT_OK instead.
+# Do not simply export all your public functions/methods/constants.
+
+# This allows declaration use IPhoneSimulatorNotification ':all';
+# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
+# will save memory.
+our %EXPORT_TAGS = ( 'all' =&gt; [ qw(
+    
+) ] );
+
+our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
+
+our @EXPORT = qw(
+    &amp;applicationLaunchedApplicationPID
+    &amp;applicationLaunchedSessionUUID
+    &amp;hasReceivedApplicationLaunchedNotification
+    &amp;hasReceivedApplicationQuitNotification
+    &amp;hasReceivedReadyNotification
+    &amp;new
+    &amp;postEndSessionNotification
+    &amp;postStartSessionNotification
+    &amp;readyNotificationCallback
+    &amp;setHasReceivedReadyNotification
+    &amp;startObservingApplicationLaunchedNotification
+    &amp;startObservingApplicationQuitNotification
+    &amp;startObservingReadyNotification
+    &amp;stopObservingApplicationLaunchedNotification
+    &amp;stopObservingApplicationQuitNotification
+    &amp;stopObservingReadyNotification
+);
+
+our $VERSION = '1.01';
+
+require XSLoader;
+XSLoader::load('IPhoneSimulatorNotification', $VERSION);
+
+# Preloaded methods go here.
+
+use Foundation;
+
+PerlObjCBridge::preloadSelectors('IPhoneSimulatorNotification');
+
+sub new
+{
+    my $class = shift;
+
+    my $self = {};
+    $self-&gt;{hasReceivedApplicationLaunchedNotification} = {};
+    $self-&gt;{hasReceivedApplicationQuitNotification} = {};
+    $self-&gt;{hasReceivedReadyNotification} = 0;
+    bless($self, $class);
+
+    return $self;
+}
+
+sub DESTROY
+{
+    my $self = shift;
+
+    $self-&gt;stopObservingReadyNotification();
+}
+
+sub applicationLaunchedNotificationCallback_
+{
+    my $self = shift;
+    my $nsNotification = shift;
+    my $userInfo = $nsNotification-&gt;userInfo();
+
+    my $keyObject;
+    my $enumerator = $userInfo-&gt;keyEnumerator();
+    while ($keyObject = $enumerator-&gt;nextObject() and $$keyObject) {
+        my $key = $keyObject-&gt;UTF8String();
+        my $valueObject = $userInfo-&gt;objectForKey_($keyObject);
+        if ($key eq &quot;errorString&quot;) {
+            die &quot;iPhone Simulator returned error: &quot; . $valueObject-&gt;UTF8String();
+        } elsif ($key eq &quot;applicationPID&quot;) {
+            $self-&gt;{hasReceivedApplicationLaunchedNotification}-&gt;{applicationPID} = $valueObject-&gt;intValue();
+        } elsif ($key eq &quot;sessionUUID&quot;) {
+            $self-&gt;{hasReceivedApplicationLaunchedNotification}-&gt;{sessionUUID} = $valueObject-&gt;UTF8String();
+        }
+    }
+}
+
+sub applicationQuitNotificationCallback_
+{
+    my $self = shift;
+    my $nsNotification = shift;
+    my $userInfo = $nsNotification-&gt;userInfo();
+
+    my $keyObject;
+    my $enumerator = $userInfo-&gt;keyEnumerator();
+    while ($keyObject = $enumerator-&gt;nextObject() and $$keyObject) {
+        my $key = $keyObject-&gt;UTF8String();
+        my $valueObject = $userInfo-&gt;objectForKey_($keyObject);
+        if ($key eq &quot;errorString&quot;) {
+            my $errorString = $valueObject-&gt;UTF8String();
+            warn &quot;iPhone Simulator returned error: &quot; . $errorString
+                unless $errorString eq &quot;The simulated application quit.&quot;;
+        } elsif ($key eq &quot;sessionUUID&quot;) {
+            $self-&gt;{hasReceivedApplicationQuitNotification}-&gt;{sessionUUID} = $valueObject-&gt;UTF8String();
+        }
+    }
+}
+
+sub readyNotificationCallback
+{
+    my $self = shift;
+    $self-&gt;setHasReceivedReadyNotification(1);
+}
+
+sub applicationLaunchedApplicationPID
+{
+    my $self = shift;
+    return $self-&gt;{hasReceivedApplicationLaunchedNotification}-&gt;{applicationPID};
+}
+
+sub applicationLaunchedSessionUUID
+{
+    my $self = shift;
+    return $self-&gt;{hasReceivedApplicationLaunchedNotification}-&gt;{sessionUUID};
+}
+
+sub hasReceivedApplicationLaunchedNotification
+{
+    my $self = shift;
+    return scalar(keys(%{$self-&gt;{hasReceivedApplicationLaunchedNotification}})) &gt; 0;
+}
+
+sub hasReceivedApplicationQuitNotification
+{
+    my $self = shift;
+    return scalar(keys(%{$self-&gt;{hasReceivedApplicationQuitNotification}})) &gt; 0;
+}
+
+sub hasReceivedReadyNotification
+{
+    my $self = shift;
+    return $self-&gt;{hasReceivedReadyNotification};
+}
+
+sub postEndSessionNotification
+{
+    my $self = shift;
+    my $dict = shift;
+
+    my $userInfo = NSMutableDictionary-&gt;dictionaryWithCapacity_(2);
+    for my $property (qw(dontQuit sessionUUID)) {
+        if (exists $dict-&gt;{$property}) {
+            my $key = NSString-&gt;stringWithCString_($property);
+            my $value = $dict-&gt;{$property};
+            $userInfo-&gt;setObject_forKey_($value, $key);
+        }
+    }
+    $userInfo-&gt;setObject_forKey_(NSNumber-&gt;numberWithInt_(1), NSString-&gt;stringWithCString_(&quot;version&quot;));
+
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;postNotificationName_object_userInfo_(&quot;com.apple.iphonesimulator.endSession&quot;, undef, $userInfo);
+}
+
+sub postStartSessionNotification
+{
+    my $self = shift;
+    my $dict = shift;
+
+    my $userInfo = NSMutableDictionary-&gt;dictionaryWithCapacity_(4);
+    for my $property (qw(applicationArguments applicationEnvironment applicationIdentifier applicationPath deviceFamily deviceInfo productType sessionOwner sessionUUID sdkRoot version waitForDebugger)) {
+        if (exists $dict-&gt;{$property}) {
+            my $key = NSString-&gt;stringWithCString_($property);
+            my $value = $dict-&gt;{$property};
+            $userInfo-&gt;setObject_forKey_($value, $key);
+        }
+    }
+    $userInfo-&gt;setObject_forKey_(NSNumber-&gt;numberWithInt_(1), NSString-&gt;stringWithCString_(&quot;version&quot;));
+
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;postNotificationName_object_userInfo_(&quot;com.apple.iphonesimulator.startSession&quot;, undef, $userInfo);
+}
+
+sub setHasReceivedReadyNotification
+{
+    my $self = shift;
+    $self-&gt;{hasReceivedReadyNotification} = shift;
+}
+
+sub startObservingApplicationLaunchedNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;addObserver_selector_name_object_($self, 'applicationLaunchedNotificationCallback:', &quot;com.apple.iphonesimulator.applicationLaunched&quot;, undef); 
+}
+
+sub startObservingApplicationQuitNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;addObserver_selector_name_object_($self, 'applicationQuitNotificationCallback:', &quot;com.apple.iphonesimulator.applicationQuit&quot;, undef); 
+}
+
+sub startObservingReadyNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;addObserver_selector_name_object_($self, 'readyNotificationCallback', &quot;com.apple.iphonesimulator.ready&quot;, undef); 
+}
+
+sub stopObservingApplicationLaunchedNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;removeObserver_name_object_($self, &quot;com.apple.iphonesimulator.applicationLaunched&quot;, undef); 
+}
+
+sub stopObservingApplicationQuitNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;removeObserver_name_object_($self, &quot;com.apple.iphonesimulator.applicationQuit&quot;, undef); 
+}
+
+sub stopObservingReadyNotification
+{
+    my $self = shift;
+    my $center = NSDistributedNotificationCenter-&gt;defaultCenter();
+    $center-&gt;removeObserver_name_object_($self, &quot;com.apple.iphonesimulator.ready&quot;, undef); 
+}
+
+1;
+__END__
+
+=head1 NAME
+
+IPhoneSimulatorNotification - Perl extension for receiving distributed notifications from the iPhone Simulator
+
+=head1 SYNOPSIS
+
+    use IPhoneSimulatorNotification;
+
+    my $iphoneSimulatorNotification = new IPhoneSimulatorNotification;
+    $iphoneSimulatorNotification-&gt;startObservingReadyNotification();
+
+    while (!$iphoneSimulatorNotification-&gt;hasReceivedReadyNotification()) {
+        my $date = NSDate-&gt;dateWithTimeIntervalSinceNow(0.1);
+        NSRunLoop-&gt;currentRunLoop-&gt;runUntilDate($date);
+    }
+
+    $iphoneSimulatorNotification-&gt;stopObservingReadyNotification();
+
+=head1 DESCRIPTION
+
+IPhoneSimulatorNotification is used to receive distributed notifications
+from the iPhone Simulator.
+
+=head2 Export
+
+C&lt;&amp;applicationLaunchedApplicationPID&gt;,
+C&lt;&amp;applicationLaunchedSessionUUID&gt;,
+C&lt;&amp;hasReceivedApplicationLaunchedNotification&gt;,
+C&lt;&amp;hasReceivedApplicationQuitNotification&gt;,
+C&lt;&amp;hasReceivedReadyNotification&gt;,
+C&lt;&amp;new&gt;,
+C&lt;&amp;postEndSessionNotification&gt;,
+C&lt;&amp;postStartSessionNotification&gt;,
+C&lt;&amp;readyNotificationCallback&gt;,
+C&lt;&amp;setHasReceivedReadyNotification&gt;,
+C&lt;&amp;startObservingApplicationLaunchedNotification&gt;,
+C&lt;&amp;startObservingApplicationQuitNotification&gt;,
+C&lt;&amp;startObservingReadyNotification&gt;,
+C&lt;&amp;stopObservingApplicationLaunchedNotification&gt;,
+C&lt;&amp;stopObservingApplicationQuitNotification&gt;,
+and
+C&lt;&amp;stopObservingReadyNotification&gt;
+are exported by default.
+
+=head2 Methods
+
+=over 4
+
+=item applicationLaunchedApplicationPID()
+
+Returns the PID of the launched application after the application launched
+distributed notification has been received.
+
+=item applicationLaunchedSessionUUID()
+
+Returns the session UUID of the launched application after the application
+launched distributed notification has been received.
+
+=item hasReceivedApplicationLaunchedNotification()
+
+Returns true if the &quot;com.apple.iphonesimulator.applicationLaunched&quot;
+distributed notification has been received, else false.
+
+=item hasReceivedApplicationQuitNotification()
+
+Returns true if the &quot;com.apple.iphonesimulator.applicationQuit&quot; distributed
+notification has been received, else false.
+
+=item hasReceivedReadyNotification()
+
+Returns 1 if the &quot;com.apple.iphonesimulator.ready&quot; distributed notification
+has been received from the iPhone Simulator, else returns 0.
+
+Note that if you want to reuse the IPhoneSimulatorNotification object, you
+must reset the internal state using the C&lt;&amp;setHasReceivedReadyNotification&gt;
+method.
+
+=item new()
+
+Creates a new IPhoneSimulatorNotification object.
+
+=item postEndSessionNotification()
+
+Sends &quot;com.apple.iphonesimulator.endSession&quot; distributed notification for
+the iPhone Simulator process.
+
+=item postStartSessionNotification()
+
+Sends &quot;com.apple.iphonesimulator.startSession&quot; distributed notification
+for the iPhone Simulator process.
+
+=item readyNotificationCallback()
+
+Method used to receive the &quot;com.apple.iphonesimulator.ready&quot; distributed
+notification.  Calls C&lt;&amp;setHasReceivedReadyNotification&gt; to set the value
+to 1.
+
+=item setHasReceivedReadyNotification($)
+
+Sets the internal state to the value provided.  Should be 0 or 1.
+
+=item startObservingApplicationLaunchedNotification()
+
+Starts observing the &quot;com.apple.iphonesimulator.applicationLaunched&quot;
+distributed notification.
+
+=item startObservingApplicationQuitNotification()
+
+Starts observing the &quot;com.apple.iphonesimulator.applicationQuit&quot;
+distributed notification.
+
+=item startObservingReadyNotification()
+
+Starts observing the &quot;com.apple.iphonesimulator.ready&quot; distributed
+notification.
+
+=item stopObservingApplicationLaunchedNotification()
+
+Stops observing the &quot;com.apple.iphonesimulator.applicationLaunched&quot;
+distributed notification.
+
+=item stopObservingApplicationQuitNotification()
+
+Stops observing the &quot;com.apple.iphonesimulator.applicationQuit&quot;
+distributed notification.
+
+=item stopObservingReadyNotification()
+
+Stops observing the &quot;com.apple.iphonesimulator.ready&quot; distributed
+notification.
+
+=back
+
+=head1 SEE ALSO
+
+L&lt;Foundation&gt; and L&lt;PerlObjCBridge&gt;.
+
+=cut
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationppporth"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/ppport.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/ppport.h                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/ppport.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,6376 @@
</span><ins>+#if 0
+&lt;&lt;'SKIP';
+#endif
+/*
+----------------------------------------------------------------------
+
+    ppport.h -- Perl/Pollution/Portability Version 3.13
+
+    Automatically created by Devel::PPPort running under perl 5.010000.
+
+    Do NOT edit this file directly! -- Edit PPPort_pm.PL and the
+    includes in parts/inc/ instead.
+
+    Use 'perldoc ppport.h' to view the documentation below.
+
+----------------------------------------------------------------------
+
+SKIP
+
+=pod
+
+=head1 NAME
+
+ppport.h - Perl/Pollution/Portability version 3.13
+
+=head1 SYNOPSIS
+
+  perl ppport.h [options] [source files]
+
+  Searches current directory for files if no [source files] are given
+
+  --help                      show short help
+
+  --version                   show version
+
+  --patch=file                write one patch file with changes
+  --copy=suffix               write changed copies with suffix
+  --diff=program              use diff program and options
+
+  --compat-version=version    provide compatibility with Perl version
+  --cplusplus                 accept C++ comments
+
+  --quiet                     don't output anything except fatal errors
+  --nodiag                    don't show diagnostics
+  --nohints                   don't show hints
+  --nochanges                 don't suggest changes
+  --nofilter                  don't filter input files
+
+  --strip                     strip all script and doc functionality from
+                              ppport.h
+
+  --list-provided             list provided API
+  --list-unsupported          list unsupported API
+  --api-info=name             show Perl API portability information
+
+=head1 COMPATIBILITY
+
+This version of F&lt;ppport.h&gt; is designed to support operation with Perl
+installations back to 5.003, and has been tested up to 5.10.0.
+
+=head1 OPTIONS
+
+=head2 --help
+
+Display a brief usage summary.
+
+=head2 --version
+
+Display the version of F&lt;ppport.h&gt;.
+
+=head2 --patch=I&lt;file&gt;
+
+If this option is given, a single patch file will be created if
+any changes are suggested. This requires a working diff program
+to be installed on your system.
+
+=head2 --copy=I&lt;suffix&gt;
+
+If this option is given, a copy of each file will be saved with
+the given suffix that contains the suggested changes. This does
+not require any external programs. Note that this does not
+automagially add a dot between the original filename and the
+suffix. If you want the dot, you have to include it in the option
+argument.
+
+If neither C&lt;--patch&gt; or C&lt;--copy&gt; are given, the default is to
+simply print the diffs for each file. This requires either
+C&lt;Text::Diff&gt; or a C&lt;diff&gt; program to be installed.
+
+=head2 --diff=I&lt;program&gt;
+
+Manually set the diff program and options to use. The default
+is to use C&lt;Text::Diff&gt;, when installed, and output unified
+context diffs.
+
+=head2 --compat-version=I&lt;version&gt;
+
+Tell F&lt;ppport.h&gt; to check for compatibility with the given
+Perl version. The default is to check for compatibility with Perl
+version 5.003. You can use this option to reduce the output
+of F&lt;ppport.h&gt; if you intend to be backward compatible only
+down to a certain Perl version.
+
+=head2 --cplusplus
+
+Usually, F&lt;ppport.h&gt; will detect C++ style comments and
+replace them with C style comments for portability reasons.
+Using this option instructs F&lt;ppport.h&gt; to leave C++
+comments untouched.
+
+=head2 --quiet
+
+Be quiet. Don't print anything except fatal errors.
+
+=head2 --nodiag
+
+Don't output any diagnostic messages. Only portability
+alerts will be printed.
+
+=head2 --nohints
+
+Don't output any hints. Hints often contain useful portability
+notes. Warnings will still be displayed.
+
+=head2 --nochanges
+
+Don't suggest any changes. Only give diagnostic output and hints
+unless these are also deactivated.
+
+=head2 --nofilter
+
+Don't filter the list of input files. By default, files not looking
+like source code (i.e. not *.xs, *.c, *.cc, *.cpp or *.h) are skipped.
+
+=head2 --strip
+
+Strip all script and documentation functionality from F&lt;ppport.h&gt;.
+This reduces the size of F&lt;ppport.h&gt; dramatically and may be useful
+if you want to include F&lt;ppport.h&gt; in smaller modules without
+increasing their distribution size too much.
+
+The stripped F&lt;ppport.h&gt; will have a C&lt;--unstrip&gt; option that allows
+you to undo the stripping, but only if an appropriate C&lt;Devel::PPPort&gt;
+module is installed.
+
+=head2 --list-provided
+
+Lists the API elements for which compatibility is provided by
+F&lt;ppport.h&gt;. Also lists if it must be explicitly requested,
+if it has dependencies, and if there are hints or warnings for it.
+
+=head2 --list-unsupported
+
+Lists the API elements that are known not to be supported by
+F&lt;ppport.h&gt; and below which version of Perl they probably
+won't be available or work.
+
+=head2 --api-info=I&lt;name&gt;
+
+Show portability information for API elements matching I&lt;name&gt;.
+If I&lt;name&gt; is surrounded by slashes, it is interpreted as a regular
+expression.
+
+=head1 DESCRIPTION
+
+In order for a Perl extension (XS) module to be as portable as possible
+across differing versions of Perl itself, certain steps need to be taken.
+
+=over 4
+
+=item *
+
+Including this header is the first major one. This alone will give you
+access to a large part of the Perl API that hasn't been available in
+earlier Perl releases. Use
+
+    perl ppport.h --list-provided
+
+to see which API elements are provided by ppport.h.
+
+=item *
+
+You should avoid using deprecated parts of the API. For example, using
+global Perl variables without the C&lt;PL_&gt; prefix is deprecated. Also,
+some API functions used to have a C&lt;perl_&gt; prefix. Using this form is
+also deprecated. You can safely use the supported API, as F&lt;ppport.h&gt;
+will provide wrappers for older Perl versions.
+
+=item *
+
+If you use one of a few functions or variables that were not present in
+earlier versions of Perl, and that can't be provided using a macro, you
+have to explicitly request support for these functions by adding one or
+more C&lt;#define&gt;s in your source code before the inclusion of F&lt;ppport.h&gt;.
+
+These functions or variables will be marked C&lt;explicit&gt; in the list shown
+by C&lt;--list-provided&gt;.
+
+Depending on whether you module has a single or multiple files that
+use such functions or variables, you want either C&lt;static&gt; or global
+variants.
+
+For a C&lt;static&gt; function or variable (used only in a single source
+file), use:
+
+    #define NEED_function
+    #define NEED_variable
+
+For a global function or variable (used in multiple source files),
+use:
+
+    #define NEED_function_GLOBAL
+    #define NEED_variable_GLOBAL
+
+Note that you mustn't have more than one global request for the
+same function or variable in your project.
+
+    Function / Variable       Static Request               Global Request
+    -----------------------------------------------------------------------------------------
+    PL_signals                NEED_PL_signals              NEED_PL_signals_GLOBAL
+    eval_pv()                 NEED_eval_pv                 NEED_eval_pv_GLOBAL
+    grok_bin()                NEED_grok_bin                NEED_grok_bin_GLOBAL
+    grok_hex()                NEED_grok_hex                NEED_grok_hex_GLOBAL
+    grok_number()             NEED_grok_number             NEED_grok_number_GLOBAL
+    grok_numeric_radix()      NEED_grok_numeric_radix      NEED_grok_numeric_radix_GLOBAL
+    grok_oct()                NEED_grok_oct                NEED_grok_oct_GLOBAL
+    load_module()             NEED_load_module             NEED_load_module_GLOBAL
+    my_snprintf()             NEED_my_snprintf             NEED_my_snprintf_GLOBAL
+    my_strlcat()              NEED_my_strlcat              NEED_my_strlcat_GLOBAL
+    my_strlcpy()              NEED_my_strlcpy              NEED_my_strlcpy_GLOBAL
+    newCONSTSUB()             NEED_newCONSTSUB             NEED_newCONSTSUB_GLOBAL
+    newRV_noinc()             NEED_newRV_noinc             NEED_newRV_noinc_GLOBAL
+    newSVpvn_share()          NEED_newSVpvn_share          NEED_newSVpvn_share_GLOBAL
+    sv_2pv_flags()            NEED_sv_2pv_flags            NEED_sv_2pv_flags_GLOBAL
+    sv_2pvbyte()              NEED_sv_2pvbyte              NEED_sv_2pvbyte_GLOBAL
+    sv_catpvf_mg()            NEED_sv_catpvf_mg            NEED_sv_catpvf_mg_GLOBAL
+    sv_catpvf_mg_nocontext()  NEED_sv_catpvf_mg_nocontext  NEED_sv_catpvf_mg_nocontext_GLOBAL
+    sv_pvn_force_flags()      NEED_sv_pvn_force_flags      NEED_sv_pvn_force_flags_GLOBAL
+    sv_setpvf_mg()            NEED_sv_setpvf_mg            NEED_sv_setpvf_mg_GLOBAL
+    sv_setpvf_mg_nocontext()  NEED_sv_setpvf_mg_nocontext  NEED_sv_setpvf_mg_nocontext_GLOBAL
+    vload_module()            NEED_vload_module            NEED_vload_module_GLOBAL
+    vnewSVpvf()               NEED_vnewSVpvf               NEED_vnewSVpvf_GLOBAL
+    warner()                  NEED_warner                  NEED_warner_GLOBAL
+
+To avoid namespace conflicts, you can change the namespace of the
+explicitly exported functions / variables using the C&lt;DPPP_NAMESPACE&gt;
+macro. Just C&lt;#define&gt; the macro before including C&lt;ppport.h&gt;:
+
+    #define DPPP_NAMESPACE MyOwnNamespace_
+    #include &quot;ppport.h&quot;
+
+The default namespace is C&lt;DPPP_&gt;.
+
+=back
+
+The good thing is that most of the above can be checked by running
+F&lt;ppport.h&gt; on your source code. See the next section for
+details.
+
+=head1 EXAMPLES
+
+To verify whether F&lt;ppport.h&gt; is needed for your module, whether you
+should make any changes to your code, and whether any special defines
+should be used, F&lt;ppport.h&gt; can be run as a Perl script to check your
+source code. Simply say:
+
+    perl ppport.h
+
+The result will usually be a list of patches suggesting changes
+that should at least be acceptable, if not necessarily the most
+efficient solution, or a fix for all possible problems.
+
+If you know that your XS module uses features only available in
+newer Perl releases, if you're aware that it uses C++ comments,
+and if you want all suggestions as a single patch file, you could
+use something like this:
+
+    perl ppport.h --compat-version=5.6.0 --cplusplus --patch=test.diff
+
+If you only want your code to be scanned without any suggestions
+for changes, use:
+
+    perl ppport.h --nochanges
+
+You can specify a different C&lt;diff&gt; program or options, using
+the C&lt;--diff&gt; option:
+
+    perl ppport.h --diff='diff -C 10'
+
+This would output context diffs with 10 lines of context.
+
+If you want to create patched copies of your files instead, use:
+
+    perl ppport.h --copy=.new
+
+To display portability information for the C&lt;newSVpvn&gt; function,
+use:
+
+    perl ppport.h --api-info=newSVpvn
+
+Since the argument to C&lt;--api-info&gt; can be a regular expression,
+you can use
+
+    perl ppport.h --api-info=/_nomg$/
+
+to display portability information for all C&lt;_nomg&gt; functions or
+
+    perl ppport.h --api-info=/./
+
+to display information for all known API elements.
+
+=head1 BUGS
+
+If this version of F&lt;ppport.h&gt; is causing failure during
+the compilation of this module, please check if newer versions
+of either this module or C&lt;Devel::PPPort&gt; are available on CPAN
+before sending a bug report.
+
+If F&lt;ppport.h&gt; was generated using the latest version of
+C&lt;Devel::PPPort&gt; and is causing failure of this module, please
+file a bug report using the CPAN Request Tracker at L&lt;http://rt.cpan.org/&gt;.
+
+Please include the following information:
+
+=over 4
+
+=item 1.
+
+The complete output from running &quot;perl -V&quot;
+
+=item 2.
+
+This file.
+
+=item 3.
+
+The name and version of the module you were trying to build.
+
+=item 4.
+
+A full log of the build that failed.
+
+=item 5.
+
+Any other information that you think could be relevant.
+
+=back
+
+For the latest version of this code, please get the C&lt;Devel::PPPort&gt;
+module from CPAN.
+
+=head1 COPYRIGHT
+
+Version 3.x, Copyright (c) 2004-2007, Marcus Holland-Moritz.
+
+Version 2.x, Copyright (C) 2001, Paul Marquess.
+
+Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+=head1 SEE ALSO
+
+See L&lt;Devel::PPPort&gt;.
+
+=cut
+
+use strict;
+
+# Disable broken TRIE-optimization
+BEGIN { eval '${^RE_TRIE_MAXBUF} = -1' if $] &gt;= 5.009004 &amp;&amp; $] &lt;= 5.009005 }
+
+my $VERSION = 3.13;
+
+my %opt = (
+  quiet     =&gt; 0,
+  diag      =&gt; 1,
+  hints     =&gt; 1,
+  changes   =&gt; 1,
+  cplusplus =&gt; 0,
+  filter    =&gt; 1,
+  strip     =&gt; 0,
+  version   =&gt; 0,
+);
+
+my($ppport) = $0 =~ /([\w.]+)$/;
+my $LF = '(?:\r\n|[\r\n])';   # line feed
+my $HS = &quot;[ \t]&quot;;             # horizontal whitespace
+
+# Never use C comments in this file!
+my $ccs  = '/'.'*';
+my $cce  = '*'.'/';
+my $rccs = quotemeta $ccs;
+my $rcce = quotemeta $cce;
+
+eval {
+  require Getopt::Long;
+  Getopt::Long::GetOptions(\%opt, qw(
+    help quiet diag! filter! hints! changes! cplusplus strip version
+    patch=s copy=s diff=s compat-version=s
+    list-provided list-unsupported api-info=s
+  )) or usage();
+};
+
+if ($@ and grep /^-/, @ARGV) {
+  usage() if &quot;@ARGV&quot; =~ /^--?h(?:elp)?$/;
+  die &quot;Getopt::Long not found. Please don't use any options.\n&quot;;
+}
+
+if ($opt{version}) {
+  print &quot;This is $0 $VERSION.\n&quot;;
+  exit 0;
+}
+
+usage() if $opt{help};
+strip() if $opt{strip};
+
+if (exists $opt{'compat-version'}) {
+  my($r,$v,$s) = eval { parse_version($opt{'compat-version'}) };
+  if ($@) {
+    die &quot;Invalid version number format: '$opt{'compat-version'}'\n&quot;;
+  }
+  die &quot;Only Perl 5 is supported\n&quot; if $r != 5;
+  die &quot;Invalid version number: $opt{'compat-version'}\n&quot; if $v &gt;= 1000 || $s &gt;= 1000;
+  $opt{'compat-version'} = sprintf &quot;%d.%03d%03d&quot;, $r, $v, $s;
+}
+else {
+  $opt{'compat-version'} = 5;
+}
+
+my %API = map { /^(\w+)\|([^|]*)\|([^|]*)\|(\w*)$/
+                ? ( $1 =&gt; {
+                      ($2                  ? ( base     =&gt; $2 ) : ()),
+                      ($3                  ? ( todo     =&gt; $3 ) : ()),
+                      (index($4, 'v') &gt;= 0 ? ( varargs  =&gt; 1  ) : ()),
+                      (index($4, 'p') &gt;= 0 ? ( provided =&gt; 1  ) : ()),
+                      (index($4, 'n') &gt;= 0 ? ( nothxarg =&gt; 1  ) : ()),
+                    } )
+                : die &quot;invalid spec: $_&quot; } qw(
+AvFILLp|5.004050||p
+AvFILL|||
+CLASS|||n
+CX_CURPAD_SAVE|||
+CX_CURPAD_SV|||
+CopFILEAV|5.006000||p
+CopFILEGV_set|5.006000||p
+CopFILEGV|5.006000||p
+CopFILESV|5.006000||p
+CopFILE_set|5.006000||p
+CopFILE|5.006000||p
+CopSTASHPV_set|5.006000||p
+CopSTASHPV|5.006000||p
+CopSTASH_eq|5.006000||p
+CopSTASH_set|5.006000||p
+CopSTASH|5.006000||p
+CopyD|5.009002||p
+Copy|||
+CvPADLIST|||
+CvSTASH|||
+CvWEAKOUTSIDE|||
+DEFSV|5.004050||p
+END_EXTERN_C|5.005000||p
+ENTER|||
+ERRSV|5.004050||p
+EXTEND|||
+EXTERN_C|5.005000||p
+F0convert|||n
+FREETMPS|||
+GIMME_V||5.004000|n
+GIMME|||n
+GROK_NUMERIC_RADIX|5.007002||p
+G_ARRAY|||
+G_DISCARD|||
+G_EVAL|||
+G_NOARGS|||
+G_SCALAR|||
+G_VOID||5.004000|
+GetVars|||
+GvSV|||
+Gv_AMupdate|||
+HEf_SVKEY||5.004000|
+HeHASH||5.004000|
+HeKEY||5.004000|
+HeKLEN||5.004000|
+HePV||5.004000|
+HeSVKEY_force||5.004000|
+HeSVKEY_set||5.004000|
+HeSVKEY||5.004000|
+HeVAL||5.004000|
+HvNAME|||
+INT2PTR|5.006000||p
+IN_LOCALE_COMPILETIME|5.007002||p
+IN_LOCALE_RUNTIME|5.007002||p
+IN_LOCALE|5.007002||p
+IN_PERL_COMPILETIME|5.008001||p
+IS_NUMBER_GREATER_THAN_UV_MAX|5.007002||p
+IS_NUMBER_INFINITY|5.007002||p
+IS_NUMBER_IN_UV|5.007002||p
+IS_NUMBER_NAN|5.007003||p
+IS_NUMBER_NEG|5.007002||p
+IS_NUMBER_NOT_INT|5.007002||p
+IVSIZE|5.006000||p
+IVTYPE|5.006000||p
+IVdf|5.006000||p
+LEAVE|||
+LVRET|||
+MARK|||
+MULTICALL||5.009005|
+MY_CXT_CLONE|5.009002||p
+MY_CXT_INIT|5.007003||p
+MY_CXT|5.007003||p
+MoveD|5.009002||p
+Move|||
+NOOP|5.005000||p
+NUM2PTR|5.006000||p
+NVTYPE|5.006000||p
+NVef|5.006001||p
+NVff|5.006001||p
+NVgf|5.006001||p
+Newxc|5.009003||p
+Newxz|5.009003||p
+Newx|5.009003||p
+Nullav|||
+Nullch|||
+Nullcv|||
+Nullhv|||
+Nullsv|||
+ORIGMARK|||
+PAD_BASE_SV|||
+PAD_CLONE_VARS|||
+PAD_COMPNAME_FLAGS|||
+PAD_COMPNAME_GEN_set|||
+PAD_COMPNAME_GEN|||
+PAD_COMPNAME_OURSTASH|||
+PAD_COMPNAME_PV|||
+PAD_COMPNAME_TYPE|||
+PAD_RESTORE_LOCAL|||
+PAD_SAVE_LOCAL|||
+PAD_SAVE_SETNULLPAD|||
+PAD_SETSV|||
+PAD_SET_CUR_NOSAVE|||
+PAD_SET_CUR|||
+PAD_SVl|||
+PAD_SV|||
+PERL_ABS|5.008001||p
+PERL_BCDVERSION|5.009005||p
+PERL_GCC_BRACE_GROUPS_FORBIDDEN|5.008001||p
+PERL_HASH|5.004000||p
+PERL_INT_MAX|5.004000||p
+PERL_INT_MIN|5.004000||p
+PERL_LONG_MAX|5.004000||p
+PERL_LONG_MIN|5.004000||p
+PERL_MAGIC_arylen|5.007002||p
+PERL_MAGIC_backref|5.007002||p
+PERL_MAGIC_bm|5.007002||p
+PERL_MAGIC_collxfrm|5.007002||p
+PERL_MAGIC_dbfile|5.007002||p
+PERL_MAGIC_dbline|5.007002||p
+PERL_MAGIC_defelem|5.007002||p
+PERL_MAGIC_envelem|5.007002||p
+PERL_MAGIC_env|5.007002||p
+PERL_MAGIC_ext|5.007002||p
+PERL_MAGIC_fm|5.007002||p
+PERL_MAGIC_glob|5.009005||p
+PERL_MAGIC_isaelem|5.007002||p
+PERL_MAGIC_isa|5.007002||p
+PERL_MAGIC_mutex|5.009005||p
+PERL_MAGIC_nkeys|5.007002||p
+PERL_MAGIC_overload_elem|5.007002||p
+PERL_MAGIC_overload_table|5.007002||p
+PERL_MAGIC_overload|5.007002||p
+PERL_MAGIC_pos|5.007002||p
+PERL_MAGIC_qr|5.007002||p
+PERL_MAGIC_regdata|5.007002||p
+PERL_MAGIC_regdatum|5.007002||p
+PERL_MAGIC_regex_global|5.007002||p
+PERL_MAGIC_shared_scalar|5.007003||p
+PERL_MAGIC_shared|5.007003||p
+PERL_MAGIC_sigelem|5.007002||p
+PERL_MAGIC_sig|5.007002||p
+PERL_MAGIC_substr|5.007002||p
+PERL_MAGIC_sv|5.007002||p
+PERL_MAGIC_taint|5.007002||p
+PERL_MAGIC_tiedelem|5.007002||p
+PERL_MAGIC_tiedscalar|5.007002||p
+PERL_MAGIC_tied|5.007002||p
+PERL_MAGIC_utf8|5.008001||p
+PERL_MAGIC_uvar_elem|5.007003||p
+PERL_MAGIC_uvar|5.007002||p
+PERL_MAGIC_vec|5.007002||p
+PERL_MAGIC_vstring|5.008001||p
+PERL_QUAD_MAX|5.004000||p
+PERL_QUAD_MIN|5.004000||p
+PERL_REVISION|5.006000||p
+PERL_SCAN_ALLOW_UNDERSCORES|5.007003||p
+PERL_SCAN_DISALLOW_PREFIX|5.007003||p
+PERL_SCAN_GREATER_THAN_UV_MAX|5.007003||p
+PERL_SCAN_SILENT_ILLDIGIT|5.008001||p
+PERL_SHORT_MAX|5.004000||p
+PERL_SHORT_MIN|5.004000||p
+PERL_SIGNALS_UNSAFE_FLAG|5.008001||p
+PERL_SUBVERSION|5.006000||p
+PERL_UCHAR_MAX|5.004000||p
+PERL_UCHAR_MIN|5.004000||p
+PERL_UINT_MAX|5.004000||p
+PERL_UINT_MIN|5.004000||p
+PERL_ULONG_MAX|5.004000||p
+PERL_ULONG_MIN|5.004000||p
+PERL_UNUSED_ARG|5.009003||p
+PERL_UNUSED_CONTEXT|5.009004||p
+PERL_UNUSED_DECL|5.007002||p
+PERL_UNUSED_VAR|5.007002||p
+PERL_UQUAD_MAX|5.004000||p
+PERL_UQUAD_MIN|5.004000||p
+PERL_USE_GCC_BRACE_GROUPS|5.009004||p
+PERL_USHORT_MAX|5.004000||p
+PERL_USHORT_MIN|5.004000||p
+PERL_VERSION|5.006000||p
+PL_DBsignal|5.005000||p
+PL_DBsingle|||pn
+PL_DBsub|||pn
+PL_DBtrace|||pn
+PL_Sv|5.005000||p
+PL_compiling|5.004050||p
+PL_copline|5.009005||p
+PL_curcop|5.004050||p
+PL_curstash|5.004050||p
+PL_debstash|5.004050||p
+PL_defgv|5.004050||p
+PL_diehook|5.004050||p
+PL_dirty|5.004050||p
+PL_dowarn|||pn
+PL_errgv|5.004050||p
+PL_expect|5.009005||p
+PL_hexdigit|5.005000||p
+PL_hints|5.005000||p
+PL_last_in_gv|||n
+PL_laststatval|5.005000||p
+PL_modglobal||5.005000|n
+PL_na|5.004050||pn
+PL_no_modify|5.006000||p
+PL_ofs_sv|||n
+PL_perl_destruct_level|5.004050||p
+PL_perldb|5.004050||p
+PL_ppaddr|5.006000||p
+PL_rsfp_filters|5.004050||p
+PL_rsfp|5.004050||p
+PL_rs|||n
+PL_signals|5.008001||p
+PL_stack_base|5.004050||p
+PL_stack_sp|5.004050||p
+PL_statcache|5.005000||p
+PL_stdingv|5.004050||p
+PL_sv_arenaroot|5.004050||p
+PL_sv_no|5.004050||pn
+PL_sv_undef|5.004050||pn
+PL_sv_yes|5.004050||pn
+PL_tainted|5.004050||p
+PL_tainting|5.004050||p
+POP_MULTICALL||5.009005|
+POPi|||n
+POPl|||n
+POPn|||n
+POPpbytex||5.007001|n
+POPpx||5.005030|n
+POPp|||n
+POPs|||n
+PTR2IV|5.006000||p
+PTR2NV|5.006000||p
+PTR2UV|5.006000||p
+PTR2ul|5.007001||p
+PTRV|5.006000||p
+PUSHMARK|||
+PUSH_MULTICALL||5.009005|
+PUSHi|||
+PUSHmortal|5.009002||p
+PUSHn|||
+PUSHp|||
+PUSHs|||
+PUSHu|5.004000||p
+PUTBACK|||
+PerlIO_clearerr||5.007003|
+PerlIO_close||5.007003|
+PerlIO_context_layers||5.009004|
+PerlIO_eof||5.007003|
+PerlIO_error||5.007003|
+PerlIO_fileno||5.007003|
+PerlIO_fill||5.007003|
+PerlIO_flush||5.007003|
+PerlIO_get_base||5.007003|
+PerlIO_get_bufsiz||5.007003|
+PerlIO_get_cnt||5.007003|
+PerlIO_get_ptr||5.007003|
+PerlIO_read||5.007003|
+PerlIO_seek||5.007003|
+PerlIO_set_cnt||5.007003|
+PerlIO_set_ptrcnt||5.007003|
+PerlIO_setlinebuf||5.007003|
+PerlIO_stderr||5.007003|
+PerlIO_stdin||5.007003|
+PerlIO_stdout||5.007003|
+PerlIO_tell||5.007003|
+PerlIO_unread||5.007003|
+PerlIO_write||5.007003|
+Perl_signbit||5.009005|n
+PoisonFree|5.009004||p
+PoisonNew|5.009004||p
+PoisonWith|5.009004||p
+Poison|5.008000||p
+RETVAL|||n
+Renewc|||
+Renew|||
+SAVECLEARSV|||
+SAVECOMPPAD|||
+SAVEPADSV|||
+SAVETMPS|||
+SAVE_DEFSV|5.004050||p
+SPAGAIN|||
+SP|||
+START_EXTERN_C|5.005000||p
+START_MY_CXT|5.007003||p
+STMT_END|||p
+STMT_START|||p
+STR_WITH_LEN|5.009003||p
+ST|||
+SV_CONST_RETURN|5.009003||p
+SV_COW_DROP_PV|5.008001||p
+SV_COW_SHARED_HASH_KEYS|5.009005||p
+SV_GMAGIC|5.007002||p
+SV_HAS_TRAILING_NUL|5.009004||p
+SV_IMMEDIATE_UNREF|5.007001||p
+SV_MUTABLE_RETURN|5.009003||p
+SV_NOSTEAL|5.009002||p
+SV_SMAGIC|5.009003||p
+SV_UTF8_NO_ENCODING|5.008001||p
+SVf|5.006000||p
+SVt_IV|||
+SVt_NV|||
+SVt_PVAV|||
+SVt_PVCV|||
+SVt_PVHV|||
+SVt_PVMG|||
+SVt_PV|||
+Safefree|||
+Slab_Alloc|||
+Slab_Free|||
+Slab_to_rw|||
+StructCopy|||
+SvCUR_set|||
+SvCUR|||
+SvEND|||
+SvGAMAGIC||5.006001|
+SvGETMAGIC|5.004050||p
+SvGROW|||
+SvIOK_UV||5.006000|
+SvIOK_notUV||5.006000|
+SvIOK_off|||
+SvIOK_only_UV||5.006000|
+SvIOK_only|||
+SvIOK_on|||
+SvIOKp|||
+SvIOK|||
+SvIVX|||
+SvIV_nomg|5.009001||p
+SvIV_set|||
+SvIVx|||
+SvIV|||
+SvIsCOW_shared_hash||5.008003|
+SvIsCOW||5.008003|
+SvLEN_set|||
+SvLEN|||
+SvLOCK||5.007003|
+SvMAGIC_set|5.009003||p
+SvNIOK_off|||
+SvNIOKp|||
+SvNIOK|||
+SvNOK_off|||
+SvNOK_only|||
+SvNOK_on|||
+SvNOKp|||
+SvNOK|||
+SvNVX|||
+SvNV_set|||
+SvNVx|||
+SvNV|||
+SvOK|||
+SvOOK|||
+SvPOK_off|||
+SvPOK_only_UTF8||5.006000|
+SvPOK_only|||
+SvPOK_on|||
+SvPOKp|||
+SvPOK|||
+SvPVX_const|5.009003||p
+SvPVX_mutable|5.009003||p
+SvPVX|||
+SvPV_const|5.009003||p
+SvPV_flags_const_nolen|5.009003||p
+SvPV_flags_const|5.009003||p
+SvPV_flags_mutable|5.009003||p
+SvPV_flags|5.007002||p
+SvPV_force_flags_mutable|5.009003||p
+SvPV_force_flags_nolen|5.009003||p
+SvPV_force_flags|5.007002||p
+SvPV_force_mutable|5.009003||p
+SvPV_force_nolen|5.009003||p
+SvPV_force_nomg_nolen|5.009003||p
+SvPV_force_nomg|5.007002||p
+SvPV_force|||p
+SvPV_mutable|5.009003||p
+SvPV_nolen_const|5.009003||p
+SvPV_nolen|5.006000||p
+SvPV_nomg_const_nolen|5.009003||p
+SvPV_nomg_const|5.009003||p
+SvPV_nomg|5.007002||p
+SvPV_set|||
+SvPVbyte_force||5.009002|
+SvPVbyte_nolen||5.006000|
+SvPVbytex_force||5.006000|
+SvPVbytex||5.006000|
+SvPVbyte|5.006000||p
+SvPVutf8_force||5.006000|
+SvPVutf8_nolen||5.006000|
+SvPVutf8x_force||5.006000|
+SvPVutf8x||5.006000|
+SvPVutf8||5.006000|
+SvPVx|||
+SvPV|||
+SvREFCNT_dec|||
+SvREFCNT_inc_NN|5.009004||p
+SvREFCNT_inc_simple_NN|5.009004||p
+SvREFCNT_inc_simple_void_NN|5.009004||p
+SvREFCNT_inc_simple_void|5.009004||p
+SvREFCNT_inc_simple|5.009004||p
+SvREFCNT_inc_void_NN|5.009004||p
+SvREFCNT_inc_void|5.009004||p
+SvREFCNT_inc|||p
+SvREFCNT|||
+SvROK_off|||
+SvROK_on|||
+SvROK|||
+SvRV_set|5.009003||p
+SvRV|||
+SvRXOK||5.009005|
+SvRX||5.009005|
+SvSETMAGIC|||
+SvSHARED_HASH|5.009003||p
+SvSHARE||5.007003|
+SvSTASH_set|5.009003||p
+SvSTASH|||
+SvSetMagicSV_nosteal||5.004000|
+SvSetMagicSV||5.004000|
+SvSetSV_nosteal||5.004000|
+SvSetSV|||
+SvTAINTED_off||5.004000|
+SvTAINTED_on||5.004000|
+SvTAINTED||5.004000|
+SvTAINT|||
+SvTRUE|||
+SvTYPE|||
+SvUNLOCK||5.007003|
+SvUOK|5.007001|5.006000|p
+SvUPGRADE|||
+SvUTF8_off||5.006000|
+SvUTF8_on||5.006000|
+SvUTF8||5.006000|
+SvUVXx|5.004000||p
+SvUVX|5.004000||p
+SvUV_nomg|5.009001||p
+SvUV_set|5.009003||p
+SvUVx|5.004000||p
+SvUV|5.004000||p
+SvVOK||5.008001|
+SvVSTRING_mg|5.009004||p
+THIS|||n
+UNDERBAR|5.009002||p
+UTF8_MAXBYTES|5.009002||p
+UVSIZE|5.006000||p
+UVTYPE|5.006000||p
+UVXf|5.007001||p
+UVof|5.006000||p
+UVuf|5.006000||p
+UVxf|5.006000||p
+WARN_ALL|5.006000||p
+WARN_AMBIGUOUS|5.006000||p
+WARN_ASSERTIONS|5.009005||p
+WARN_BAREWORD|5.006000||p
+WARN_CLOSED|5.006000||p
+WARN_CLOSURE|5.006000||p
+WARN_DEBUGGING|5.006000||p
+WARN_DEPRECATED|5.006000||p
+WARN_DIGIT|5.006000||p
+WARN_EXEC|5.006000||p
+WARN_EXITING|5.006000||p
+WARN_GLOB|5.006000||p
+WARN_INPLACE|5.006000||p
+WARN_INTERNAL|5.006000||p
+WARN_IO|5.006000||p
+WARN_LAYER|5.008000||p
+WARN_MALLOC|5.006000||p
+WARN_MISC|5.006000||p
+WARN_NEWLINE|5.006000||p
+WARN_NUMERIC|5.006000||p
+WARN_ONCE|5.006000||p
+WARN_OVERFLOW|5.006000||p
+WARN_PACK|5.006000||p
+WARN_PARENTHESIS|5.006000||p
+WARN_PIPE|5.006000||p
+WARN_PORTABLE|5.006000||p
+WARN_PRECEDENCE|5.006000||p
+WARN_PRINTF|5.006000||p
+WARN_PROTOTYPE|5.006000||p
+WARN_QW|5.006000||p
+WARN_RECURSION|5.006000||p
+WARN_REDEFINE|5.006000||p
+WARN_REGEXP|5.006000||p
+WARN_RESERVED|5.006000||p
+WARN_SEMICOLON|5.006000||p
+WARN_SEVERE|5.006000||p
+WARN_SIGNAL|5.006000||p
+WARN_SUBSTR|5.006000||p
+WARN_SYNTAX|5.006000||p
+WARN_TAINT|5.006000||p
+WARN_THREADS|5.008000||p
+WARN_UNINITIALIZED|5.006000||p
+WARN_UNOPENED|5.006000||p
+WARN_UNPACK|5.006000||p
+WARN_UNTIE|5.006000||p
+WARN_UTF8|5.006000||p
+WARN_VOID|5.006000||p
+XCPT_CATCH|5.009002||p
+XCPT_RETHROW|5.009002||p
+XCPT_TRY_END|5.009002||p
+XCPT_TRY_START|5.009002||p
+XPUSHi|||
+XPUSHmortal|5.009002||p
+XPUSHn|||
+XPUSHp|||
+XPUSHs|||
+XPUSHu|5.004000||p
+XSRETURN_EMPTY|||
+XSRETURN_IV|||
+XSRETURN_NO|||
+XSRETURN_NV|||
+XSRETURN_PV|||
+XSRETURN_UNDEF|||
+XSRETURN_UV|5.008001||p
+XSRETURN_YES|||
+XSRETURN|||p
+XST_mIV|||
+XST_mNO|||
+XST_mNV|||
+XST_mPV|||
+XST_mUNDEF|||
+XST_mUV|5.008001||p
+XST_mYES|||
+XS_VERSION_BOOTCHECK|||
+XS_VERSION|||
+XSprePUSH|5.006000||p
+XS|||
+ZeroD|5.009002||p
+Zero|||
+_aMY_CXT|5.007003||p
+_pMY_CXT|5.007003||p
+aMY_CXT_|5.007003||p
+aMY_CXT|5.007003||p
+aTHXR_|5.009005||p
+aTHXR|5.009005||p
+aTHX_|5.006000||p
+aTHX|5.006000||p
+add_data|||n
+addmad|||
+allocmy|||
+amagic_call|||
+amagic_cmp_locale|||
+amagic_cmp|||
+amagic_i_ncmp|||
+amagic_ncmp|||
+any_dup|||
+ao|||
+append_elem|||
+append_list|||
+append_madprops|||
+apply_attrs_my|||
+apply_attrs_string||5.006001|
+apply_attrs|||
+apply|||
+atfork_lock||5.007003|n
+atfork_unlock||5.007003|n
+av_arylen_p||5.009003|
+av_clear|||
+av_create_and_push||5.009005|
+av_create_and_unshift_one||5.009005|
+av_delete||5.006000|
+av_exists||5.006000|
+av_extend|||
+av_fake|||
+av_fetch|||
+av_fill|||
+av_len|||
+av_make|||
+av_pop|||
+av_push|||
+av_reify|||
+av_shift|||
+av_store|||
+av_undef|||
+av_unshift|||
+ax|||n
+bad_type|||
+bind_match|||
+block_end|||
+block_gimme||5.004000|
+block_start|||
+boolSV|5.004000||p
+boot_core_PerlIO|||
+boot_core_UNIVERSAL|||
+boot_core_mro|||
+boot_core_xsutils|||
+bytes_from_utf8||5.007001|
+bytes_to_uni|||n
+bytes_to_utf8||5.006001|
+call_argv|5.006000||p
+call_atexit||5.006000|
+call_list||5.004000|
+call_method|5.006000||p
+call_pv|5.006000||p
+call_sv|5.006000||p
+calloc||5.007002|n
+cando|||
+cast_i32||5.006000|
+cast_iv||5.006000|
+cast_ulong||5.006000|
+cast_uv||5.006000|
+check_type_and_open|||
+check_uni|||
+checkcomma|||
+checkposixcc|||
+ckWARN|5.006000||p
+ck_anoncode|||
+ck_bitop|||
+ck_concat|||
+ck_defined|||
+ck_delete|||
+ck_die|||
+ck_eof|||
+ck_eval|||
+ck_exec|||
+ck_exists|||
+ck_exit|||
+ck_ftst|||
+ck_fun|||
+ck_glob|||
+ck_grep|||
+ck_index|||
+ck_join|||
+ck_lengthconst|||
+ck_lfun|||
+ck_listiob|||
+ck_match|||
+ck_method|||
+ck_null|||
+ck_open|||
+ck_readline|||
+ck_repeat|||
+ck_require|||
+ck_retarget|||
+ck_return|||
+ck_rfun|||
+ck_rvconst|||
+ck_sassign|||
+ck_select|||
+ck_shift|||
+ck_sort|||
+ck_spair|||
+ck_split|||
+ck_subr|||
+ck_substr|||
+ck_svconst|||
+ck_trunc|||
+ck_unpack|||
+ckwarn_d||5.009003|
+ckwarn||5.009003|
+cl_and|||n
+cl_anything|||n
+cl_init_zero|||n
+cl_init|||n
+cl_is_anything|||n
+cl_or|||n
+clear_placeholders|||
+closest_cop|||
+convert|||
+cop_free|||
+cr_textfilter|||
+create_eval_scope|||
+croak_nocontext|||vn
+croak|||v
+csighandler||5.009003|n
+curmad|||
+custom_op_desc||5.007003|
+custom_op_name||5.007003|
+cv_ckproto_len|||
+cv_ckproto|||
+cv_clone|||
+cv_const_sv||5.004000|
+cv_dump|||
+cv_undef|||
+cx_dump||5.005000|
+cx_dup|||
+cxinc|||
+dAXMARK|5.009003||p
+dAX|5.007002||p
+dITEMS|5.007002||p
+dMARK|||
+dMULTICALL||5.009003|
+dMY_CXT_SV|5.007003||p
+dMY_CXT|5.007003||p
+dNOOP|5.006000||p
+dORIGMARK|||
+dSP|||
+dTHR|5.004050||p
+dTHXR|5.009005||p
+dTHXa|5.006000||p
+dTHXoa|5.006000||p
+dTHX|5.006000||p
+dUNDERBAR|5.009002||p
+dVAR|5.009003||p
+dXCPT|5.009002||p
+dXSARGS|||
+dXSI32|||
+dXSTARG|5.006000||p
+deb_curcv|||
+deb_nocontext|||vn
+deb_stack_all|||
+deb_stack_n|||
+debop||5.005000|
+debprofdump||5.005000|
+debprof|||
+debstackptrs||5.007003|
+debstack||5.007003|
+debug_start_match|||
+deb||5.007003|v
+del_sv|||
+delete_eval_scope|||
+delimcpy||5.004000|
+deprecate_old|||
+deprecate|||
+despatch_signals||5.007001|
+destroy_matcher|||
+die_nocontext|||vn
+die_where|||
+die|||v
+dirp_dup|||
+div128|||
+djSP|||
+do_aexec5|||
+do_aexec|||
+do_aspawn|||
+do_binmode||5.004050|
+do_chomp|||
+do_chop|||
+do_close|||
+do_dump_pad|||
+do_eof|||
+do_exec3|||
+do_execfree|||
+do_exec|||
+do_gv_dump||5.006000|
+do_gvgv_dump||5.006000|
+do_hv_dump||5.006000|
+do_ipcctl|||
+do_ipcget|||
+do_join|||
+do_kv|||
+do_magic_dump||5.006000|
+do_msgrcv|||
+do_msgsnd|||
+do_oddball|||
+do_op_dump||5.006000|
+do_op_xmldump|||
+do_open9||5.006000|
+do_openn||5.007001|
+do_open||5.004000|
+do_pipe|||
+do_pmop_dump||5.006000|
+do_pmop_xmldump|||
+do_print|||
+do_readline|||
+do_seek|||
+do_semop|||
+do_shmio|||
+do_smartmatch|||
+do_spawn_nowait|||
+do_spawn|||
+do_sprintf|||
+do_sv_dump||5.006000|
+do_sysseek|||
+do_tell|||
+do_trans_complex_utf8|||
+do_trans_complex|||
+do_trans_count_utf8|||
+do_trans_count|||
+do_trans_simple_utf8|||
+do_trans_simple|||
+do_trans|||
+do_vecget|||
+do_vecset|||
+do_vop|||
+docatch_body|||
+docatch|||
+doeval|||
+dofile|||
+dofindlabel|||
+doform|||
+doing_taint||5.008001|n
+dooneliner|||
+doopen_pm|||
+doparseform|||
+dopoptoeval|||
+dopoptogiven|||
+dopoptolabel|||
+dopoptoloop|||
+dopoptosub_at|||
+dopoptosub|||
+dopoptowhen|||
+doref||5.009003|
+dounwind|||
+dowantarray|||
+dump_all||5.006000|
+dump_eval||5.006000|
+dump_exec_pos|||
+dump_fds|||
+dump_form||5.006000|
+dump_indent||5.006000|v
+dump_mstats|||
+dump_packsubs||5.006000|
+dump_sub||5.006000|
+dump_sv_child|||
+dump_trie_interim_list|||
+dump_trie_interim_table|||
+dump_trie|||
+dump_vindent||5.006000|
+dumpuntil|||
+dup_attrlist|||
+emulate_cop_io|||
+emulate_eaccess|||
+eval_pv|5.006000||p
+eval_sv|5.006000||p
+exec_failed|||
+expect_number|||
+fbm_compile||5.005000|
+fbm_instr||5.005000|
+fd_on_nosuid_fs|||
+feature_is_enabled|||
+filter_add|||
+filter_del|||
+filter_gets|||
+filter_read|||
+find_and_forget_pmops|||
+find_array_subscript|||
+find_beginning|||
+find_byclass|||
+find_hash_subscript|||
+find_in_my_stash|||
+find_runcv||5.008001|
+find_rundefsvoffset||5.009002|
+find_script|||
+find_uninit_var|||
+first_symbol|||n
+fold_constants|||
+forbid_setid|||
+force_ident|||
+force_list|||
+force_next|||
+force_version|||
+force_word|||
+forget_pmop|||
+form_nocontext|||vn
+form||5.004000|v
+fp_dup|||
+fprintf_nocontext|||vn
+free_global_struct|||
+free_tied_hv_pool|||
+free_tmps|||
+gen_constant_list|||
+get_arena|||
+get_av|5.006000||p
+get_context||5.006000|n
+get_cvn_flags||5.009005|
+get_cv|5.006000||p
+get_db_sub|||
+get_debug_opts|||
+get_hash_seed|||
+get_hv|5.006000||p
+get_mstats|||
+get_no_modify|||
+get_num|||
+get_op_descs||5.005000|
+get_op_names||5.005000|
+get_opargs|||
+get_ppaddr||5.006000|
+get_re_arg|||
+get_sv|5.006000||p
+get_vtbl||5.005030|
+getcwd_sv||5.007002|
+getenv_len|||
+glob_2number|||
+glob_2pv|||
+glob_assign_glob|||
+glob_assign_ref|||
+gp_dup|||
+gp_free|||
+gp_ref|||
+grok_bin|5.007003||p
+grok_hex|5.007003||p
+grok_number|5.007002||p
+grok_numeric_radix|5.007002||p
+grok_oct|5.007003||p
+group_end|||
+gv_AVadd|||
+gv_HVadd|||
+gv_IOadd|||
+gv_SVadd|||
+gv_autoload4||5.004000|
+gv_check|||
+gv_const_sv||5.009003|
+gv_dump||5.006000|
+gv_efullname3||5.004000|
+gv_efullname4||5.006001|
+gv_efullname|||
+gv_ename|||
+gv_fetchfile_flags||5.009005|
+gv_fetchfile|||
+gv_fetchmeth_autoload||5.007003|
+gv_fetchmethod_autoload||5.004000|
+gv_fetchmethod|||
+gv_fetchmeth|||
+gv_fetchpvn_flags||5.009002|
+gv_fetchpv|||
+gv_fetchsv||5.009002|
+gv_fullname3||5.004000|
+gv_fullname4||5.006001|
+gv_fullname|||
+gv_handler||5.007001|
+gv_init_sv|||
+gv_init|||
+gv_name_set||5.009004|
+gv_stashpvn|5.004000||p
+gv_stashpvs||5.009003|
+gv_stashpv|||
+gv_stashsv|||
+he_dup|||
+hek_dup|||
+hfreeentries|||
+hsplit|||
+hv_assert||5.009005|
+hv_auxinit|||n
+hv_backreferences_p|||
+hv_clear_placeholders||5.009001|
+hv_clear|||
+hv_copy_hints_hv|||
+hv_delayfree_ent||5.004000|
+hv_delete_common|||
+hv_delete_ent||5.004000|
+hv_delete|||
+hv_eiter_p||5.009003|
+hv_eiter_set||5.009003|
+hv_exists_ent||5.004000|
+hv_exists|||
+hv_fetch_common|||
+hv_fetch_ent||5.004000|
+hv_fetchs|5.009003||p
+hv_fetch|||
+hv_free_ent||5.004000|
+hv_iterinit|||
+hv_iterkeysv||5.004000|
+hv_iterkey|||
+hv_iternext_flags||5.008000|
+hv_iternextsv|||
+hv_iternext|||
+hv_iterval|||
+hv_kill_backrefs|||
+hv_ksplit||5.004000|
+hv_magic_check|||n
+hv_magic_uvar_xkey|||
+hv_magic|||
+hv_name_set||5.009003|
+hv_notallowed|||
+hv_placeholders_get||5.009003|
+hv_placeholders_p||5.009003|
+hv_placeholders_set||5.009003|
+hv_riter_p||5.009003|
+hv_riter_set||5.009003|
+hv_scalar||5.009001|
+hv_store_ent||5.004000|
+hv_store_flags||5.008000|
+hv_stores|5.009004||p
+hv_store|||
+hv_undef|||
+ibcmp_locale||5.004000|
+ibcmp_utf8||5.007003|
+ibcmp|||
+incl_perldb|||
+incline|||
+incpush_if_exists|||
+incpush|||
+ingroup|||
+init_argv_symbols|||
+init_debugger|||
+init_global_struct|||
+init_i18nl10n||5.006000|
+init_i18nl14n||5.006000|
+init_ids|||
+init_interp|||
+init_main_stash|||
+init_perllib|||
+init_postdump_symbols|||
+init_predump_symbols|||
+init_stacks||5.005000|
+init_tm||5.007002|
+instr|||
+intro_my|||
+intuit_method|||
+intuit_more|||
+invert|||
+io_close|||
+isALNUM|||
+isALPHA|||
+isDIGIT|||
+isLOWER|||
+isSPACE|||
+isUPPER|||
+is_an_int|||
+is_gv_magical_sv|||
+is_gv_magical|||
+is_handle_constructor|||n
+is_list_assignment|||
+is_lvalue_sub||5.007001|
+is_uni_alnum_lc||5.006000|
+is_uni_alnumc_lc||5.006000|
+is_uni_alnumc||5.006000|
+is_uni_alnum||5.006000|
+is_uni_alpha_lc||5.006000|
+is_uni_alpha||5.006000|
+is_uni_ascii_lc||5.006000|
+is_uni_ascii||5.006000|
+is_uni_cntrl_lc||5.006000|
+is_uni_cntrl||5.006000|
+is_uni_digit_lc||5.006000|
+is_uni_digit||5.006000|
+is_uni_graph_lc||5.006000|
+is_uni_graph||5.006000|
+is_uni_idfirst_lc||5.006000|
+is_uni_idfirst||5.006000|
+is_uni_lower_lc||5.006000|
+is_uni_lower||5.006000|
+is_uni_print_lc||5.006000|
+is_uni_print||5.006000|
+is_uni_punct_lc||5.006000|
+is_uni_punct||5.006000|
+is_uni_space_lc||5.006000|
+is_uni_space||5.006000|
+is_uni_upper_lc||5.006000|
+is_uni_upper||5.006000|
+is_uni_xdigit_lc||5.006000|
+is_uni_xdigit||5.006000|
+is_utf8_alnumc||5.006000|
+is_utf8_alnum||5.006000|
+is_utf8_alpha||5.006000|
+is_utf8_ascii||5.006000|
+is_utf8_char_slow|||n
+is_utf8_char||5.006000|
+is_utf8_cntrl||5.006000|
+is_utf8_common|||
+is_utf8_digit||5.006000|
+is_utf8_graph||5.006000|
+is_utf8_idcont||5.008000|
+is_utf8_idfirst||5.006000|
+is_utf8_lower||5.006000|
+is_utf8_mark||5.006000|
+is_utf8_print||5.006000|
+is_utf8_punct||5.006000|
+is_utf8_space||5.006000|
+is_utf8_string_loclen||5.009003|
+is_utf8_string_loc||5.008001|
+is_utf8_string||5.006001|
+is_utf8_upper||5.006000|
+is_utf8_xdigit||5.006000|
+isa_lookup|||
+items|||n
+ix|||n
+jmaybe|||
+join_exact|||
+keyword|||
+leave_scope|||
+lex_end|||
+lex_start|||
+linklist|||
+listkids|||
+list|||
+load_module_nocontext|||vn
+load_module|5.006000||pv
+localize|||
+looks_like_bool|||
+looks_like_number|||
+lop|||
+mPUSHi|5.009002||p
+mPUSHn|5.009002||p
+mPUSHp|5.009002||p
+mPUSHu|5.009002||p
+mXPUSHi|5.009002||p
+mXPUSHn|5.009002||p
+mXPUSHp|5.009002||p
+mXPUSHu|5.009002||p
+mad_free|||
+madlex|||
+madparse|||
+magic_clear_all_env|||
+magic_clearenv|||
+magic_clearhint|||
+magic_clearpack|||
+magic_clearsig|||
+magic_dump||5.006000|
+magic_existspack|||
+magic_freearylen_p|||
+magic_freeovrld|||
+magic_freeregexp|||
+magic_getarylen|||
+magic_getdefelem|||
+magic_getnkeys|||
+magic_getpack|||
+magic_getpos|||
+magic_getsig|||
+magic_getsubstr|||
+magic_gettaint|||
+magic_getuvar|||
+magic_getvec|||
+magic_get|||
+magic_killbackrefs|||
+magic_len|||
+magic_methcall|||
+magic_methpack|||
+magic_nextpack|||
+magic_regdata_cnt|||
+magic_regdatum_get|||
+magic_regdatum_set|||
+magic_scalarpack|||
+magic_set_all_env|||
+magic_setamagic|||
+magic_setarylen|||
+magic_setbm|||
+magic_setcollxfrm|||
+magic_setdbline|||
+magic_setdefelem|||
+magic_setenv|||
+magic_setfm|||
+magic_setglob|||
+magic_sethint|||
+magic_setisa|||
+magic_setmglob|||
+magic_setnkeys|||
+magic_setpack|||
+magic_setpos|||
+magic_setregexp|||
+magic_setsig|||
+magic_setsubstr|||
+magic_settaint|||
+magic_setutf8|||
+magic_setuvar|||
+magic_setvec|||
+magic_set|||
+magic_sizepack|||
+magic_wipepack|||
+magicname|||
+make_matcher|||
+make_trie_failtable|||
+make_trie|||
+malloced_size|||n
+malloc||5.007002|n
+markstack_grow|||
+matcher_matches_sv|||
+measure_struct|||
+memEQ|5.004000||p
+memNE|5.004000||p
+mem_collxfrm|||
+mess_alloc|||
+mess_nocontext|||vn
+mess||5.006000|v
+method_common|||
+mfree||5.007002|n
+mg_clear|||
+mg_copy|||
+mg_dup|||
+mg_find|||
+mg_free|||
+mg_get|||
+mg_length||5.005000|
+mg_localize|||
+mg_magical|||
+mg_set|||
+mg_size||5.005000|
+mini_mktime||5.007002|
+missingterm|||
+mode_from_discipline|||
+modkids|||
+mod|||
+more_bodies|||
+more_sv|||
+moreswitches|||
+mro_get_linear_isa_c3||5.009005|
+mro_get_linear_isa_dfs||5.009005|
+mro_get_linear_isa||5.009005|
+mro_isa_changed_in|||
+mro_meta_dup|||
+mro_meta_init|||
+mro_method_changed_in||5.009005|
+mul128|||
+mulexp10|||n
+my_atof2||5.007002|
+my_atof||5.006000|
+my_attrs|||
+my_bcopy|||n
+my_betoh16|||n
+my_betoh32|||n
+my_betoh64|||n
+my_betohi|||n
+my_betohl|||n
+my_betohs|||n
+my_bzero|||n
+my_chsize|||
+my_clearenv|||
+my_cxt_index|||
+my_cxt_init|||
+my_dirfd||5.009005|
+my_exit_jump|||
+my_exit|||
+my_failure_exit||5.004000|
+my_fflush_all||5.006000|
+my_fork||5.007003|n
+my_htobe16|||n
+my_htobe32|||n
+my_htobe64|||n
+my_htobei|||n
+my_htobel|||n
+my_htobes|||n
+my_htole16|||n
+my_htole32|||n
+my_htole64|||n
+my_htolei|||n
+my_htolel|||n
+my_htoles|||n
+my_htonl|||
+my_kid|||
+my_letoh16|||n
+my_letoh32|||n
+my_letoh64|||n
+my_letohi|||n
+my_letohl|||n
+my_letohs|||n
+my_lstat|||
+my_memcmp||5.004000|n
+my_memset|||n
+my_ntohl|||
+my_pclose||5.004000|
+my_popen_list||5.007001|
+my_popen||5.004000|
+my_setenv|||
+my_snprintf|5.009004||pvn
+my_socketpair||5.007003|n
+my_sprintf||5.009003|vn
+my_stat|||
+my_strftime||5.007002|
+my_strlcat|5.009004||pn
+my_strlcpy|5.009004||pn
+my_swabn|||n
+my_swap|||
+my_unexec|||
+my_vsnprintf||5.009004|n
+my|||
+need_utf8|||n
+newANONATTRSUB||5.006000|
+newANONHASH|||
+newANONLIST|||
+newANONSUB|||
+newASSIGNOP|||
+newATTRSUB||5.006000|
+newAVREF|||
+newAV|||
+newBINOP|||
+newCONDOP|||
+newCONSTSUB|5.004050||p
+newCVREF|||
+newDEFSVOP|||
+newFORM|||
+newFOROP|||
+newGIVENOP||5.009003|
+newGIVWHENOP|||
+newGP|||
+newGVOP|||
+newGVREF|||
+newGVgen|||
+newHVREF|||
+newHVhv||5.005000|
+newHV|||
+newIO|||
+newLISTOP|||
+newLOGOP|||
+newLOOPEX|||
+newLOOPOP|||
+newMADPROP|||
+newMADsv|||
+newMYSUB|||
+newNULLLIST|||
+newOP|||
+newPADOP|||
+newPMOP|||
+newPROG|||
+newPVOP|||
+newRANGE|||
+newRV_inc|5.004000||p
+newRV_noinc|5.004000||p
+newRV|||
+newSLICEOP|||
+newSTATEOP|||
+newSUB|||
+newSVOP|||
+newSVREF|||
+newSV_type||5.009005|
+newSVhek||5.009003|
+newSViv|||
+newSVnv|||
+newSVpvf_nocontext|||vn
+newSVpvf||5.004000|v
+newSVpvn_share|5.007001||p
+newSVpvn|5.004050||p
+newSVpvs_share||5.009003|
+newSVpvs|5.009003||p
+newSVpv|||
+newSVrv|||
+newSVsv|||
+newSVuv|5.006000||p
+newSV|||
+newTOKEN|||
+newUNOP|||
+newWHENOP||5.009003|
+newWHILEOP||5.009003|
+newXS_flags||5.009004|
+newXSproto||5.006000|
+newXS||5.006000|
+new_collate||5.006000|
+new_constant|||
+new_ctype||5.006000|
+new_he|||
+new_logop|||
+new_numeric||5.006000|
+new_stackinfo||5.005000|
+new_version||5.009000|
+new_warnings_bitfield|||
+next_symbol|||
+nextargv|||
+nextchar|||
+ninstr|||
+no_bareword_allowed|||
+no_fh_allowed|||
+no_op|||
+not_a_number|||
+nothreadhook||5.008000|
+nuke_stacks|||
+num_overflow|||n
+offer_nice_chunk|||
+oopsAV|||
+oopsCV|||
+oopsHV|||
+op_clear|||
+op_const_sv|||
+op_dump||5.006000|
+op_free|||
+op_getmad_weak|||
+op_getmad|||
+op_null||5.007002|
+op_refcnt_dec|||
+op_refcnt_inc|||
+op_refcnt_lock||5.009002|
+op_refcnt_unlock||5.009002|
+op_xmldump|||
+open_script|||
+pMY_CXT_|5.007003||p
+pMY_CXT|5.007003||p
+pTHX_|5.006000||p
+pTHX|5.006000||p
+packWARN|5.007003||p
+pack_cat||5.007003|
+pack_rec|||
+package|||
+packlist||5.008001|
+pad_add_anon|||
+pad_add_name|||
+pad_alloc|||
+pad_block_start|||
+pad_check_dup|||
+pad_compname_type|||
+pad_findlex|||
+pad_findmy|||
+pad_fixup_inner_anons|||
+pad_free|||
+pad_leavemy|||
+pad_new|||
+pad_peg|||n
+pad_push|||
+pad_reset|||
+pad_setsv|||
+pad_sv||5.009005|
+pad_swipe|||
+pad_tidy|||
+pad_undef|||
+parse_body|||
+parse_unicode_opts|||
+parser_dup|||
+parser_free|||
+path_is_absolute|||n
+peep|||
+pending_Slabs_to_ro|||
+perl_alloc_using|||n
+perl_alloc|||n
+perl_clone_using|||n
+perl_clone|||n
+perl_construct|||n
+perl_destruct||5.007003|n
+perl_free|||n
+perl_parse||5.006000|n
+perl_run|||n
+pidgone|||
+pm_description|||
+pmflag|||
+pmop_dump||5.006000|
+pmop_xmldump|||
+pmruntime|||
+pmtrans|||
+pop_scope|||
+pregcomp||5.009005|
+pregexec|||
+pregfree|||
+prepend_elem|||
+prepend_madprops|||
+printbuf|||
+printf_nocontext|||vn
+process_special_blocks|||
+ptr_table_clear||5.009005|
+ptr_table_fetch||5.009005|
+ptr_table_find|||n
+ptr_table_free||5.009005|
+ptr_table_new||5.009005|
+ptr_table_split||5.009005|
+ptr_table_store||5.009005|
+push_scope|||
+put_byte|||
+pv_display||5.006000|
+pv_escape||5.009004|
+pv_pretty||5.009004|
+pv_uni_display||5.007003|
+qerror|||
+qsortsvu|||
+re_compile||5.009005|
+re_croak2|||
+re_dup|||
+re_intuit_start||5.009005|
+re_intuit_string||5.006000|
+readpipe_override|||
+realloc||5.007002|n
+reentrant_free|||
+reentrant_init|||
+reentrant_retry|||vn
+reentrant_size|||
+ref_array_or_hash|||
+refcounted_he_chain_2hv|||
+refcounted_he_fetch|||
+refcounted_he_free|||
+refcounted_he_new|||
+refcounted_he_value|||
+refkids|||
+refto|||
+ref||5.009003|
+reg_check_named_buff_matched|||
+reg_named_buff_all||5.009005|
+reg_named_buff_exists||5.009005|
+reg_named_buff_fetch||5.009005|
+reg_named_buff_firstkey||5.009005|
+reg_named_buff_iter|||
+reg_named_buff_nextkey||5.009005|
+reg_named_buff_scalar||5.009005|
+reg_named_buff|||
+reg_namedseq|||
+reg_node|||
+reg_numbered_buff_fetch|||
+reg_numbered_buff_length|||
+reg_numbered_buff_store|||
+reg_qr_package|||
+reg_recode|||
+reg_scan_name|||
+reg_skipcomment|||
+reg_stringify||5.009005|
+reg_temp_copy|||
+reganode|||
+regatom|||
+regbranch|||
+regclass_swash||5.009004|
+regclass|||
+regcppop|||
+regcppush|||
+regcurly|||n
+regdump_extflags|||
+regdump||5.005000|
+regdupe_internal|||
+regexec_flags||5.005000|
+regfree_internal||5.009005|
+reghop3|||n
+reghop4|||n
+reghopmaybe3|||n
+reginclass|||
+reginitcolors||5.006000|
+reginsert|||
+regmatch|||
+regnext||5.005000|
+regpiece|||
+regpposixcc|||
+regprop|||
+regrepeat|||
+regtail_study|||
+regtail|||
+regtry|||
+reguni|||
+regwhite|||n
+reg|||
+repeatcpy|||
+report_evil_fh|||
+report_uninit|||
+require_pv||5.006000|
+require_tie_mod|||
+restore_magic|||
+rninstr|||
+rsignal_restore|||
+rsignal_save|||
+rsignal_state||5.004000|
+rsignal||5.004000|
+run_body|||
+run_user_filter|||
+runops_debug||5.005000|
+runops_standard||5.005000|
+rvpv_dup|||
+rxres_free|||
+rxres_restore|||
+rxres_save|||
+safesyscalloc||5.006000|n
+safesysfree||5.006000|n
+safesysmalloc||5.006000|n
+safesysrealloc||5.006000|n
+same_dirent|||
+save_I16||5.004000|
+save_I32|||
+save_I8||5.006000|
+save_aelem||5.004050|
+save_alloc||5.006000|
+save_aptr|||
+save_ary|||
+save_bool||5.008001|
+save_clearsv|||
+save_delete|||
+save_destructor_x||5.006000|
+save_destructor||5.006000|
+save_freeop|||
+save_freepv|||
+save_freesv|||
+save_generic_pvref||5.006001|
+save_generic_svref||5.005030|
+save_gp||5.004000|
+save_hash|||
+save_hek_flags|||n
+save_helem||5.004050|
+save_hints||5.005000|
+save_hptr|||
+save_int|||
+save_item|||
+save_iv||5.005000|
+save_lines|||
+save_list|||
+save_long|||
+save_magic|||
+save_mortalizesv||5.007001|
+save_nogv|||
+save_op|||
+save_padsv||5.007001|
+save_pptr|||
+save_re_context||5.006000|
+save_scalar_at|||
+save_scalar|||
+save_set_svflags||5.009000|
+save_shared_pvref||5.007003|
+save_sptr|||
+save_svref|||
+save_vptr||5.006000|
+savepvn|||
+savepvs||5.009003|
+savepv|||
+savesharedpvn||5.009005|
+savesharedpv||5.007003|
+savestack_grow_cnt||5.008001|
+savestack_grow|||
+savesvpv||5.009002|
+sawparens|||
+scalar_mod_type|||n
+scalarboolean|||
+scalarkids|||
+scalarseq|||
+scalarvoid|||
+scalar|||
+scan_bin||5.006000|
+scan_commit|||
+scan_const|||
+scan_formline|||
+scan_heredoc|||
+scan_hex|||
+scan_ident|||
+scan_inputsymbol|||
+scan_num||5.007001|
+scan_oct|||
+scan_pat|||
+scan_str|||
+scan_subst|||
+scan_trans|||
+scan_version||5.009001|
+scan_vstring||5.009005|
+scan_word|||
+scope|||
+screaminstr||5.005000|
+seed||5.008001|
+sequence_num|||
+sequence_tail|||
+sequence|||
+set_context||5.006000|n
+set_csh|||
+set_numeric_local||5.006000|
+set_numeric_radix||5.006000|
+set_numeric_standard||5.006000|
+setdefout|||
+setenv_getix|||
+share_hek_flags|||
+share_hek||5.004000|
+si_dup|||
+sighandler|||n
+simplify_sort|||
+skipspace0|||
+skipspace1|||
+skipspace2|||
+skipspace|||
+softref2xv|||
+sortcv_stacked|||
+sortcv_xsub|||
+sortcv|||
+sortsv_flags||5.009003|
+sortsv||5.007003|
+space_join_names_mortal|||
+ss_dup|||
+stack_grow|||
+start_force|||
+start_glob|||
+start_subparse||5.004000|
+stashpv_hvname_match||5.009005|
+stdize_locale|||
+strEQ|||
+strGE|||
+strGT|||
+strLE|||
+strLT|||
+strNE|||
+str_to_version||5.006000|
+strip_return|||
+strnEQ|||
+strnNE|||
+study_chunk|||
+sub_crush_depth|||
+sublex_done|||
+sublex_push|||
+sublex_start|||
+sv_2bool|||
+sv_2cv|||
+sv_2io|||
+sv_2iuv_common|||
+sv_2iuv_non_preserve|||
+sv_2iv_flags||5.009001|
+sv_2iv|||
+sv_2mortal|||
+sv_2nv|||
+sv_2pv_flags|5.007002||p
+sv_2pv_nolen|5.006000||p
+sv_2pvbyte_nolen|5.006000||p
+sv_2pvbyte|5.006000||p
+sv_2pvutf8_nolen||5.006000|
+sv_2pvutf8||5.006000|
+sv_2pv|||
+sv_2uv_flags||5.009001|
+sv_2uv|5.004000||p
+sv_add_arena|||
+sv_add_backref|||
+sv_backoff|||
+sv_bless|||
+sv_cat_decode||5.008001|
+sv_catpv_mg|5.004050||p
+sv_catpvf_mg_nocontext|||pvn
+sv_catpvf_mg|5.006000|5.004000|pv
+sv_catpvf_nocontext|||vn
+sv_catpvf||5.004000|v
+sv_catpvn_flags||5.007002|
+sv_catpvn_mg|5.004050||p
+sv_catpvn_nomg|5.007002||p
+sv_catpvn|||
+sv_catpvs|5.009003||p
+sv_catpv|||
+sv_catsv_flags||5.007002|
+sv_catsv_mg|5.004050||p
+sv_catsv_nomg|5.007002||p
+sv_catsv|||
+sv_catxmlpvn|||
+sv_catxmlsv|||
+sv_chop|||
+sv_clean_all|||
+sv_clean_objs|||
+sv_clear|||
+sv_cmp_locale||5.004000|
+sv_cmp|||
+sv_collxfrm|||
+sv_compile_2op||5.008001|
+sv_copypv||5.007003|
+sv_dec|||
+sv_del_backref|||
+sv_derived_from||5.004000|
+sv_does||5.009004|
+sv_dump|||
+sv_dup|||
+sv_eq|||
+sv_exp_grow|||
+sv_force_normal_flags||5.007001|
+sv_force_normal||5.006000|
+sv_free2|||
+sv_free_arenas|||
+sv_free|||
+sv_gets||5.004000|
+sv_grow|||
+sv_i_ncmp|||
+sv_inc|||
+sv_insert|||
+sv_isa|||
+sv_isobject|||
+sv_iv||5.005000|
+sv_kill_backrefs|||
+sv_len_utf8||5.006000|
+sv_len|||
+sv_magic_portable|5.009005|5.004000|p
+sv_magicext||5.007003|
+sv_magic|||
+sv_mortalcopy|||
+sv_ncmp|||
+sv_newmortal|||
+sv_newref|||
+sv_nolocking||5.007003|
+sv_nosharing||5.007003|
+sv_nounlocking|||
+sv_nv||5.005000|
+sv_peek||5.005000|
+sv_pos_b2u_midway|||
+sv_pos_b2u||5.006000|
+sv_pos_u2b_cached|||
+sv_pos_u2b_forwards|||n
+sv_pos_u2b_midway|||n
+sv_pos_u2b||5.006000|
+sv_pvbyten_force||5.006000|
+sv_pvbyten||5.006000|
+sv_pvbyte||5.006000|
+sv_pvn_force_flags|5.007002||p
+sv_pvn_force|||
+sv_pvn_nomg|5.007003||p
+sv_pvn|||
+sv_pvutf8n_force||5.006000|
+sv_pvutf8n||5.006000|
+sv_pvutf8||5.006000|
+sv_pv||5.006000|
+sv_recode_to_utf8||5.007003|
+sv_reftype|||
+sv_release_COW|||
+sv_replace|||
+sv_report_used|||
+sv_reset|||
+sv_rvweaken||5.006000|
+sv_setiv_mg|5.004050||p
+sv_setiv|||
+sv_setnv_mg|5.006000||p
+sv_setnv|||
+sv_setpv_mg|5.004050||p
+sv_setpvf_mg_nocontext|||pvn
+sv_setpvf_mg|5.006000|5.004000|pv
+sv_setpvf_nocontext|||vn
+sv_setpvf||5.004000|v
+sv_setpviv_mg||5.008001|
+sv_setpviv||5.008001|
+sv_setpvn_mg|5.004050||p
+sv_setpvn|||
+sv_setpvs|5.009004||p
+sv_setpv|||
+sv_setref_iv|||
+sv_setref_nv|||
+sv_setref_pvn|||
+sv_setref_pv|||
+sv_setref_uv||5.007001|
+sv_setsv_cow|||
+sv_setsv_flags||5.007002|
+sv_setsv_mg|5.004050||p
+sv_setsv_nomg|5.007002||p
+sv_setsv|||
+sv_setuv_mg|5.004050||p
+sv_setuv|5.004000||p
+sv_tainted||5.004000|
+sv_taint||5.004000|
+sv_true||5.005000|
+sv_unglob|||
+sv_uni_display||5.007003|
+sv_unmagic|||
+sv_unref_flags||5.007001|
+sv_unref|||
+sv_untaint||5.004000|
+sv_upgrade|||
+sv_usepvn_flags||5.009004|
+sv_usepvn_mg|5.004050||p
+sv_usepvn|||
+sv_utf8_decode||5.006000|
+sv_utf8_downgrade||5.006000|
+sv_utf8_encode||5.006000|
+sv_utf8_upgrade_flags||5.007002|
+sv_utf8_upgrade||5.007001|
+sv_uv|5.005000||p
+sv_vcatpvf_mg|5.006000|5.004000|p
+sv_vcatpvfn||5.004000|
+sv_vcatpvf|5.006000|5.004000|p
+sv_vsetpvf_mg|5.006000|5.004000|p
+sv_vsetpvfn||5.004000|
+sv_vsetpvf|5.006000|5.004000|p
+sv_xmlpeek|||
+svtype|||
+swallow_bom|||
+swap_match_buff|||
+swash_fetch||5.007002|
+swash_get|||
+swash_init||5.006000|
+sys_intern_clear|||
+sys_intern_dup|||
+sys_intern_init|||
+taint_env|||
+taint_proper|||
+tmps_grow||5.006000|
+toLOWER|||
+toUPPER|||
+to_byte_substr|||
+to_uni_fold||5.007003|
+to_uni_lower_lc||5.006000|
+to_uni_lower||5.007003|
+to_uni_title_lc||5.006000|
+to_uni_title||5.007003|
+to_uni_upper_lc||5.006000|
+to_uni_upper||5.007003|
+to_utf8_case||5.007003|
+to_utf8_fold||5.007003|
+to_utf8_lower||5.007003|
+to_utf8_substr|||
+to_utf8_title||5.007003|
+to_utf8_upper||5.007003|
+token_free|||
+token_getmad|||
+tokenize_use|||
+tokeq|||
+tokereport|||
+too_few_arguments|||
+too_many_arguments|||
+uiv_2buf|||n
+unlnk|||
+unpack_rec|||
+unpack_str||5.007003|
+unpackstring||5.008001|
+unshare_hek_or_pvn|||
+unshare_hek|||
+unsharepvn||5.004000|
+unwind_handler_stack|||
+update_debugger_info|||
+upg_version||5.009005|
+usage|||
+utf16_to_utf8_reversed||5.006001|
+utf16_to_utf8||5.006001|
+utf8_distance||5.006000|
+utf8_hop||5.006000|
+utf8_length||5.007001|
+utf8_mg_pos_cache_update|||
+utf8_to_bytes||5.006001|
+utf8_to_uvchr||5.007001|
+utf8_to_uvuni||5.007001|
+utf8n_to_uvchr|||
+utf8n_to_uvuni||5.007001|
+utilize|||
+uvchr_to_utf8_flags||5.007003|
+uvchr_to_utf8|||
+uvuni_to_utf8_flags||5.007003|
+uvuni_to_utf8||5.007001|
+validate_suid|||
+varname|||
+vcmp||5.009000|
+vcroak||5.006000|
+vdeb||5.007003|
+vdie_common|||
+vdie_croak_common|||
+vdie|||
+vform||5.006000|
+visit|||
+vivify_defelem|||
+vivify_ref|||
+vload_module|5.006000||p
+vmess||5.006000|
+vnewSVpvf|5.006000|5.004000|p
+vnormal||5.009002|
+vnumify||5.009000|
+vstringify||5.009000|
+vverify||5.009003|
+vwarner||5.006000|
+vwarn||5.006000|
+wait4pid|||
+warn_nocontext|||vn
+warner_nocontext|||vn
+warner|5.006000|5.004000|pv
+warn|||v
+watch|||
+whichsig|||
+write_no_mem|||
+write_to_stderr|||
+xmldump_all|||
+xmldump_attr|||
+xmldump_eval|||
+xmldump_form|||
+xmldump_indent|||v
+xmldump_packsubs|||
+xmldump_sub|||
+xmldump_vindent|||
+yyerror|||
+yylex|||
+yyparse|||
+yywarn|||
+);
+
+if (exists $opt{'list-unsupported'}) {
+  my $f;
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $API{$f}{todo};
+    print &quot;$f &quot;, '.'x(40-length($f)), &quot; &quot;, format_version($API{$f}{todo}), &quot;\n&quot;;
+  }
+  exit 0;
+}
+
+# Scan for possible replacement candidates
+
+my(%replace, %need, %hints, %warnings, %depends);
+my $replace = 0;
+my($hint, $define, $function);
+
+sub find_api
+{
+  my $code = shift;
+  $code =~ s{
+    / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
+  | &quot;[^&quot;\\]*(?:\\.[^&quot;\\]*)*&quot;
+  | '[^'\\]*(?:\\.[^'\\]*)*' }{}egsx;
+  grep { exists $API{$_} } $code =~ /(\w+)/mg;
+}
+
+while (&lt;DATA&gt;) {
+  if ($hint) {
+    my $h = $hint-&gt;[0] eq 'Hint' ? \%hints : \%warnings;
+    if (m{^\s*\*\s(.*?)\s*$}) {
+      for (@{$hint-&gt;[1]}) {
+        $h-&gt;{$_} ||= '';  # suppress warning with older perls
+        $h-&gt;{$_} .= &quot;$1\n&quot;;
+      }
+    }
+    else { undef $hint }
+  }
+
+  $hint = [$1, [split /,?\s+/, $2]]
+      if m{^\s*$rccs\s+(Hint|Warning):\s+(\w+(?:,?\s+\w+)*)\s*$};
+
+  if ($define) {
+    if ($define-&gt;[1] =~ /\\$/) {
+      $define-&gt;[1] .= $_;
+    }
+    else {
+      if (exists $API{$define-&gt;[0]} &amp;&amp; $define-&gt;[1] !~ /^DPPP_\(/) {
+        my @n = find_api($define-&gt;[1]);
+        push @{$depends{$define-&gt;[0]}}, @n if @n
+      }
+      undef $define;
+    }
+  }
+
+  $define = [$1, $2] if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(.*)};
+
+  if ($function) {
+    if (/^}/) {
+      if (exists $API{$function-&gt;[0]}) {
+        my @n = find_api($function-&gt;[1]);
+        push @{$depends{$function-&gt;[0]}}, @n if @n
+      }
+      undef $define;
+    }
+    else {
+      $function-&gt;[1] .= $_;
+    }
+  }
+
+  $function = [$1, ''] if m{^DPPP_\(my_(\w+)\)};
+
+  $replace     = $1 if m{^\s*$rccs\s+Replace:\s+(\d+)\s+$rcce\s*$};
+  $replace{$2} = $1 if $replace and m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+)};
+  $replace{$2} = $1 if m{^\s*#\s*define\s+(\w+)(?:\([^)]*\))?\s+(\w+).*$rccs\s+Replace\s+$rcce};
+  $replace{$1} = $2 if m{^\s*$rccs\s+Replace (\w+) with (\w+)\s+$rcce\s*$};
+
+  if (m{^\s*$rccs\s+(\w+)\s+depends\s+on\s+(\w+(\s*,\s*\w+)*)\s+$rcce\s*$}) {
+    push @{$depends{$1}}, map { s/\s+//g; $_ } split /,/, $2;
+  }
+
+  $need{$1} = 1 if m{^#if\s+defined\(NEED_(\w+)(?:_GLOBAL)?\)};
+}
+
+for (values %depends) {
+  my %s;
+  $_ = [sort grep !$s{$_}++, @$_];
+}
+
+if (exists $opt{'api-info'}) {
+  my $f;
+  my $count = 0;
+  my $match = $opt{'api-info'} =~ m!^/(.*)/$! ? $1 : &quot;^\Q$opt{'api-info'}\E\$&quot;;
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $f =~ /$match/;
+    print &quot;\n=== $f ===\n\n&quot;;
+    my $info = 0;
+    if ($API{$f}{base} || $API{$f}{todo}) {
+      my $base = format_version($API{$f}{base} || $API{$f}{todo});
+      print &quot;Supported at least starting from perl-$base.\n&quot;;
+      $info++;
+    }
+    if ($API{$f}{provided}) {
+      my $todo = $API{$f}{todo} ? format_version($API{$f}{todo}) : &quot;5.003&quot;;
+      print &quot;Support by $ppport provided back to perl-$todo.\n&quot;;
+      print &quot;Support needs to be explicitly requested by NEED_$f.\n&quot; if exists $need{$f};
+      print &quot;Depends on: &quot;, join(', ', @{$depends{$f}}), &quot;.\n&quot; if exists $depends{$f};
+      print &quot;\n$hints{$f}&quot; if exists $hints{$f};
+      print &quot;\nWARNING:\n$warnings{$f}&quot; if exists $warnings{$f};
+      $info++;
+    }
+    print &quot;No portability information available.\n&quot; unless $info;
+    $count++;
+  }
+  $count or print &quot;Found no API matching '$opt{'api-info'}'.&quot;;
+  print &quot;\n&quot;;
+  exit 0;
+}
+
+if (exists $opt{'list-provided'}) {
+  my $f;
+  for $f (sort { lc $a cmp lc $b } keys %API) {
+    next unless $API{$f}{provided};
+    my @flags;
+    push @flags, 'explicit' if exists $need{$f};
+    push @flags, 'depend'   if exists $depends{$f};
+    push @flags, 'hint'     if exists $hints{$f};
+    push @flags, 'warning'  if exists $warnings{$f};
+    my $flags = @flags ? '  ['.join(', ', @flags).']' : '';
+    print &quot;$f$flags\n&quot;;
+  }
+  exit 0;
+}
+
+my @files;
+my @srcext = qw( .xs .c .h .cc .cpp -c.inc -xs.inc );
+my $srcext = join '|', map { quotemeta $_ } @srcext;
+
+if (@ARGV) {
+  my %seen;
+  for (@ARGV) {
+    if (-e) {
+      if (-f) {
+        push @files, $_ unless $seen{$_}++;
+      }
+      else { warn &quot;'$_' is not a file.\n&quot; }
+    }
+    else {
+      my @new = grep { -f } glob $_
+          or warn &quot;'$_' does not exist.\n&quot;;
+      push @files, grep { !$seen{$_}++ } @new;
+    }
+  }
+}
+else {
+  eval {
+    require File::Find;
+    File::Find::find(sub {
+      $File::Find::name =~ /($srcext)$/i
+          and push @files, $File::Find::name;
+    }, '.');
+  };
+  if ($@) {
+    @files = map { glob &quot;*$_&quot; } @srcext;
+  }
+}
+
+if (!@ARGV || $opt{filter}) {
+  my(@in, @out);
+  my %xsc = map { /(.*)\.xs$/ ? (&quot;$1.c&quot; =&gt; 1, &quot;$1.cc&quot; =&gt; 1) : () } @files;
+  for (@files) {
+    my $out = exists $xsc{$_} || /\b\Q$ppport\E$/i || !/($srcext)$/i;
+    push @{ $out ? \@out : \@in }, $_;
+  }
+  if (@ARGV &amp;&amp; @out) {
+    warning(&quot;Skipping the following files (use --nofilter to avoid this):\n| &quot;, join &quot;\n| &quot;, @out);
+  }
+  @files = @in;
+}
+
+die &quot;No input files given!\n&quot; unless @files;
+
+my(%files, %global, %revreplace);
+%revreplace = reverse %replace;
+my $filename;
+my $patch_opened = 0;
+
+for $filename (@files) {
+  unless (open IN, &quot;&lt;$filename&quot;) {
+    warn &quot;Unable to read from $filename: $!\n&quot;;
+    next;
+  }
+
+  info(&quot;Scanning $filename ...&quot;);
+
+  my $c = do { local $/; &lt;IN&gt; };
+  close IN;
+
+  my %file = (orig =&gt; $c, changes =&gt; 0);
+
+  # Temporarily remove C/XS comments and strings from the code
+  my @ccom;
+
+  $c =~ s{
+    ( ^$HS*\#$HS*include\b[^\r\n]+\b(?:\Q$ppport\E|XSUB\.h)\b[^\r\n]*
+    | ^$HS*\#$HS*(?:define|elif|if(?:def)?)\b[^\r\n]* )
+  | ( ^$HS*\#[^\r\n]*
+    | &quot;[^&quot;\\]*(?:\\.[^&quot;\\]*)*&quot;
+    | '[^'\\]*(?:\\.[^'\\]*)*'
+    | / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]* ) )
+  }{ defined $2 and push @ccom, $2;
+     defined $1 ? $1 : &quot;$ccs$#ccom$cce&quot; }mgsex;
+
+  $file{ccom} = \@ccom;
+  $file{code} = $c;
+  $file{has_inc_ppport} = $c =~ /^$HS*#$HS*include[^\r\n]+\b\Q$ppport\E\b/m;
+
+  my $func;
+
+  for $func (keys %API) {
+    my $match = $func;
+    $match .= &quot;|$revreplace{$func}&quot; if exists $revreplace{$func};
+    if ($c =~ /\b(?:Perl_)?($match)\b/) {
+      $file{uses_replace}{$1}++ if exists $revreplace{$func} &amp;&amp; $1 eq $revreplace{$func};
+      $file{uses_Perl}{$func}++ if $c =~ /\bPerl_$func\b/;
+      if (exists $API{$func}{provided}) {
+        $file{uses_provided}{$func}++;
+        if (!exists $API{$func}{base} || $API{$func}{base} &gt; $opt{'compat-version'}) {
+          $file{uses}{$func}++;
+          my @deps = rec_depend($func);
+          if (@deps) {
+            $file{uses_deps}{$func} = \@deps;
+            for (@deps) {
+              $file{uses}{$_} = 0 unless exists $file{uses}{$_};
+            }
+          }
+          for ($func, @deps) {
+            $file{needs}{$_} = 'static' if exists $need{$_};
+          }
+        }
+      }
+      if (exists $API{$func}{todo} &amp;&amp; $API{$func}{todo} &gt; $opt{'compat-version'}) {
+        if ($c =~ /\b$func\b/) {
+          $file{uses_todo}{$func}++;
+        }
+      }
+    }
+  }
+
+  while ($c =~ /^$HS*#$HS*define$HS+(NEED_(\w+?)(_GLOBAL)?)\b/mg) {
+    if (exists $need{$2}) {
+      $file{defined $3 ? 'needed_global' : 'needed_static'}{$2}++;
+    }
+    else { warning(&quot;Possibly wrong #define $1 in $filename&quot;) }
+  }
+
+  for (qw(uses needs uses_todo needed_global needed_static)) {
+    for $func (keys %{$file{$_}}) {
+      push @{$global{$_}{$func}}, $filename;
+    }
+  }
+
+  $files{$filename} = \%file;
+}
+
+# Globally resolve NEED_'s
+my $need;
+for $need (keys %{$global{needs}}) {
+  if (@{$global{needs}{$need}} &gt; 1) {
+    my @targets = @{$global{needs}{$need}};
+    my @t = grep $files{$_}{needed_global}{$need}, @targets;
+    @targets = @t if @t;
+    @t = grep /\.xs$/i, @targets;
+    @targets = @t if @t;
+    my $target = shift @targets;
+    $files{$target}{needs}{$need} = 'global';
+    for (@{$global{needs}{$need}}) {
+      $files{$_}{needs}{$need} = 'extern' if $_ ne $target;
+    }
+  }
+}
+
+for $filename (@files) {
+  exists $files{$filename} or next;
+
+  info(&quot;=== Analyzing $filename ===&quot;);
+
+  my %file = %{$files{$filename}};
+  my $func;
+  my $c = $file{code};
+  my $warnings = 0;
+
+  for $func (sort keys %{$file{uses_Perl}}) {
+    if ($API{$func}{varargs}) {
+      unless ($API{$func}{nothxarg}) {
+        my $changes = ($c =~ s{\b(Perl_$func\s*\(\s*)(?!aTHX_?)(\)|[^\s)]*\))}
+                              { $1 . ($2 eq ')' ? 'aTHX' : 'aTHX_ ') . $2 }ge);
+        if ($changes) {
+          warning(&quot;Doesn't pass interpreter argument aTHX to Perl_$func&quot;);
+          $file{changes} += $changes;
+        }
+      }
+    }
+    else {
+      warning(&quot;Uses Perl_$func instead of $func&quot;);
+      $file{changes} += ($c =~ s{\bPerl_$func(\s*)\((\s*aTHX_?)?\s*}
+                                {$func$1(}g);
+    }
+  }
+
+  for $func (sort keys %{$file{uses_replace}}) {
+    warning(&quot;Uses $func instead of $replace{$func}&quot;);
+    $file{changes} += ($c =~ s/\b$func\b/$replace{$func}/g);
+  }
+
+  for $func (sort keys %{$file{uses_provided}}) {
+    if ($file{uses}{$func}) {
+      if (exists $file{uses_deps}{$func}) {
+        diag(&quot;Uses $func, which depends on &quot;, join(', ', @{$file{uses_deps}{$func}}));
+      }
+      else {
+        diag(&quot;Uses $func&quot;);
+      }
+    }
+    $warnings += hint($func);
+  }
+
+  unless ($opt{quiet}) {
+    for $func (sort keys %{$file{uses_todo}}) {
+      print &quot;*** WARNING: Uses $func, which may not be portable below perl &quot;,
+            format_version($API{$func}{todo}), &quot;, even with '$ppport'\n&quot;;
+      $warnings++;
+    }
+  }
+
+  for $func (sort keys %{$file{needed_static}}) {
+    my $message = '';
+    if (not exists $file{uses}{$func}) {
+      $message = &quot;No need to define NEED_$func if $func is never used&quot;;
+    }
+    elsif (exists $file{needs}{$func} &amp;&amp; $file{needs}{$func} ne 'static') {
+      $message = &quot;No need to define NEED_$func when already needed globally&quot;;
+    }
+    if ($message) {
+      diag($message);
+      $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_$func\b.*$LF//mg);
+    }
+  }
+
+  for $func (sort keys %{$file{needed_global}}) {
+    my $message = '';
+    if (not exists $global{uses}{$func}) {
+      $message = &quot;No need to define NEED_${func}_GLOBAL if $func is never used&quot;;
+    }
+    elsif (exists $file{needs}{$func}) {
+      if ($file{needs}{$func} eq 'extern') {
+        $message = &quot;No need to define NEED_${func}_GLOBAL when already needed globally&quot;;
+      }
+      elsif ($file{needs}{$func} eq 'static') {
+        $message = &quot;No need to define NEED_${func}_GLOBAL when only used in this file&quot;;
+      }
+    }
+    if ($message) {
+      diag($message);
+      $file{changes} += ($c =~ s/^$HS*#$HS*define$HS+NEED_${func}_GLOBAL\b.*$LF//mg);
+    }
+  }
+
+  $file{needs_inc_ppport} = keys %{$file{uses}};
+
+  if ($file{needs_inc_ppport}) {
+    my $pp = '';
+
+    for $func (sort keys %{$file{needs}}) {
+      my $type = $file{needs}{$func};
+      next if $type eq 'extern';
+      my $suffix = $type eq 'global' ? '_GLOBAL' : '';
+      unless (exists $file{&quot;needed_$type&quot;}{$func}) {
+        if ($type eq 'global') {
+          diag(&quot;Files [@{$global{needs}{$func}}] need $func, adding global request&quot;);
+        }
+        else {
+          diag(&quot;File needs $func, adding static request&quot;);
+        }
+        $pp .= &quot;#define NEED_$func$suffix\n&quot;;
+      }
+    }
+
+    if ($pp &amp;&amp; ($c =~ s/^(?=$HS*#$HS*define$HS+NEED_\w+)/$pp/m)) {
+      $pp = '';
+      $file{changes}++;
+    }
+
+    unless ($file{has_inc_ppport}) {
+      diag(&quot;Needs to include '$ppport'&quot;);
+      $pp .= qq(#include &quot;$ppport&quot;\n)
+    }
+
+    if ($pp) {
+      $file{changes} += ($c =~ s/^($HS*#$HS*define$HS+NEED_\w+.*?)^/$1$pp/ms)
+                     || ($c =~ s/^(?=$HS*#$HS*include.*\Q$ppport\E)/$pp/m)
+                     || ($c =~ s/^($HS*#$HS*include.*XSUB.*\s*?)^/$1$pp/m)
+                     || ($c =~ s/^/$pp/);
+    }
+  }
+  else {
+    if ($file{has_inc_ppport}) {
+      diag(&quot;No need to include '$ppport'&quot;);
+      $file{changes} += ($c =~ s/^$HS*?#$HS*include.*\Q$ppport\E.*?$LF//m);
+    }
+  }
+
+  # put back in our C comments
+  my $ix;
+  my $cppc = 0;
+  my @ccom = @{$file{ccom}};
+  for $ix (0 .. $#ccom) {
+    if (!$opt{cplusplus} &amp;&amp; $ccom[$ix] =~ s!^//!!) {
+      $cppc++;
+      $file{changes} += $c =~ s/$rccs$ix$rcce/$ccs$ccom[$ix] $cce/;
+    }
+    else {
+      $c =~ s/$rccs$ix$rcce/$ccom[$ix]/;
+    }
+  }
+
+  if ($cppc) {
+    my $s = $cppc != 1 ? 's' : '';
+    warning(&quot;Uses $cppc C++ style comment$s, which is not portable&quot;);
+  }
+
+  my $s = $warnings != 1 ? 's' : '';
+  my $warn = $warnings ? &quot; ($warnings warning$s)&quot; : '';
+  info(&quot;Analysis completed$warn&quot;);
+
+  if ($file{changes}) {
+    if (exists $opt{copy}) {
+      my $newfile = &quot;$filename$opt{copy}&quot;;
+      if (-e $newfile) {
+        error(&quot;'$newfile' already exists, refusing to write copy of '$filename'&quot;);
+      }
+      else {
+        local *F;
+        if (open F, &quot;&gt;$newfile&quot;) {
+          info(&quot;Writing copy of '$filename' with changes to '$newfile'&quot;);
+          print F $c;
+          close F;
+        }
+        else {
+          error(&quot;Cannot open '$newfile' for writing: $!&quot;);
+        }
+      }
+    }
+    elsif (exists $opt{patch} || $opt{changes}) {
+      if (exists $opt{patch}) {
+        unless ($patch_opened) {
+          if (open PATCH, &quot;&gt;$opt{patch}&quot;) {
+            $patch_opened = 1;
+          }
+          else {
+            error(&quot;Cannot open '$opt{patch}' for writing: $!&quot;);
+            delete $opt{patch};
+            $opt{changes} = 1;
+            goto fallback;
+          }
+        }
+        mydiff(\*PATCH, $filename, $c);
+      }
+      else {
+fallback:
+        info(&quot;Suggested changes:&quot;);
+        mydiff(\*STDOUT, $filename, $c);
+      }
+    }
+    else {
+      my $s = $file{changes} == 1 ? '' : 's';
+      info(&quot;$file{changes} potentially required change$s detected&quot;);
+    }
+  }
+  else {
+    info(&quot;Looks good&quot;);
+  }
+}
+
+close PATCH if $patch_opened;
+
+exit 0;
+
+
+sub try_use { eval &quot;use @_;&quot;; return $@ eq '' }
+
+sub mydiff
+{
+  local *F = shift;
+  my($file, $str) = @_;
+  my $diff;
+
+  if (exists $opt{diff}) {
+    $diff = run_diff($opt{diff}, $file, $str);
+  }
+
+  if (!defined $diff and try_use('Text::Diff')) {
+    $diff = Text::Diff::diff($file, \$str, { STYLE =&gt; 'Unified' });
+    $diff = &lt;&lt;HEADER . $diff;
+--- $file
++++ $file.patched
+HEADER
+  }
+
+  if (!defined $diff) {
+    $diff = run_diff('diff -u', $file, $str);
+  }
+
+  if (!defined $diff) {
+    $diff = run_diff('diff', $file, $str);
+  }
+
+  if (!defined $diff) {
+    error(&quot;Cannot generate a diff. Please install Text::Diff or use --copy.&quot;);
+    return;
+  }
+
+  print F $diff;
+}
+
+sub run_diff
+{
+  my($prog, $file, $str) = @_;
+  my $tmp = 'dppptemp';
+  my $suf = 'aaa';
+  my $diff = '';
+  local *F;
+
+  while (-e &quot;$tmp.$suf&quot;) { $suf++ }
+  $tmp = &quot;$tmp.$suf&quot;;
+
+  if (open F, &quot;&gt;$tmp&quot;) {
+    print F $str;
+    close F;
+
+    if (open F, &quot;$prog $file $tmp |&quot;) {
+      while (&lt;F&gt;) {
+        s/\Q$tmp\E/$file.patched/;
+        $diff .= $_;
+      }
+      close F;
+      unlink $tmp;
+      return $diff;
+    }
+
+    unlink $tmp;
+  }
+  else {
+    error(&quot;Cannot open '$tmp' for writing: $!&quot;);
+  }
+
+  return undef;
+}
+
+sub rec_depend
+{
+  my($func, $seen) = @_;
+  return () unless exists $depends{$func};
+  $seen = {%{$seen||{}}};
+  return () if $seen-&gt;{$func}++;
+  my %s;
+  grep !$s{$_}++, map { ($_, rec_depend($_, $seen)) } @{$depends{$func}};
+}
+
+sub parse_version
+{
+  my $ver = shift;
+
+  if ($ver =~ /^(\d+)\.(\d+)\.(\d+)$/) {
+    return ($1, $2, $3);
+  }
+  elsif ($ver !~ /^\d+\.[\d_]+$/) {
+    die &quot;cannot parse version '$ver'\n&quot;;
+  }
+
+  $ver =~ s/_//g;
+  $ver =~ s/$/000000/;
+
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r &lt; 5 || ($r == 5 &amp;&amp; $v &lt; 6)) {
+    if ($s % 10) {
+      die &quot;cannot parse version '$ver'\n&quot;;
+    }
+  }
+
+  return ($r, $v, $s);
+}
+
+sub format_version
+{
+  my $ver = shift;
+
+  $ver =~ s/$/000000/;
+  my($r,$v,$s) = $ver =~ /(\d+)\.(\d{3})(\d{3})/;
+
+  $v = int $v;
+  $s = int $s;
+
+  if ($r &lt; 5 || ($r == 5 &amp;&amp; $v &lt; 6)) {
+    if ($s % 10) {
+      die &quot;invalid version '$ver'\n&quot;;
+    }
+    $s /= 10;
+
+    $ver = sprintf &quot;%d.%03d&quot;, $r, $v;
+    $s &gt; 0 and $ver .= sprintf &quot;_%02d&quot;, $s;
+
+    return $ver;
+  }
+
+  return sprintf &quot;%d.%d.%d&quot;, $r, $v, $s;
+}
+
+sub info
+{
+  $opt{quiet} and return;
+  print @_, &quot;\n&quot;;
+}
+
+sub diag
+{
+  $opt{quiet} and return;
+  $opt{diag} and print @_, &quot;\n&quot;;
+}
+
+sub warning
+{
+  $opt{quiet} and return;
+  print &quot;*** &quot;, @_, &quot;\n&quot;;
+}
+
+sub error
+{
+  print &quot;*** ERROR: &quot;, @_, &quot;\n&quot;;
+}
+
+my %given_hints;
+my %given_warnings;
+sub hint
+{
+  $opt{quiet} and return;
+  my $func = shift;
+  my $rv = 0;
+  if (exists $warnings{$func} &amp;&amp; !$given_warnings{$func}++) {
+    my $warn = $warnings{$func};
+    $warn =~ s!^!*** !mg;
+    print &quot;*** WARNING: $func\n&quot;, $warn;
+    $rv++;
+  }
+  if ($opt{hints} &amp;&amp; exists $hints{$func} &amp;&amp; !$given_hints{$func}++) {
+    my $hint = $hints{$func};
+    $hint =~ s/^/   /mg;
+    print &quot;   --- hint for $func ---\n&quot;, $hint;
+  }
+  $rv;
+}
+
+sub usage
+{
+  my($usage) = do { local(@ARGV,$/)=($0); &lt;&gt; } =~ /^=head\d$HS+SYNOPSIS\s*^(.*?)\s*^=/ms;
+  my %M = ( 'I' =&gt; '*' );
+  $usage =~ s/^\s*perl\s+\S+/$^X $0/;
+  $usage =~ s/([A-Z])&lt;([^&gt;]+)&gt;/$M{$1}$2$M{$1}/g;
+
+  print &lt;&lt;ENDUSAGE;
+
+Usage: $usage
+
+See perldoc $0 for details.
+
+ENDUSAGE
+
+  exit 2;
+}
+
+sub strip
+{
+  my $self = do { local(@ARGV,$/)=($0); &lt;&gt; };
+  my($copy) = $self =~ /^=head\d\s+COPYRIGHT\s*^(.*?)^=\w+/ms;
+  $copy =~ s/^(?=\S+)/    /gms;
+  $self =~ s/^$HS+Do NOT edit.*?(?=^-)/$copy/ms;
+  $self =~ s/^SKIP.*(?=^__DATA__)/SKIP
+if (\@ARGV &amp;&amp; \$ARGV[0] eq '--unstrip') {
+  eval { require Devel::PPPort };
+  \$@ and die &quot;Cannot require Devel::PPPort, please install.\\n&quot;;
+  if (\$Devel::PPPort::VERSION &lt; $VERSION) {
+    die &quot;$0 was originally generated with Devel::PPPort $VERSION.\\n&quot;
+      . &quot;Your Devel::PPPort is only version \$Devel::PPPort::VERSION.\\n&quot;
+      . &quot;Please install a newer version, or --unstrip will not work.\\n&quot;;
+  }
+  Devel::PPPort::WriteFile(\$0);
+  exit 0;
+}
+print &lt;&lt;END;
+
+Sorry, but this is a stripped version of \$0.
+
+To be able to use its original script and doc functionality,
+please try to regenerate this file using:
+
+  \$^X \$0 --unstrip
+
+END
+/ms;
+  my($pl, $c) = $self =~ /(.*^__DATA__)(.*)/ms;
+  $c =~ s{
+    / (?: \*[^*]*\*+(?:[^$ccs][^*]*\*+)* / | /[^\r\n]*)
+  | ( &quot;[^&quot;\\]*(?:\\.[^&quot;\\]*)*&quot;
+    | '[^'\\]*(?:\\.[^'\\]*)*' )
+  | ($HS+) }{ defined $2 ? ' ' : ($1 || '') }gsex;
+  $c =~ s!\s+$!!mg;
+  $c =~ s!^$LF!!mg;
+  $c =~ s!^\s*#\s*!#!mg;
+  $c =~ s!^\s+!!mg;
+
+  open OUT, &quot;&gt;$0&quot; or die &quot;cannot strip $0: $!\n&quot;;
+  print OUT &quot;$pl$c\n&quot;;
+
+  exit 0;
+}
+
+__DATA__
+*/
+
+#ifndef _P_P_PORTABILITY_H_
+#define _P_P_PORTABILITY_H_
+
+#ifndef DPPP_NAMESPACE
+#  define DPPP_NAMESPACE DPPP_
+#endif
+
+#define DPPP_CAT2(x,y) CAT2(x,y)
+#define DPPP_(name) DPPP_CAT2(DPPP_NAMESPACE, name)
+
+#ifndef PERL_REVISION
+#  if !defined(__PATCHLEVEL_H_INCLUDED__) &amp;&amp; !(defined(PATCHLEVEL) &amp;&amp; defined(SUBVERSION))
+#    define PERL_PATCHLEVEL_H_IMPLICIT
+#    include &lt;patchlevel.h&gt;
+#  endif
+#  if !(defined(PERL_VERSION) || (defined(SUBVERSION) &amp;&amp; defined(PATCHLEVEL)))
+#    include &lt;could_not_find_Perl_patchlevel.h&gt;
+#  endif
+#  ifndef PERL_REVISION
+#    define PERL_REVISION       (5)
+     /* Replace: 1 */
+#    define PERL_VERSION        PATCHLEVEL
+#    define PERL_SUBVERSION     SUBVERSION
+     /* Replace PERL_PATCHLEVEL with PERL_VERSION */
+     /* Replace: 0 */
+#  endif
+#endif
+
+#define _dpppDEC2BCD(dec) ((((dec)/100)&lt;&lt;8)|((((dec)%100)/10)&lt;&lt;4)|((dec)%10))
+#define PERL_BCDVERSION ((_dpppDEC2BCD(PERL_REVISION)&lt;&lt;24)|(_dpppDEC2BCD(PERL_VERSION)&lt;&lt;12)|_dpppDEC2BCD(PERL_SUBVERSION))
+
+/* It is very unlikely that anyone will try to use this with Perl 6
+   (or greater), but who knows.
+ */
+#if PERL_REVISION != 5
+#  error ppport.h only works with Perl version 5
+#endif /* PERL_REVISION != 5 */
+
+#ifdef I_LIMITS
+#  include &lt;limits.h&gt;
+#endif
+
+#ifndef PERL_UCHAR_MIN
+#  define PERL_UCHAR_MIN ((unsigned char)0)
+#endif
+
+#ifndef PERL_UCHAR_MAX
+#  ifdef UCHAR_MAX
+#    define PERL_UCHAR_MAX ((unsigned char)UCHAR_MAX)
+#  else
+#    ifdef MAXUCHAR
+#      define PERL_UCHAR_MAX ((unsigned char)MAXUCHAR)
+#    else
+#      define PERL_UCHAR_MAX ((unsigned char)~(unsigned)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_USHORT_MIN
+#  define PERL_USHORT_MIN ((unsigned short)0)
+#endif
+
+#ifndef PERL_USHORT_MAX
+#  ifdef USHORT_MAX
+#    define PERL_USHORT_MAX ((unsigned short)USHORT_MAX)
+#  else
+#    ifdef MAXUSHORT
+#      define PERL_USHORT_MAX ((unsigned short)MAXUSHORT)
+#    else
+#      ifdef USHRT_MAX
+#        define PERL_USHORT_MAX ((unsigned short)USHRT_MAX)
+#      else
+#        define PERL_USHORT_MAX ((unsigned short)~(unsigned)0)
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_SHORT_MAX
+#  ifdef SHORT_MAX
+#    define PERL_SHORT_MAX ((short)SHORT_MAX)
+#  else
+#    ifdef MAXSHORT    /* Often used in &lt;values.h&gt; */
+#      define PERL_SHORT_MAX ((short)MAXSHORT)
+#    else
+#      ifdef SHRT_MAX
+#        define PERL_SHORT_MAX ((short)SHRT_MAX)
+#      else
+#        define PERL_SHORT_MAX ((short) (PERL_USHORT_MAX &gt;&gt; 1))
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_SHORT_MIN
+#  ifdef SHORT_MIN
+#    define PERL_SHORT_MIN ((short)SHORT_MIN)
+#  else
+#    ifdef MINSHORT
+#      define PERL_SHORT_MIN ((short)MINSHORT)
+#    else
+#      ifdef SHRT_MIN
+#        define PERL_SHORT_MIN ((short)SHRT_MIN)
+#      else
+#        define PERL_SHORT_MIN (-PERL_SHORT_MAX - ((3 &amp; -1) == 3))
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_UINT_MAX
+#  ifdef UINT_MAX
+#    define PERL_UINT_MAX ((unsigned int)UINT_MAX)
+#  else
+#    ifdef MAXUINT
+#      define PERL_UINT_MAX ((unsigned int)MAXUINT)
+#    else
+#      define PERL_UINT_MAX (~(unsigned int)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_UINT_MIN
+#  define PERL_UINT_MIN ((unsigned int)0)
+#endif
+
+#ifndef PERL_INT_MAX
+#  ifdef INT_MAX
+#    define PERL_INT_MAX ((int)INT_MAX)
+#  else
+#    ifdef MAXINT    /* Often used in &lt;values.h&gt; */
+#      define PERL_INT_MAX ((int)MAXINT)
+#    else
+#      define PERL_INT_MAX ((int)(PERL_UINT_MAX &gt;&gt; 1))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_INT_MIN
+#  ifdef INT_MIN
+#    define PERL_INT_MIN ((int)INT_MIN)
+#  else
+#    ifdef MININT
+#      define PERL_INT_MIN ((int)MININT)
+#    else
+#      define PERL_INT_MIN (-PERL_INT_MAX - ((3 &amp; -1) == 3))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_ULONG_MAX
+#  ifdef ULONG_MAX
+#    define PERL_ULONG_MAX ((unsigned long)ULONG_MAX)
+#  else
+#    ifdef MAXULONG
+#      define PERL_ULONG_MAX ((unsigned long)MAXULONG)
+#    else
+#      define PERL_ULONG_MAX (~(unsigned long)0)
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_ULONG_MIN
+#  define PERL_ULONG_MIN ((unsigned long)0L)
+#endif
+
+#ifndef PERL_LONG_MAX
+#  ifdef LONG_MAX
+#    define PERL_LONG_MAX ((long)LONG_MAX)
+#  else
+#    ifdef MAXLONG
+#      define PERL_LONG_MAX ((long)MAXLONG)
+#    else
+#      define PERL_LONG_MAX ((long) (PERL_ULONG_MAX &gt;&gt; 1))
+#    endif
+#  endif
+#endif
+
+#ifndef PERL_LONG_MIN
+#  ifdef LONG_MIN
+#    define PERL_LONG_MIN ((long)LONG_MIN)
+#  else
+#    ifdef MINLONG
+#      define PERL_LONG_MIN ((long)MINLONG)
+#    else
+#      define PERL_LONG_MIN (-PERL_LONG_MAX - ((3 &amp; -1) == 3))
+#    endif
+#  endif
+#endif
+
+#if defined(HAS_QUAD) &amp;&amp; (defined(convex) || defined(uts))
+#  ifndef PERL_UQUAD_MAX
+#    ifdef ULONGLONG_MAX
+#      define PERL_UQUAD_MAX ((unsigned long long)ULONGLONG_MAX)
+#    else
+#      ifdef MAXULONGLONG
+#        define PERL_UQUAD_MAX ((unsigned long long)MAXULONGLONG)
+#      else
+#        define PERL_UQUAD_MAX (~(unsigned long long)0)
+#      endif
+#    endif
+#  endif
+
+#  ifndef PERL_UQUAD_MIN
+#    define PERL_UQUAD_MIN ((unsigned long long)0L)
+#  endif
+
+#  ifndef PERL_QUAD_MAX
+#    ifdef LONGLONG_MAX
+#      define PERL_QUAD_MAX ((long long)LONGLONG_MAX)
+#    else
+#      ifdef MAXLONGLONG
+#        define PERL_QUAD_MAX ((long long)MAXLONGLONG)
+#      else
+#        define PERL_QUAD_MAX ((long long) (PERL_UQUAD_MAX &gt;&gt; 1))
+#      endif
+#    endif
+#  endif
+
+#  ifndef PERL_QUAD_MIN
+#    ifdef LONGLONG_MIN
+#      define PERL_QUAD_MIN ((long long)LONGLONG_MIN)
+#    else
+#      ifdef MINLONGLONG
+#        define PERL_QUAD_MIN ((long long)MINLONGLONG)
+#      else
+#        define PERL_QUAD_MIN (-PERL_QUAD_MAX - ((3 &amp; -1) == 3))
+#      endif
+#    endif
+#  endif
+#endif
+
+/* This is based on code from 5.003 perl.h */
+#ifdef HAS_QUAD
+#  ifdef cray
+#ifndef IVTYPE
+#  define IVTYPE                         int
+#endif
+
+#ifndef IV_MIN
+#  define IV_MIN                         PERL_INT_MIN
+#endif
+
+#ifndef IV_MAX
+#  define IV_MAX                         PERL_INT_MAX
+#endif
+
+#ifndef UV_MIN
+#  define UV_MIN                         PERL_UINT_MIN
+#endif
+
+#ifndef UV_MAX
+#  define UV_MAX                         PERL_UINT_MAX
+#endif
+
+#    ifdef INTSIZE
+#ifndef IVSIZE
+#  define IVSIZE                         INTSIZE
+#endif
+
+#    endif
+#  else
+#    if defined(convex) || defined(uts)
+#ifndef IVTYPE
+#  define IVTYPE                         long long
+#endif
+
+#ifndef IV_MIN
+#  define IV_MIN                         PERL_QUAD_MIN
+#endif
+
+#ifndef IV_MAX
+#  define IV_MAX                         PERL_QUAD_MAX
+#endif
+
+#ifndef UV_MIN
+#  define UV_MIN                         PERL_UQUAD_MIN
+#endif
+
+#ifndef UV_MAX
+#  define UV_MAX                         PERL_UQUAD_MAX
+#endif
+
+#      ifdef LONGLONGSIZE
+#ifndef IVSIZE
+#  define IVSIZE                         LONGLONGSIZE
+#endif
+
+#      endif
+#    else
+#ifndef IVTYPE
+#  define IVTYPE                         long
+#endif
+
+#ifndef IV_MIN
+#  define IV_MIN                         PERL_LONG_MIN
+#endif
+
+#ifndef IV_MAX
+#  define IV_MAX                         PERL_LONG_MAX
+#endif
+
+#ifndef UV_MIN
+#  define UV_MIN                         PERL_ULONG_MIN
+#endif
+
+#ifndef UV_MAX
+#  define UV_MAX                         PERL_ULONG_MAX
+#endif
+
+#      ifdef LONGSIZE
+#ifndef IVSIZE
+#  define IVSIZE                         LONGSIZE
+#endif
+
+#      endif
+#    endif
+#  endif
+#ifndef IVSIZE
+#  define IVSIZE                         8
+#endif
+
+#ifndef PERL_QUAD_MIN
+#  define PERL_QUAD_MIN                  IV_MIN
+#endif
+
+#ifndef PERL_QUAD_MAX
+#  define PERL_QUAD_MAX                  IV_MAX
+#endif
+
+#ifndef PERL_UQUAD_MIN
+#  define PERL_UQUAD_MIN                 UV_MIN
+#endif
+
+#ifndef PERL_UQUAD_MAX
+#  define PERL_UQUAD_MAX                 UV_MAX
+#endif
+
+#else
+#ifndef IVTYPE
+#  define IVTYPE                         long
+#endif
+
+#ifndef IV_MIN
+#  define IV_MIN                         PERL_LONG_MIN
+#endif
+
+#ifndef IV_MAX
+#  define IV_MAX                         PERL_LONG_MAX
+#endif
+
+#ifndef UV_MIN
+#  define UV_MIN                         PERL_ULONG_MIN
+#endif
+
+#ifndef UV_MAX
+#  define UV_MAX                         PERL_ULONG_MAX
+#endif
+
+#endif
+
+#ifndef IVSIZE
+#  ifdef LONGSIZE
+#    define IVSIZE LONGSIZE
+#  else
+#    define IVSIZE 4 /* A bold guess, but the best we can make. */
+#  endif
+#endif
+#ifndef UVTYPE
+#  define UVTYPE                         unsigned IVTYPE
+#endif
+
+#ifndef UVSIZE
+#  define UVSIZE                         IVSIZE
+#endif
+#ifndef sv_setuv
+#  define sv_setuv(sv, uv)               \
+               STMT_START {                         \
+                 UV TeMpUv = uv;                    \
+                 if (TeMpUv &lt;= IV_MAX)              \
+                   sv_setiv(sv, TeMpUv);            \
+                 else                               \
+                   sv_setnv(sv, (double)TeMpUv);    \
+               } STMT_END
+#endif
+#ifndef newSVuv
+#  define newSVuv(uv)                    ((uv) &lt;= IV_MAX ? newSViv((IV)uv) : newSVnv((NV)uv))
+#endif
+#ifndef sv_2uv
+#  define sv_2uv(sv)                     ((PL_Sv = (sv)), (UV) (SvNOK(PL_Sv) ? SvNV(PL_Sv) : sv_2nv(PL_Sv)))
+#endif
+
+#ifndef SvUVX
+#  define SvUVX(sv)                      ((UV)SvIVX(sv))
+#endif
+
+#ifndef SvUVXx
+#  define SvUVXx(sv)                     SvUVX(sv)
+#endif
+
+#ifndef SvUV
+#  define SvUV(sv)                       (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
+#endif
+
+#ifndef SvUVx
+#  define SvUVx(sv)                      ((PL_Sv = (sv)), SvUV(PL_Sv))
+#endif
+
+/* Hint: sv_uv
+ * Always use the SvUVx() macro instead of sv_uv().
+ */
+#ifndef sv_uv
+#  define sv_uv(sv)                      SvUVx(sv)
+#endif
+
+#if !defined(SvUOK) &amp;&amp; defined(SvIOK_UV)
+#  define SvUOK(sv) SvIOK_UV(sv)
+#endif
+#ifndef XST_mUV
+#  define XST_mUV(i,v)                   (ST(i) = sv_2mortal(newSVuv(v))  )
+#endif
+
+#ifndef XSRETURN_UV
+#  define XSRETURN_UV(v)                 STMT_START { XST_mUV(0,v);  XSRETURN(1); } STMT_END
+#endif
+#ifndef PUSHu
+#  define PUSHu(u)                       STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG;  } STMT_END
+#endif
+
+#ifndef XPUSHu
+#  define XPUSHu(u)                      STMT_START { sv_setuv(TARG, (UV)(u)); XPUSHTARG; } STMT_END
+#endif
+
+#ifdef HAS_MEMCMP
+#ifndef memNE
+#  define memNE(s1,s2,l)                 (memcmp(s1,s2,l))
+#endif
+
+#ifndef memEQ
+#  define memEQ(s1,s2,l)                 (!memcmp(s1,s2,l))
+#endif
+
+#else
+#ifndef memNE
+#  define memNE(s1,s2,l)                 (bcmp(s1,s2,l))
+#endif
+
+#ifndef memEQ
+#  define memEQ(s1,s2,l)                 (!bcmp(s1,s2,l))
+#endif
+
+#endif
+#ifndef MoveD
+#  define MoveD(s,d,n,t)                 memmove((char*)(d),(char*)(s), (n) * sizeof(t))
+#endif
+
+#ifndef CopyD
+#  define CopyD(s,d,n,t)                 memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
+#endif
+
+#ifdef HAS_MEMSET
+#ifndef ZeroD
+#  define ZeroD(d,n,t)                   memzero((char*)(d), (n) * sizeof(t))
+#endif
+
+#else
+#ifndef ZeroD
+#  define ZeroD(d,n,t)                   ((void)memzero((char*)(d), (n) * sizeof(t)), d)
+#endif
+
+#endif
+#ifndef PoisonWith
+#  define PoisonWith(d,n,t,b)            (void)memset((char*)(d), (U8)(b), (n) * sizeof(t))
+#endif
+
+#ifndef PoisonNew
+#  define PoisonNew(d,n,t)               PoisonWith(d,n,t,0xAB)
+#endif
+
+#ifndef PoisonFree
+#  define PoisonFree(d,n,t)              PoisonWith(d,n,t,0xEF)
+#endif
+
+#ifndef Poison
+#  define Poison(d,n,t)                  PoisonFree(d,n,t)
+#endif
+#ifndef Newx
+#  define Newx(v,n,t)                    New(0,v,n,t)
+#endif
+
+#ifndef Newxc
+#  define Newxc(v,n,t,c)                 Newc(0,v,n,t,c)
+#endif
+
+#ifndef Newxz
+#  define Newxz(v,n,t)                   Newz(0,v,n,t)
+#endif
+
+#ifndef PERL_UNUSED_DECL
+#  ifdef HASATTRIBUTE
+#    if (defined(__GNUC__) &amp;&amp; defined(__cplusplus)) || defined(__INTEL_COMPILER)
+#      define PERL_UNUSED_DECL
+#    else
+#      define PERL_UNUSED_DECL __attribute__((unused))
+#    endif
+#  else
+#    define PERL_UNUSED_DECL
+#  endif
+#endif
+
+#ifndef PERL_UNUSED_ARG
+#  if defined(lint) &amp;&amp; defined(S_SPLINT_S) /* www.splint.org */
+#    include &lt;note.h&gt;
+#    define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+#  else
+#    define PERL_UNUSED_ARG(x) ((void)x)
+#  endif
+#endif
+
+#ifndef PERL_UNUSED_VAR
+#  define PERL_UNUSED_VAR(x) ((void)x)
+#endif
+
+#ifndef PERL_UNUSED_CONTEXT
+#  ifdef USE_ITHREADS
+#    define PERL_UNUSED_CONTEXT PERL_UNUSED_ARG(my_perl)
+#  else
+#    define PERL_UNUSED_CONTEXT
+#  endif
+#endif
+#ifndef NOOP
+#  define NOOP                           /*EMPTY*/(void)0
+#endif
+
+#ifndef dNOOP
+#  define dNOOP                          extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
+#endif
+
+#ifndef NVTYPE
+#  if defined(USE_LONG_DOUBLE) &amp;&amp; defined(HAS_LONG_DOUBLE)
+#    define NVTYPE long double
+#  else
+#    define NVTYPE double
+#  endif
+typedef NVTYPE NV;
+#endif
+
+#ifndef INT2PTR
+
+#  if (IVSIZE == PTRSIZE) &amp;&amp; (UVSIZE == PTRSIZE)
+#    define PTRV                  UV
+#    define INT2PTR(any,d)        (any)(d)
+#  else
+#    if PTRSIZE == LONGSIZE
+#      define PTRV                unsigned long
+#    else
+#      define PTRV                unsigned
+#    endif
+#    define INT2PTR(any,d)        (any)(PTRV)(d)
+#  endif
+
+#  define NUM2PTR(any,d)  (any)(PTRV)(d)
+#  define PTR2IV(p)       INT2PTR(IV,p)
+#  define PTR2UV(p)       INT2PTR(UV,p)
+#  define PTR2NV(p)       NUM2PTR(NV,p)
+
+#  if PTRSIZE == LONGSIZE
+#    define PTR2ul(p)     (unsigned long)(p)
+#  else
+#    define PTR2ul(p)     INT2PTR(unsigned long,p)
+#  endif
+
+#endif /* !INT2PTR */
+
+#undef START_EXTERN_C
+#undef END_EXTERN_C
+#undef EXTERN_C
+#ifdef __cplusplus
+#  define START_EXTERN_C extern &quot;C&quot; {
+#  define END_EXTERN_C }
+#  define EXTERN_C extern &quot;C&quot;
+#else
+#  define START_EXTERN_C
+#  define END_EXTERN_C
+#  define EXTERN_C extern
+#endif
+
+#if defined(PERL_GCC_PEDANTIC)
+#  ifndef PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#    define PERL_GCC_BRACE_GROUPS_FORBIDDEN
+#  endif
+#endif
+
+#if defined(__GNUC__) &amp;&amp; !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN) &amp;&amp; !defined(__cplusplus)
+#  ifndef PERL_USE_GCC_BRACE_GROUPS
+#    define PERL_USE_GCC_BRACE_GROUPS
+#  endif
+#endif
+
+#undef STMT_START
+#undef STMT_END
+#ifdef PERL_USE_GCC_BRACE_GROUPS
+#  define STMT_START    (void)(    /* gcc supports ``({ STATEMENTS; })'' */
+#  define STMT_END    )
+#else
+#  if defined(VOIDFLAGS) &amp;&amp; (VOIDFLAGS) &amp;&amp; (defined(sun) || defined(__sun__)) &amp;&amp; !defined(__GNUC__)
+#    define STMT_START    if (1)
+#    define STMT_END    else (void)0
+#  else
+#    define STMT_START    do
+#    define STMT_END    while (0)
+#  endif
+#endif
+#ifndef boolSV
+#  define boolSV(b)                      ((b) ? &amp;PL_sv_yes : &amp;PL_sv_no)
+#endif
+
+/* DEFSV appears first in 5.004_56 */
+#ifndef DEFSV
+#  define DEFSV                          GvSV(PL_defgv)
+#endif
+
+#ifndef SAVE_DEFSV
+#  define SAVE_DEFSV                     SAVESPTR(GvSV(PL_defgv))
+#endif
+
+/* Older perls (&lt;=5.003) lack AvFILLp */
+#ifndef AvFILLp
+#  define AvFILLp                        AvFILL
+#endif
+#ifndef ERRSV
+#  define ERRSV                          get_sv(&quot;@&quot;,FALSE)
+#endif
+#ifndef newSVpvn
+#  define newSVpvn(data,len)             ((data)                                              \
+                                    ? ((len) ? newSVpv((data), (len)) : newSVpv(&quot;&quot;, 0)) \
+                                    : newSV(0))
+#endif
+
+/* Hint: gv_stashpvn
+ * This function's backport doesn't support the length parameter, but
+ * rather ignores it. Portability can only be ensured if the length
+ * parameter is used for speed reasons, but the length can always be
+ * correctly computed from the string argument.
+ */
+#ifndef gv_stashpvn
+#  define gv_stashpvn(str,len,create)    gv_stashpv(str,create)
+#endif
+
+/* Replace: 1 */
+#ifndef get_cv
+#  define get_cv                         perl_get_cv
+#endif
+
+#ifndef get_sv
+#  define get_sv                         perl_get_sv
+#endif
+
+#ifndef get_av
+#  define get_av                         perl_get_av
+#endif
+
+#ifndef get_hv
+#  define get_hv                         perl_get_hv
+#endif
+
+/* Replace: 0 */
+#ifndef dUNDERBAR
+#  define dUNDERBAR                      dNOOP
+#endif
+
+#ifndef UNDERBAR
+#  define UNDERBAR                       DEFSV
+#endif
+#ifndef dAX
+#  define dAX                            I32 ax = MARK - PL_stack_base + 1
+#endif
+
+#ifndef dITEMS
+#  define dITEMS                         I32 items = SP - MARK
+#endif
+#ifndef dXSTARG
+#  define dXSTARG                        SV * targ = sv_newmortal()
+#endif
+#ifndef dAXMARK
+#  define dAXMARK                        I32 ax = POPMARK; \
+                               register SV ** const mark = PL_stack_base + ax++
+#endif
+#ifndef XSprePUSH
+#  define XSprePUSH                      (sp = PL_stack_base + ax - 1)
+#endif
+
+#if (PERL_BCDVERSION &lt; 0x5005000)
+#  undef XSRETURN
+#  define XSRETURN(off)                                   \
+      STMT_START {                                        \
+          PL_stack_sp = PL_stack_base + ax + ((off) - 1); \
+          return;                                         \
+      } STMT_END
+#endif
+#ifndef PERL_ABS
+#  define PERL_ABS(x)                    ((x) &lt; 0 ? -(x) : (x))
+#endif
+#ifndef dVAR
+#  define dVAR                           dNOOP
+#endif
+#ifndef SVf
+#  define SVf                            &quot;_&quot;
+#endif
+#ifndef UTF8_MAXBYTES
+#  define UTF8_MAXBYTES                  UTF8_MAXLEN
+#endif
+#ifndef PERL_HASH
+#  define PERL_HASH(hash,str,len)        \
+     STMT_START    { \
+    const char *s_PeRlHaSh = str; \
+    I32 i_PeRlHaSh = len; \
+    U32 hash_PeRlHaSh = 0; \
+    while (i_PeRlHaSh--) \
+        hash_PeRlHaSh = hash_PeRlHaSh * 33 + *s_PeRlHaSh++; \
+    (hash) = hash_PeRlHaSh; \
+    } STMT_END
+#endif
+
+#ifndef PERL_SIGNALS_UNSAFE_FLAG
+
+#define PERL_SIGNALS_UNSAFE_FLAG 0x0001
+
+#if (PERL_BCDVERSION &lt; 0x5008000)
+#  define D_PPP_PERL_SIGNALS_INIT   PERL_SIGNALS_UNSAFE_FLAG
+#else
+#  define D_PPP_PERL_SIGNALS_INIT   0
+#endif
+
+#if defined(NEED_PL_signals)
+static U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT;
+#elif defined(NEED_PL_signals_GLOBAL)
+U32 DPPP_(my_PL_signals) = D_PPP_PERL_SIGNALS_INIT;
+#else
+extern U32 DPPP_(my_PL_signals);
+#endif
+#define PL_signals DPPP_(my_PL_signals)
+
+#endif
+
+/* Hint: PL_ppaddr
+ * Calling an op via PL_ppaddr requires passing a context argument
+ * for threaded builds. Since the context argument is different for
+ * 5.005 perls, you can use aTHXR (supplied by ppport.h), which will
+ * automatically be defined as the correct argument.
+ */
+
+#if (PERL_BCDVERSION &lt;= 0x5005005)
+/* Replace: 1 */
+#  define PL_ppaddr                 ppaddr
+#  define PL_no_modify              no_modify
+/* Replace: 0 */
+#endif
+
+#if (PERL_BCDVERSION &lt;= 0x5004005)
+/* Replace: 1 */
+#  define PL_DBsignal               DBsignal
+#  define PL_DBsingle               DBsingle
+#  define PL_DBsub                  DBsub
+#  define PL_DBtrace                DBtrace
+#  define PL_Sv                     Sv
+#  define PL_compiling              compiling
+#  define PL_copline                copline
+#  define PL_curcop                 curcop
+#  define PL_curstash               curstash
+#  define PL_debstash               debstash
+#  define PL_defgv                  defgv
+#  define PL_diehook                diehook
+#  define PL_dirty                  dirty
+#  define PL_dowarn                 dowarn
+#  define PL_errgv                  errgv
+#  define PL_expect                 expect
+#  define PL_hexdigit               hexdigit
+#  define PL_hints                  hints
+#  define PL_laststatval            laststatval
+#  define PL_na                     na
+#  define PL_perl_destruct_level    perl_destruct_level
+#  define PL_perldb                 perldb
+#  define PL_rsfp_filters           rsfp_filters
+#  define PL_rsfp                   rsfp
+#  define PL_stack_base             stack_base
+#  define PL_stack_sp               stack_sp
+#  define PL_statcache              statcache
+#  define PL_stdingv                stdingv
+#  define PL_sv_arenaroot           sv_arenaroot
+#  define PL_sv_no                  sv_no
+#  define PL_sv_undef               sv_undef
+#  define PL_sv_yes                 sv_yes
+#  define PL_tainted                tainted
+#  define PL_tainting               tainting
+/* Replace: 0 */
+#endif
+
+/* Warning: PL_expect, PL_copline, PL_rsfp, PL_rsfp_filters
+ * Do not use this variable. It is internal to the perl parser
+ * and may change or even be removed in the future. Note that
+ * as of perl 5.9.5 you cannot assign to this variable anymore.
+ */
+
+/* TODO: cannot assign to these vars; is it worth fixing? */
+#if (PERL_BCDVERSION &gt;= 0x5009005)
+#  define PL_expect         (PL_parser ? PL_parser-&gt;expect : 0)
+#  define PL_copline        (PL_parser ? PL_parser-&gt;copline : 0)
+#  define PL_rsfp           (PL_parser ? PL_parser-&gt;rsfp : (PerlIO *) 0)
+#  define PL_rsfp_filters   (PL_parser ? PL_parser-&gt;rsfp_filters : (AV *) 0)
+#endif
+#ifndef dTHR
+#  define dTHR                           dNOOP
+#endif
+#ifndef dTHX
+#  define dTHX                           dNOOP
+#endif
+
+#ifndef dTHXa
+#  define dTHXa(x)                       dNOOP
+#endif
+#ifndef pTHX
+#  define pTHX                           void
+#endif
+
+#ifndef pTHX_
+#  define pTHX_
+#endif
+
+#ifndef aTHX
+#  define aTHX
+#endif
+
+#ifndef aTHX_
+#  define aTHX_
+#endif
+
+#if (PERL_BCDVERSION &lt; 0x5006000)
+#  ifdef USE_THREADS
+#    define aTHXR  thr
+#    define aTHXR_ thr,
+#  else
+#    define aTHXR
+#    define aTHXR_
+#  endif
+#  define dTHXR  dTHR
+#else
+#  define aTHXR  aTHX
+#  define aTHXR_ aTHX_
+#  define dTHXR  dTHX
+#endif
+#ifndef dTHXoa
+#  define dTHXoa(x)                      dTHXa(x)
+#endif
+#ifndef PUSHmortal
+#  define PUSHmortal                     PUSHs(sv_newmortal())
+#endif
+
+#ifndef mPUSHp
+#  define mPUSHp(p,l)                    sv_setpvn_mg(PUSHmortal, (p), (l))
+#endif
+
+#ifndef mPUSHn
+#  define mPUSHn(n)                      sv_setnv_mg(PUSHmortal, (NV)(n))
+#endif
+
+#ifndef mPUSHi
+#  define mPUSHi(i)                      sv_setiv_mg(PUSHmortal, (IV)(i))
+#endif
+
+#ifndef mPUSHu
+#  define mPUSHu(u)                      sv_setuv_mg(PUSHmortal, (UV)(u))
+#endif
+#ifndef XPUSHmortal
+#  define XPUSHmortal                    XPUSHs(sv_newmortal())
+#endif
+
+#ifndef mXPUSHp
+#  define mXPUSHp(p,l)                   STMT_START { EXTEND(sp,1); sv_setpvn_mg(PUSHmortal, (p), (l)); } STMT_END
+#endif
+
+#ifndef mXPUSHn
+#  define mXPUSHn(n)                     STMT_START { EXTEND(sp,1); sv_setnv_mg(PUSHmortal, (NV)(n)); } STMT_END
+#endif
+
+#ifndef mXPUSHi
+#  define mXPUSHi(i)                     STMT_START { EXTEND(sp,1); sv_setiv_mg(PUSHmortal, (IV)(i)); } STMT_END
+#endif
+
+#ifndef mXPUSHu
+#  define mXPUSHu(u)                     STMT_START { EXTEND(sp,1); sv_setuv_mg(PUSHmortal, (UV)(u)); } STMT_END
+#endif
+
+/* Replace: 1 */
+#ifndef call_sv
+#  define call_sv                        perl_call_sv
+#endif
+
+#ifndef call_pv
+#  define call_pv                        perl_call_pv
+#endif
+
+#ifndef call_argv
+#  define call_argv                      perl_call_argv
+#endif
+
+#ifndef call_method
+#  define call_method                    perl_call_method
+#endif
+#ifndef eval_sv
+#  define eval_sv                        perl_eval_sv
+#endif
+#ifndef PERL_LOADMOD_DENY
+#  define PERL_LOADMOD_DENY              0x1
+#endif
+
+#ifndef PERL_LOADMOD_NOIMPORT
+#  define PERL_LOADMOD_NOIMPORT          0x2
+#endif
+
+#ifndef PERL_LOADMOD_IMPORT_OPS
+#  define PERL_LOADMOD_IMPORT_OPS        0x4
+#endif
+
+/* Replace: 0 */
+
+/* Replace perl_eval_pv with eval_pv */
+
+#ifndef eval_pv
+#if defined(NEED_eval_pv)
+static SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
+static
+#else
+extern SV* DPPP_(my_eval_pv)(char *p, I32 croak_on_error);
+#endif
+
+#ifdef eval_pv
+#  undef eval_pv
+#endif
+#define eval_pv(a,b) DPPP_(my_eval_pv)(aTHX_ a,b)
+#define Perl_eval_pv DPPP_(my_eval_pv)
+
+#if defined(NEED_eval_pv) || defined(NEED_eval_pv_GLOBAL)
+
+SV*
+DPPP_(my_eval_pv)(char *p, I32 croak_on_error)
+{
+    dSP;
+    SV* sv = newSVpv(p, 0);
+
+    PUSHMARK(sp);
+    eval_sv(sv, G_SCALAR);
+    SvREFCNT_dec(sv);
+
+    SPAGAIN;
+    sv = POPs;
+    PUTBACK;
+
+    if (croak_on_error &amp;&amp; SvTRUE(GvSV(errgv)))
+    croak(SvPVx(GvSV(errgv), na));
+
+    return sv;
+}
+
+#endif
+#endif
+
+#ifndef vload_module
+#if defined(NEED_vload_module)
+static void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
+static
+#else
+extern void DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args);
+#endif
+
+#ifdef vload_module
+#  undef vload_module
+#endif
+#define vload_module(a,b,c,d) DPPP_(my_vload_module)(aTHX_ a,b,c,d)
+#define Perl_vload_module DPPP_(my_vload_module)
+
+#if defined(NEED_vload_module) || defined(NEED_vload_module_GLOBAL)
+
+void
+DPPP_(my_vload_module)(U32 flags, SV *name, SV *ver, va_list *args)
+{
+    dTHR;
+    dVAR;
+    OP *veop, *imop;
+
+    OP * const modname = newSVOP(OP_CONST, 0, name);
+    /* 5.005 has a somewhat hacky force_normal that doesn't croak on
+       SvREADONLY() if PL_compling is true. Current perls take care in
+       ck_require() to correctly turn off SvREADONLY before calling
+       force_normal_flags(). This seems a better fix than fudging PL_compling
+     */
+    SvREADONLY_off(((SVOP*)modname)-&gt;op_sv);
+    modname-&gt;op_private |= OPpCONST_BARE;
+    if (ver) {
+    veop = newSVOP(OP_CONST, 0, ver);
+    }
+    else
+    veop = NULL;
+    if (flags &amp; PERL_LOADMOD_NOIMPORT) {
+    imop = sawparens(newNULLLIST());
+    }
+    else if (flags &amp; PERL_LOADMOD_IMPORT_OPS) {
+    imop = va_arg(*args, OP*);
+    }
+    else {
+    SV *sv;
+    imop = NULL;
+    sv = va_arg(*args, SV*);
+    while (sv) {
+        imop = append_elem(OP_LIST, imop, newSVOP(OP_CONST, 0, sv));
+        sv = va_arg(*args, SV*);
+    }
+    }
+    {
+    const line_t ocopline = PL_copline;
+    COP * const ocurcop = PL_curcop;
+    const int oexpect = PL_expect;
+
+#if (PERL_BCDVERSION &gt;= 0x5004000)
+    utilize(!(flags &amp; PERL_LOADMOD_DENY), start_subparse(FALSE, 0),
+        veop, modname, imop);
+#else
+    utilize(!(flags &amp; PERL_LOADMOD_DENY), start_subparse(),
+        modname, imop);
+#endif
+    PL_expect = oexpect;
+    PL_copline = ocopline;
+    PL_curcop = ocurcop;
+    }
+}
+
+#endif
+#endif
+
+#ifndef load_module
+#if defined(NEED_load_module)
+static void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
+static
+#else
+extern void DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...);
+#endif
+
+#ifdef load_module
+#  undef load_module
+#endif
+#define load_module DPPP_(my_load_module)
+#define Perl_load_module DPPP_(my_load_module)
+
+#if defined(NEED_load_module) || defined(NEED_load_module_GLOBAL)
+
+void
+DPPP_(my_load_module)(U32 flags, SV *name, SV *ver, ...)
+{
+    va_list args;
+    va_start(args, ver);
+    vload_module(flags, name, ver, &amp;args);
+    va_end(args);
+}
+
+#endif
+#endif
+#ifndef newRV_inc
+#  define newRV_inc(sv)                  newRV(sv)   /* Replace */
+#endif
+
+#ifndef newRV_noinc
+#if defined(NEED_newRV_noinc)
+static SV * DPPP_(my_newRV_noinc)(SV *sv);
+static
+#else
+extern SV * DPPP_(my_newRV_noinc)(SV *sv);
+#endif
+
+#ifdef newRV_noinc
+#  undef newRV_noinc
+#endif
+#define newRV_noinc(a) DPPP_(my_newRV_noinc)(aTHX_ a)
+#define Perl_newRV_noinc DPPP_(my_newRV_noinc)
+
+#if defined(NEED_newRV_noinc) || defined(NEED_newRV_noinc_GLOBAL)
+SV *
+DPPP_(my_newRV_noinc)(SV *sv)
+{
+  SV *rv = (SV *)newRV(sv);
+  SvREFCNT_dec(sv);
+  return rv;
+}
+#endif
+#endif
+
+/* Hint: newCONSTSUB
+ * Returns a CV* as of perl-5.7.1. This return value is not supported
+ * by Devel::PPPort.
+ */
+
+/* newCONSTSUB from IO.xs is in the core starting with 5.004_63 */
+#if (PERL_BCDVERSION &lt; 0x5004063) &amp;&amp; (PERL_BCDVERSION != 0x5004005)
+#if defined(NEED_newCONSTSUB)
+static void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
+static
+#else
+extern void DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv);
+#endif
+
+#ifdef newCONSTSUB
+#  undef newCONSTSUB
+#endif
+#define newCONSTSUB(a,b,c) DPPP_(my_newCONSTSUB)(aTHX_ a,b,c)
+#define Perl_newCONSTSUB DPPP_(my_newCONSTSUB)
+
+#if defined(NEED_newCONSTSUB) || defined(NEED_newCONSTSUB_GLOBAL)
+
+void
+DPPP_(my_newCONSTSUB)(HV *stash, const char *name, SV *sv)
+{
+    U32 oldhints = PL_hints;
+    HV *old_cop_stash = PL_curcop-&gt;cop_stash;
+    HV *old_curstash = PL_curstash;
+    line_t oldline = PL_curcop-&gt;cop_line;
+    PL_curcop-&gt;cop_line = PL_copline;
+
+    PL_hints &amp;= ~HINT_BLOCK_SCOPE;
+    if (stash)
+        PL_curstash = PL_curcop-&gt;cop_stash = stash;
+
+    newSUB(
+
+#if   (PERL_BCDVERSION &lt; 0x5003022)
+        start_subparse(),
+#elif (PERL_BCDVERSION == 0x5003022)
+             start_subparse(0),
+#else  /* 5.003_23  onwards */
+             start_subparse(FALSE, 0),
+#endif
+
+        newSVOP(OP_CONST, 0, newSVpv((char *) name, 0)),
+        newSVOP(OP_CONST, 0, &amp;PL_sv_no),   /* SvPV(&amp;PL_sv_no) == &quot;&quot; -- GMB */
+        newSTATEOP(0, Nullch, newSVOP(OP_CONST, 0, sv))
+    );
+
+    PL_hints = oldhints;
+    PL_curcop-&gt;cop_stash = old_cop_stash;
+    PL_curstash = old_curstash;
+    PL_curcop-&gt;cop_line = oldline;
+}
+#endif
+#endif
+
+/*
+ * Boilerplate macros for initializing and accessing interpreter-local
+ * data from C.  All statics in extensions should be reworked to use
+ * this, if you want to make the extension thread-safe.  See ext/re/re.xs
+ * for an example of the use of these macros.
+ *
+ * Code that uses these macros is responsible for the following:
+ * 1. #define MY_CXT_KEY to a unique string, e.g. &quot;DynaLoader_guts&quot;
+ * 2. Declare a typedef named my_cxt_t that is a structure that contains
+ *    all the data that needs to be interpreter-local.
+ * 3. Use the START_MY_CXT macro after the declaration of my_cxt_t.
+ * 4. Use the MY_CXT_INIT macro such that it is called exactly once
+ *    (typically put in the BOOT: section).
+ * 5. Use the members of the my_cxt_t structure everywhere as
+ *    MY_CXT.member.
+ * 6. Use the dMY_CXT macro (a declaration) in all the functions that
+ *    access MY_CXT.
+ */
+
+#if defined(MULTIPLICITY) || defined(PERL_OBJECT) || \
+    defined(PERL_CAPI)    || defined(PERL_IMPLICIT_CONTEXT)
+
+#ifndef START_MY_CXT
+
+/* This must appear in all extensions that define a my_cxt_t structure,
+ * right after the definition (i.e. at file scope).  The non-threads
+ * case below uses it to declare the data as static. */
+#define START_MY_CXT
+
+#if (PERL_BCDVERSION &lt; 0x5004068)
+/* Fetches the SV that keeps the per-interpreter data. */
+#define dMY_CXT_SV \
+    SV *my_cxt_sv = get_sv(MY_CXT_KEY, FALSE)
+#else /* &gt;= perl5.004_68 */
+#define dMY_CXT_SV \
+    SV *my_cxt_sv = *hv_fetch(PL_modglobal, MY_CXT_KEY,        \
+                  sizeof(MY_CXT_KEY)-1, TRUE)
+#endif /* &lt; perl5.004_68 */
+
+/* This declaration should be used within all functions that use the
+ * interpreter-local data. */
+#define dMY_CXT    \
+    dMY_CXT_SV;                            \
+    my_cxt_t *my_cxtp = INT2PTR(my_cxt_t*,SvUV(my_cxt_sv))
+
+/* Creates and zeroes the per-interpreter data.
+ * (We allocate my_cxtp in a Perl SV so that it will be released when
+ * the interpreter goes away.) */
+#define MY_CXT_INIT \
+    dMY_CXT_SV;                            \
+    /* newSV() allocates one more than needed */            \
+    my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+    Zero(my_cxtp, 1, my_cxt_t);                    \
+    sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+
+/* This macro must be used to access members of the my_cxt_t structure.
+ * e.g. MYCXT.some_data */
+#define MY_CXT        (*my_cxtp)
+
+/* Judicious use of these macros can reduce the number of times dMY_CXT
+ * is used.  Use is similar to pTHX, aTHX etc. */
+#define pMY_CXT        my_cxt_t *my_cxtp
+#define pMY_CXT_    pMY_CXT,
+#define _pMY_CXT    ,pMY_CXT
+#define aMY_CXT        my_cxtp
+#define aMY_CXT_    aMY_CXT,
+#define _aMY_CXT    ,aMY_CXT
+
+#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE
+/* Clones the per-interpreter data. */
+#define MY_CXT_CLONE \
+    dMY_CXT_SV;                            \
+    my_cxt_t *my_cxtp = (my_cxt_t*)SvPVX(newSV(sizeof(my_cxt_t)-1));\
+    Copy(INT2PTR(my_cxt_t*, SvUV(my_cxt_sv)), my_cxtp, 1, my_cxt_t);\
+    sv_setuv(my_cxt_sv, PTR2UV(my_cxtp))
+#endif
+
+#else /* single interpreter */
+
+#ifndef START_MY_CXT
+
+#define START_MY_CXT    static my_cxt_t my_cxt;
+#define dMY_CXT_SV    dNOOP
+#define dMY_CXT        dNOOP
+#define MY_CXT_INIT    NOOP
+#define MY_CXT        my_cxt
+
+#define pMY_CXT        void
+#define pMY_CXT_
+#define _pMY_CXT
+#define aMY_CXT
+#define aMY_CXT_
+#define _aMY_CXT
+
+#endif /* START_MY_CXT */
+
+#ifndef MY_CXT_CLONE
+#define MY_CXT_CLONE    NOOP
+#endif
+
+#endif
+
+#ifndef IVdf
+#  if IVSIZE == LONGSIZE
+#    define    IVdf      &quot;ld&quot;
+#    define    UVuf      &quot;lu&quot;
+#    define    UVof      &quot;lo&quot;
+#    define    UVxf      &quot;lx&quot;
+#    define    UVXf      &quot;lX&quot;
+#  else
+#    if IVSIZE == INTSIZE
+#      define    IVdf      &quot;d&quot;
+#      define    UVuf      &quot;u&quot;
+#      define    UVof      &quot;o&quot;
+#      define    UVxf      &quot;x&quot;
+#      define    UVXf      &quot;X&quot;
+#    endif
+#  endif
+#endif
+
+#ifndef NVef
+#  if defined(USE_LONG_DOUBLE) &amp;&amp; defined(HAS_LONG_DOUBLE) &amp;&amp; \
+      defined(PERL_PRIfldbl) /* Not very likely, but let's try anyway. */
+#    define NVef          PERL_PRIeldbl
+#    define NVff          PERL_PRIfldbl
+#    define NVgf          PERL_PRIgldbl
+#  else
+#    define NVef          &quot;e&quot;
+#    define NVff          &quot;f&quot;
+#    define NVgf          &quot;g&quot;
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc(sv)        \
+      ({                \
+          SV * const _sv = (SV*)(sv);    \
+          if (_sv)            \
+               (SvREFCNT(_sv))++;    \
+          _sv;                \
+      })
+#  else
+#    define SvREFCNT_inc(sv)    \
+          ((PL_Sv=(SV*)(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_simple
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_simple(sv)    \
+      ({                    \
+          if (sv)                \
+               (SvREFCNT(sv))++;        \
+          (SV *)(sv);                \
+      })
+#  else
+#    define SvREFCNT_inc_simple(sv) \
+          ((sv) ? (SvREFCNT(sv)++,(SV*)(sv)) : NULL)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_NN
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_NN(sv)        \
+      ({                    \
+          SV * const _sv = (SV*)(sv);    \
+          SvREFCNT(_sv)++;        \
+          _sv;                \
+      })
+#  else
+#    define SvREFCNT_inc_NN(sv) \
+          (PL_Sv=(SV*)(sv),++(SvREFCNT(PL_Sv)),PL_Sv)
+#  endif
+#endif
+
+#ifndef SvREFCNT_inc_void
+#  ifdef PERL_USE_GCC_BRACE_GROUPS
+#    define SvREFCNT_inc_void(sv)        \
+      ({                    \
+          SV * const _sv = (SV*)(sv);    \
+          if (_sv)            \
+              (void)(SvREFCNT(_sv)++);    \
+      })
+#  else
+#    define SvREFCNT_inc_void(sv) \
+          (void)((PL_Sv=(SV*)(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
+#  endif
+#endif
+#ifndef SvREFCNT_inc_simple_void
+#  define SvREFCNT_inc_simple_void(sv)   STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
+#endif
+
+#ifndef SvREFCNT_inc_simple_NN
+#  define SvREFCNT_inc_simple_NN(sv)     (++SvREFCNT(sv), (SV*)(sv))
+#endif
+
+#ifndef SvREFCNT_inc_void_NN
+#  define SvREFCNT_inc_void_NN(sv)       (void)(++SvREFCNT((SV*)(sv)))
+#endif
+
+#ifndef SvREFCNT_inc_simple_void_NN
+#  define SvREFCNT_inc_simple_void_NN(sv) (void)(++SvREFCNT((SV*)(sv)))
+#endif
+
+/* Backwards compatibility stuff... :-( */
+#if !defined(NEED_sv_2pv_flags) &amp;&amp; defined(NEED_sv_2pv_nolen)
+#  define NEED_sv_2pv_flags
+#endif
+#if !defined(NEED_sv_2pv_flags_GLOBAL) &amp;&amp; defined(NEED_sv_2pv_nolen_GLOBAL)
+#  define NEED_sv_2pv_flags_GLOBAL
+#endif
+
+/* Hint: sv_2pv_nolen
+ * Use the SvPV_nolen() or SvPV_nolen_const() macros instead of sv_2pv_nolen().
+ */
+#ifndef sv_2pv_nolen
+#  define sv_2pv_nolen(sv)               SvPV_nolen(sv)
+#endif
+
+#ifdef SvPVbyte
+
+/* Hint: SvPVbyte
+ * Does not work in perl-5.6.1, ppport.h implements a version
+ * borrowed from perl-5.7.3.
+ */
+
+#if (PERL_BCDVERSION &lt; 0x5007000)
+
+#if defined(NEED_sv_2pvbyte)
+static char * DPPP_(my_sv_2pvbyte)(pTHX_ SV * sv, STRLEN * lp);
+static
+#else
+extern char * DPPP_(my_sv_2pvbyte)(pTHX_ SV * sv, STRLEN * lp);
+#endif
+
+#ifdef sv_2pvbyte
+#  undef sv_2pvbyte
+#endif
+#define sv_2pvbyte(a,b) DPPP_(my_sv_2pvbyte)(aTHX_ a,b)
+#define Perl_sv_2pvbyte DPPP_(my_sv_2pvbyte)
+
+#if defined(NEED_sv_2pvbyte) || defined(NEED_sv_2pvbyte_GLOBAL)
+
+char *
+DPPP_(my_sv_2pvbyte)(pTHX_ SV *sv, STRLEN *lp)
+{
+  sv_utf8_downgrade(sv,0);
+  return SvPV(sv,*lp);
+}
+
+#endif
+
+/* Hint: sv_2pvbyte
+ * Use the SvPVbyte() macro instead of sv_2pvbyte().
+ */
+
+#undef SvPVbyte
+
+#define SvPVbyte(sv, lp)                                                \
+        ((SvFLAGS(sv) &amp; (SVf_POK|SVf_UTF8)) == (SVf_POK)                \
+         ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &amp;lp))
+
+#endif
+
+#else
+
+#  define SvPVbyte          SvPV
+#  define sv_2pvbyte        sv_2pv
+
+#endif
+#ifndef sv_2pvbyte_nolen
+#  define sv_2pvbyte_nolen(sv)           sv_2pv_nolen(sv)
+#endif
+
+/* Hint: sv_pvn
+ * Always use the SvPV() macro instead of sv_pvn().
+ */
+
+/* Hint: sv_pvn_force
+ * Always use the SvPV_force() macro instead of sv_pvn_force().
+ */
+
+/* If these are undefined, they're not handled by the core anyway */
+#ifndef SV_IMMEDIATE_UNREF
+#  define SV_IMMEDIATE_UNREF             0
+#endif
+
+#ifndef SV_GMAGIC
+#  define SV_GMAGIC                      0
+#endif
+
+#ifndef SV_COW_DROP_PV
+#  define SV_COW_DROP_PV                 0
+#endif
+
+#ifndef SV_UTF8_NO_ENCODING
+#  define SV_UTF8_NO_ENCODING            0
+#endif
+
+#ifndef SV_NOSTEAL
+#  define SV_NOSTEAL                     0
+#endif
+
+#ifndef SV_CONST_RETURN
+#  define SV_CONST_RETURN                0
+#endif
+
+#ifndef SV_MUTABLE_RETURN
+#  define SV_MUTABLE_RETURN              0
+#endif
+
+#ifndef SV_SMAGIC
+#  define SV_SMAGIC                      0
+#endif
+
+#ifndef SV_HAS_TRAILING_NUL
+#  define SV_HAS_TRAILING_NUL            0
+#endif
+
+#ifndef SV_COW_SHARED_HASH_KEYS
+#  define SV_COW_SHARED_HASH_KEYS        0
+#endif
+
+#if (PERL_BCDVERSION &lt; 0x5007002)
+
+#if defined(NEED_sv_2pv_flags)
+static char * DPPP_(my_sv_2pv_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
+static
+#else
+extern char * DPPP_(my_sv_2pv_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
+#endif
+
+#ifdef sv_2pv_flags
+#  undef sv_2pv_flags
+#endif
+#define sv_2pv_flags(a,b,c) DPPP_(my_sv_2pv_flags)(aTHX_ a,b,c)
+#define Perl_sv_2pv_flags DPPP_(my_sv_2pv_flags)
+
+#if defined(NEED_sv_2pv_flags) || defined(NEED_sv_2pv_flags_GLOBAL)
+
+char *
+DPPP_(my_sv_2pv_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
+{
+  STRLEN n_a = (STRLEN) flags;
+  return sv_2pv(sv, lp ? lp : &amp;n_a);
+}
+
+#endif
+
+#if defined(NEED_sv_pvn_force_flags)
+static char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
+static
+#else
+extern char * DPPP_(my_sv_pvn_force_flags)(pTHX_ SV * sv, STRLEN * lp, I32 flags);
+#endif
+
+#ifdef sv_pvn_force_flags
+#  undef sv_pvn_force_flags
+#endif
+#define sv_pvn_force_flags(a,b,c) DPPP_(my_sv_pvn_force_flags)(aTHX_ a,b,c)
+#define Perl_sv_pvn_force_flags DPPP_(my_sv_pvn_force_flags)
+
+#if defined(NEED_sv_pvn_force_flags) || defined(NEED_sv_pvn_force_flags_GLOBAL)
+
+char *
+DPPP_(my_sv_pvn_force_flags)(pTHX_ SV *sv, STRLEN *lp, I32 flags)
+{
+  STRLEN n_a = (STRLEN) flags;
+  return sv_pvn_force(sv, lp ? lp : &amp;n_a);
+}
+
+#endif
+
+#endif
+#ifndef SvPV_const
+#  define SvPV_const(sv, lp)             SvPV_flags_const(sv, lp, SV_GMAGIC)
+#endif
+
+#ifndef SvPV_mutable
+#  define SvPV_mutable(sv, lp)           SvPV_flags_mutable(sv, lp, SV_GMAGIC)
+#endif
+#ifndef SvPV_flags
+#  define SvPV_flags(sv, lp, flags)      \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &amp;lp, flags))
+#endif
+#ifndef SvPV_flags_const
+#  define SvPV_flags_const(sv, lp, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
+                  (const char*) sv_2pv_flags(sv, &amp;lp, flags|SV_CONST_RETURN))
+#endif
+#ifndef SvPV_flags_const_nolen
+#  define SvPV_flags_const_nolen(sv, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? SvPVX_const(sv) : \
+                  (const char*) sv_2pv_flags(sv, 0, flags|SV_CONST_RETURN))
+#endif
+#ifndef SvPV_flags_mutable
+#  define SvPV_flags_mutable(sv, lp, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
+                  sv_2pv_flags(sv, &amp;lp, flags|SV_MUTABLE_RETURN))
+#endif
+#ifndef SvPV_force
+#  define SvPV_force(sv, lp)             SvPV_force_flags(sv, lp, SV_GMAGIC)
+#endif
+
+#ifndef SvPV_force_nolen
+#  define SvPV_force_nolen(sv)           SvPV_force_flags_nolen(sv, SV_GMAGIC)
+#endif
+
+#ifndef SvPV_force_mutable
+#  define SvPV_force_mutable(sv, lp)     SvPV_force_flags_mutable(sv, lp, SV_GMAGIC)
+#endif
+
+#ifndef SvPV_force_nomg
+#  define SvPV_force_nomg(sv, lp)        SvPV_force_flags(sv, lp, 0)
+#endif
+
+#ifndef SvPV_force_nomg_nolen
+#  define SvPV_force_nomg_nolen(sv)      SvPV_force_flags_nolen(sv, 0)
+#endif
+#ifndef SvPV_force_flags
+#  define SvPV_force_flags(sv, lp, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &amp;lp, flags))
+#endif
+#ifndef SvPV_force_flags_nolen
+#  define SvPV_force_flags_nolen(sv, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags))
+#endif
+#ifndef SvPV_force_flags_mutable
+#  define SvPV_force_flags_mutable(sv, lp, flags) \
+                 ((SvFLAGS(sv) &amp; (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
+                 ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
+                  : sv_pvn_force_flags(sv, &amp;lp, flags|SV_MUTABLE_RETURN))
+#endif
+#ifndef SvPV_nolen
+#  define SvPV_nolen(sv)                 \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC))
+#endif
+#ifndef SvPV_nolen_const
+#  define SvPV_nolen_const(sv)           \
+                 ((SvFLAGS(sv) &amp; (SVf_POK)) == SVf_POK \
+                  ? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN))
+#endif
+#ifndef SvPV_nomg
+#  define SvPV_nomg(sv, lp)              SvPV_flags(sv, lp, 0)
+#endif
+
+#ifndef SvPV_nomg_const
+#  define SvPV_nomg_const(sv, lp)        SvPV_flags_const(sv, lp, 0)
+#endif
+
+#ifndef SvPV_nomg_const_nolen
+#  define SvPV_nomg_const_nolen(sv)      SvPV_flags_const_nolen(sv, 0)
+#endif
+#ifndef SvMAGIC_set
+#  define SvMAGIC_set(sv, val)           \
+                STMT_START { assert(SvTYPE(sv) &gt;= SVt_PVMG); \
+                (((XPVMG*) SvANY(sv))-&gt;xmg_magic = (val)); } STMT_END
+#endif
+
+#if (PERL_BCDVERSION &lt; 0x5009003)
+#ifndef SvPVX_const
+#  define SvPVX_const(sv)                ((const char*) (0 + SvPVX(sv)))
+#endif
+
+#ifndef SvPVX_mutable
+#  define SvPVX_mutable(sv)              (0 + SvPVX(sv))
+#endif
+#ifndef SvRV_set
+#  define SvRV_set(sv, val)              \
+                STMT_START { assert(SvTYPE(sv) &gt;=  SVt_RV); \
+                (((XRV*) SvANY(sv))-&gt;xrv_rv = (val)); } STMT_END
+#endif
+
+#else
+#ifndef SvPVX_const
+#  define SvPVX_const(sv)                ((const char*)((sv)-&gt;sv_u.svu_pv))
+#endif
+
+#ifndef SvPVX_mutable
+#  define SvPVX_mutable(sv)              ((sv)-&gt;sv_u.svu_pv)
+#endif
+#ifndef SvRV_set
+#  define SvRV_set(sv, val)              \
+                STMT_START { assert(SvTYPE(sv) &gt;=  SVt_RV); \
+                ((sv)-&gt;sv_u.svu_rv = (val)); } STMT_END
+#endif
+
+#endif
+#ifndef SvSTASH_set
+#  define SvSTASH_set(sv, val)           \
+                STMT_START { assert(SvTYPE(sv) &gt;= SVt_PVMG); \
+                (((XPVMG*) SvANY(sv))-&gt;xmg_stash = (val)); } STMT_END
+#endif
+
+#if (PERL_BCDVERSION &lt; 0x5004000)
+#ifndef SvUV_set
+#  define SvUV_set(sv, val)              \
+                STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) &gt;= SVt_PVIV); \
+                (((XPVIV*) SvANY(sv))-&gt;xiv_iv = (IV) (val)); } STMT_END
+#endif
+
+#else
+#ifndef SvUV_set
+#  define SvUV_set(sv, val)              \
+                STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) &gt;= SVt_PVIV); \
+                (((XPVUV*) SvANY(sv))-&gt;xuv_uv = (val)); } STMT_END
+#endif
+
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(vnewSVpvf)
+#if defined(NEED_vnewSVpvf)
+static SV * DPPP_(my_vnewSVpvf)(pTHX_ const char * pat, va_list * args);
+static
+#else
+extern SV * DPPP_(my_vnewSVpvf)(pTHX_ const char * pat, va_list * args);
+#endif
+
+#ifdef vnewSVpvf
+#  undef vnewSVpvf
+#endif
+#define vnewSVpvf(a,b) DPPP_(my_vnewSVpvf)(aTHX_ a,b)
+#define Perl_vnewSVpvf DPPP_(my_vnewSVpvf)
+
+#if defined(NEED_vnewSVpvf) || defined(NEED_vnewSVpvf_GLOBAL)
+
+SV *
+DPPP_(my_vnewSVpvf)(pTHX_ const char *pat, va_list *args)
+{
+  register SV *sv = newSV(0);
+  sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));
+  return sv;
+}
+
+#endif
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_vcatpvf)
+#  define sv_vcatpvf(sv, pat, args)  sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_vsetpvf)
+#  define sv_vsetpvf(sv, pat, args)  sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*))
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_catpvf_mg)
+#if defined(NEED_sv_catpvf_mg)
+static void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
+static
+#else
+extern void DPPP_(my_sv_catpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
+#endif
+
+#define Perl_sv_catpvf_mg DPPP_(my_sv_catpvf_mg)
+
+#if defined(NEED_sv_catpvf_mg) || defined(NEED_sv_catpvf_mg_GLOBAL)
+
+void
+DPPP_(my_sv_catpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+  sv_vcatpvfn(sv, pat, strlen(pat), &amp;args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_catpvf_mg_nocontext)
+#if defined(NEED_sv_catpvf_mg_nocontext)
+static void DPPP_(my_sv_catpvf_mg_nocontext)(SV * sv, const char * pat, ...);
+static
+#else
+extern void DPPP_(my_sv_catpvf_mg_nocontext)(SV * sv, const char * pat, ...);
+#endif
+
+#define sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
+#define Perl_sv_catpvf_mg_nocontext DPPP_(my_sv_catpvf_mg_nocontext)
+
+#if defined(NEED_sv_catpvf_mg_nocontext) || defined(NEED_sv_catpvf_mg_nocontext_GLOBAL)
+
+void
+DPPP_(my_sv_catpvf_mg_nocontext)(SV *sv, const char *pat, ...)
+{
+  dTHX;
+  va_list args;
+  va_start(args, pat);
+  sv_vcatpvfn(sv, pat, strlen(pat), &amp;args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+#endif
+
+/* sv_catpvf_mg depends on sv_catpvf_mg_nocontext */
+#ifndef sv_catpvf_mg
+#  ifdef PERL_IMPLICIT_CONTEXT
+#    define sv_catpvf_mg   Perl_sv_catpvf_mg_nocontext
+#  else
+#    define sv_catpvf_mg   Perl_sv_catpvf_mg
+#  endif
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_vcatpvf_mg)
+#  define sv_vcatpvf_mg(sv, pat, args)                                     \
+   STMT_START {                                                            \
+     sv_vcatpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));  \
+     SvSETMAGIC(sv);                                                       \
+   } STMT_END
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_setpvf_mg)
+#if defined(NEED_sv_setpvf_mg)
+static void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
+static
+#else
+extern void DPPP_(my_sv_setpvf_mg)(pTHX_ SV * sv, const char * pat, ...);
+#endif
+
+#define Perl_sv_setpvf_mg DPPP_(my_sv_setpvf_mg)
+
+#if defined(NEED_sv_setpvf_mg) || defined(NEED_sv_setpvf_mg_GLOBAL)
+
+void
+DPPP_(my_sv_setpvf_mg)(pTHX_ SV *sv, const char *pat, ...)
+{
+  va_list args;
+  va_start(args, pat);
+  sv_vsetpvfn(sv, pat, strlen(pat), &amp;args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+
+#ifdef PERL_IMPLICIT_CONTEXT
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_setpvf_mg_nocontext)
+#if defined(NEED_sv_setpvf_mg_nocontext)
+static void DPPP_(my_sv_setpvf_mg_nocontext)(SV * sv, const char * pat, ...);
+static
+#else
+extern void DPPP_(my_sv_setpvf_mg_nocontext)(SV * sv, const char * pat, ...);
+#endif
+
+#define sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
+#define Perl_sv_setpvf_mg_nocontext DPPP_(my_sv_setpvf_mg_nocontext)
+
+#if defined(NEED_sv_setpvf_mg_nocontext) || defined(NEED_sv_setpvf_mg_nocontext_GLOBAL)
+
+void
+DPPP_(my_sv_setpvf_mg_nocontext)(SV *sv, const char *pat, ...)
+{
+  dTHX;
+  va_list args;
+  va_start(args, pat);
+  sv_vsetpvfn(sv, pat, strlen(pat), &amp;args, Null(SV**), 0, Null(bool*));
+  SvSETMAGIC(sv);
+  va_end(args);
+}
+
+#endif
+#endif
+#endif
+
+/* sv_setpvf_mg depends on sv_setpvf_mg_nocontext */
+#ifndef sv_setpvf_mg
+#  ifdef PERL_IMPLICIT_CONTEXT
+#    define sv_setpvf_mg   Perl_sv_setpvf_mg_nocontext
+#  else
+#    define sv_setpvf_mg   Perl_sv_setpvf_mg
+#  endif
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(sv_vsetpvf_mg)
+#  define sv_vsetpvf_mg(sv, pat, args)                                     \
+   STMT_START {                                                            \
+     sv_vsetpvfn(sv, pat, strlen(pat), args, Null(SV**), 0, Null(bool*));  \
+     SvSETMAGIC(sv);                                                       \
+   } STMT_END
+#endif
+
+#ifndef newSVpvn_share
+
+#if defined(NEED_newSVpvn_share)
+static SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
+static
+#else
+extern SV * DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash);
+#endif
+
+#ifdef newSVpvn_share
+#  undef newSVpvn_share
+#endif
+#define newSVpvn_share(a,b,c) DPPP_(my_newSVpvn_share)(aTHX_ a,b,c)
+#define Perl_newSVpvn_share DPPP_(my_newSVpvn_share)
+
+#if defined(NEED_newSVpvn_share) || defined(NEED_newSVpvn_share_GLOBAL)
+
+SV *
+DPPP_(my_newSVpvn_share)(pTHX_ const char *src, I32 len, U32 hash)
+{
+  SV *sv;
+  if (len &lt; 0)
+    len = -len;
+  if (!hash)
+    PERL_HASH(hash, (char*) src, len);
+  sv = newSVpvn((char *) src, len);
+  sv_upgrade(sv, SVt_PVIV);
+  SvIVX(sv) = hash;
+  SvREADONLY_on(sv);
+  SvPOK_on(sv);
+  return sv;
+}
+
+#endif
+
+#endif
+#ifndef SvSHARED_HASH
+#  define SvSHARED_HASH(sv)              (0 + SvUVX(sv))
+#endif
+#ifndef WARN_ALL
+#  define WARN_ALL                       0
+#endif
+
+#ifndef WARN_CLOSURE
+#  define WARN_CLOSURE                   1
+#endif
+
+#ifndef WARN_DEPRECATED
+#  define WARN_DEPRECATED                2
+#endif
+
+#ifndef WARN_EXITING
+#  define WARN_EXITING                   3
+#endif
+
+#ifndef WARN_GLOB
+#  define WARN_GLOB                      4
+#endif
+
+#ifndef WARN_IO
+#  define WARN_IO                        5
+#endif
+
+#ifndef WARN_CLOSED
+#  define WARN_CLOSED                    6
+#endif
+
+#ifndef WARN_EXEC
+#  define WARN_EXEC                      7
+#endif
+
+#ifndef WARN_LAYER
+#  define WARN_LAYER                     8
+#endif
+
+#ifndef WARN_NEWLINE
+#  define WARN_NEWLINE                   9
+#endif
+
+#ifndef WARN_PIPE
+#  define WARN_PIPE                      10
+#endif
+
+#ifndef WARN_UNOPENED
+#  define WARN_UNOPENED                  11
+#endif
+
+#ifndef WARN_MISC
+#  define WARN_MISC                      12
+#endif
+
+#ifndef WARN_NUMERIC
+#  define WARN_NUMERIC                   13
+#endif
+
+#ifndef WARN_ONCE
+#  define WARN_ONCE                      14
+#endif
+
+#ifndef WARN_OVERFLOW
+#  define WARN_OVERFLOW                  15
+#endif
+
+#ifndef WARN_PACK
+#  define WARN_PACK                      16
+#endif
+
+#ifndef WARN_PORTABLE
+#  define WARN_PORTABLE                  17
+#endif
+
+#ifndef WARN_RECURSION
+#  define WARN_RECURSION                 18
+#endif
+
+#ifndef WARN_REDEFINE
+#  define WARN_REDEFINE                  19
+#endif
+
+#ifndef WARN_REGEXP
+#  define WARN_REGEXP                    20
+#endif
+
+#ifndef WARN_SEVERE
+#  define WARN_SEVERE                    21
+#endif
+
+#ifndef WARN_DEBUGGING
+#  define WARN_DEBUGGING                 22
+#endif
+
+#ifndef WARN_INPLACE
+#  define WARN_INPLACE                   23
+#endif
+
+#ifndef WARN_INTERNAL
+#  define WARN_INTERNAL                  24
+#endif
+
+#ifndef WARN_MALLOC
+#  define WARN_MALLOC                    25
+#endif
+
+#ifndef WARN_SIGNAL
+#  define WARN_SIGNAL                    26
+#endif
+
+#ifndef WARN_SUBSTR
+#  define WARN_SUBSTR                    27
+#endif
+
+#ifndef WARN_SYNTAX
+#  define WARN_SYNTAX                    28
+#endif
+
+#ifndef WARN_AMBIGUOUS
+#  define WARN_AMBIGUOUS                 29
+#endif
+
+#ifndef WARN_BAREWORD
+#  define WARN_BAREWORD                  30
+#endif
+
+#ifndef WARN_DIGIT
+#  define WARN_DIGIT                     31
+#endif
+
+#ifndef WARN_PARENTHESIS
+#  define WARN_PARENTHESIS               32
+#endif
+
+#ifndef WARN_PRECEDENCE
+#  define WARN_PRECEDENCE                33
+#endif
+
+#ifndef WARN_PRINTF
+#  define WARN_PRINTF                    34
+#endif
+
+#ifndef WARN_PROTOTYPE
+#  define WARN_PROTOTYPE                 35
+#endif
+
+#ifndef WARN_QW
+#  define WARN_QW                        36
+#endif
+
+#ifndef WARN_RESERVED
+#  define WARN_RESERVED                  37
+#endif
+
+#ifndef WARN_SEMICOLON
+#  define WARN_SEMICOLON                 38
+#endif
+
+#ifndef WARN_TAINT
+#  define WARN_TAINT                     39
+#endif
+
+#ifndef WARN_THREADS
+#  define WARN_THREADS                   40
+#endif
+
+#ifndef WARN_UNINITIALIZED
+#  define WARN_UNINITIALIZED             41
+#endif
+
+#ifndef WARN_UNPACK
+#  define WARN_UNPACK                    42
+#endif
+
+#ifndef WARN_UNTIE
+#  define WARN_UNTIE                     43
+#endif
+
+#ifndef WARN_UTF8
+#  define WARN_UTF8                      44
+#endif
+
+#ifndef WARN_VOID
+#  define WARN_VOID                      45
+#endif
+
+#ifndef WARN_ASSERTIONS
+#  define WARN_ASSERTIONS                46
+#endif
+#ifndef packWARN
+#  define packWARN(a)                    (a)
+#endif
+
+#ifndef ckWARN
+#  ifdef G_WARN_ON
+#    define  ckWARN(a)                  (PL_dowarn &amp; G_WARN_ON)
+#  else
+#    define  ckWARN(a)                  PL_dowarn
+#  endif
+#endif
+
+#if (PERL_BCDVERSION &gt;= 0x5004000) &amp;&amp; !defined(warner)
+#if defined(NEED_warner)
+static void DPPP_(my_warner)(U32 err, const char *pat, ...);
+static
+#else
+extern void DPPP_(my_warner)(U32 err, const char *pat, ...);
+#endif
+
+#define Perl_warner DPPP_(my_warner)
+
+#if defined(NEED_warner) || defined(NEED_warner_GLOBAL)
+
+void
+DPPP_(my_warner)(U32 err, const char *pat, ...)
+{
+  SV *sv;
+  va_list args;
+
+  PERL_UNUSED_ARG(err);
+
+  va_start(args, pat);
+  sv = vnewSVpvf(pat, &amp;args);
+  va_end(args);
+  sv_2mortal(sv);
+  warn(&quot;%s&quot;, SvPV_nolen(sv));
+}
+
+#define warner  Perl_warner
+
+#define Perl_warner_nocontext  Perl_warner
+
+#endif
+#endif
+
+/* concatenating with &quot;&quot; ensures that only literal strings are accepted as argument
+ * note that STR_WITH_LEN() can't be used as argument to macros or functions that
+ * under some configurations might be macros
+ */
+#ifndef STR_WITH_LEN
+#  define STR_WITH_LEN(s)                (s &quot;&quot;), (sizeof(s)-1)
+#endif
+#ifndef newSVpvs
+#  define newSVpvs(str)                  newSVpvn(str &quot;&quot;, sizeof(str) - 1)
+#endif
+
+#ifndef sv_catpvs
+#  define sv_catpvs(sv, str)             sv_catpvn(sv, str &quot;&quot;, sizeof(str) - 1)
+#endif
+
+#ifndef sv_setpvs
+#  define sv_setpvs(sv, str)             sv_setpvn(sv, str &quot;&quot;, sizeof(str) - 1)
+#endif
+
+#ifndef hv_fetchs
+#  define hv_fetchs(hv, key, lval)       hv_fetch(hv, key &quot;&quot;, sizeof(key) - 1, lval)
+#endif
+
+#ifndef hv_stores
+#  define hv_stores(hv, key, val)        hv_store(hv, key &quot;&quot;, sizeof(key) - 1, val, 0)
+#endif
+#ifndef SvGETMAGIC
+#  define SvGETMAGIC(x)                  STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
+#endif
+#ifndef PERL_MAGIC_sv
+#  define PERL_MAGIC_sv                  '\0'
+#endif
+
+#ifndef PERL_MAGIC_overload
+#  define PERL_MAGIC_overload            'A'
+#endif
+
+#ifndef PERL_MAGIC_overload_elem
+#  define PERL_MAGIC_overload_elem       'a'
+#endif
+
+#ifndef PERL_MAGIC_overload_table
+#  define PERL_MAGIC_overload_table      'c'
+#endif
+
+#ifndef PERL_MAGIC_bm
+#  define PERL_MAGIC_bm                  'B'
+#endif
+
+#ifndef PERL_MAGIC_regdata
+#  define PERL_MAGIC_regdata             'D'
+#endif
+
+#ifndef PERL_MAGIC_regdatum
+#  define PERL_MAGIC_regdatum            'd'
+#endif
+
+#ifndef PERL_MAGIC_env
+#  define PERL_MAGIC_env                 'E'
+#endif
+
+#ifndef PERL_MAGIC_envelem
+#  define PERL_MAGIC_envelem             'e'
+#endif
+
+#ifndef PERL_MAGIC_fm
+#  define PERL_MAGIC_fm                  'f'
+#endif
+
+#ifndef PERL_MAGIC_regex_global
+#  define PERL_MAGIC_regex_global        'g'
+#endif
+
+#ifndef PERL_MAGIC_isa
+#  define PERL_MAGIC_isa                 'I'
+#endif
+
+#ifndef PERL_MAGIC_isaelem
+#  define PERL_MAGIC_isaelem             'i'
+#endif
+
+#ifndef PERL_MAGIC_nkeys
+#  define PERL_MAGIC_nkeys               'k'
+#endif
+
+#ifndef PERL_MAGIC_dbfile
+#  define PERL_MAGIC_dbfile              'L'
+#endif
+
+#ifndef PERL_MAGIC_dbline
+#  define PERL_MAGIC_dbline              'l'
+#endif
+
+#ifndef PERL_MAGIC_mutex
+#  define PERL_MAGIC_mutex               'm'
+#endif
+
+#ifndef PERL_MAGIC_shared
+#  define PERL_MAGIC_shared              'N'
+#endif
+
+#ifndef PERL_MAGIC_shared_scalar
+#  define PERL_MAGIC_shared_scalar       'n'
+#endif
+
+#ifndef PERL_MAGIC_collxfrm
+#  define PERL_MAGIC_collxfrm            'o'
+#endif
+
+#ifndef PERL_MAGIC_tied
+#  define PERL_MAGIC_tied                'P'
+#endif
+
+#ifndef PERL_MAGIC_tiedelem
+#  define PERL_MAGIC_tiedelem            'p'
+#endif
+
+#ifndef PERL_MAGIC_tiedscalar
+#  define PERL_MAGIC_tiedscalar          'q'
+#endif
+
+#ifndef PERL_MAGIC_qr
+#  define PERL_MAGIC_qr                  'r'
+#endif
+
+#ifndef PERL_MAGIC_sig
+#  define PERL_MAGIC_sig                 'S'
+#endif
+
+#ifndef PERL_MAGIC_sigelem
+#  define PERL_MAGIC_sigelem             's'
+#endif
+
+#ifndef PERL_MAGIC_taint
+#  define PERL_MAGIC_taint               't'
+#endif
+
+#ifndef PERL_MAGIC_uvar
+#  define PERL_MAGIC_uvar                'U'
+#endif
+
+#ifndef PERL_MAGIC_uvar_elem
+#  define PERL_MAGIC_uvar_elem           'u'
+#endif
+
+#ifndef PERL_MAGIC_vstring
+#  define PERL_MAGIC_vstring             'V'
+#endif
+
+#ifndef PERL_MAGIC_vec
+#  define PERL_MAGIC_vec                 'v'
+#endif
+
+#ifndef PERL_MAGIC_utf8
+#  define PERL_MAGIC_utf8                'w'
+#endif
+
+#ifndef PERL_MAGIC_substr
+#  define PERL_MAGIC_substr              'x'
+#endif
+
+#ifndef PERL_MAGIC_defelem
+#  define PERL_MAGIC_defelem             'y'
+#endif
+
+#ifndef PERL_MAGIC_glob
+#  define PERL_MAGIC_glob                '*'
+#endif
+
+#ifndef PERL_MAGIC_arylen
+#  define PERL_MAGIC_arylen              '#'
+#endif
+
+#ifndef PERL_MAGIC_pos
+#  define PERL_MAGIC_pos                 '.'
+#endif
+
+#ifndef PERL_MAGIC_backref
+#  define PERL_MAGIC_backref             '&lt;'
+#endif
+
+#ifndef PERL_MAGIC_ext
+#  define PERL_MAGIC_ext                 '~'
+#endif
+
+/* That's the best we can do... */
+#ifndef sv_catpvn_nomg
+#  define sv_catpvn_nomg                 sv_catpvn
+#endif
+
+#ifndef sv_catsv_nomg
+#  define sv_catsv_nomg                  sv_catsv
+#endif
+
+#ifndef sv_setsv_nomg
+#  define sv_setsv_nomg                  sv_setsv
+#endif
+
+#ifndef sv_pvn_nomg
+#  define sv_pvn_nomg                    sv_pvn
+#endif
+
+#ifndef SvIV_nomg
+#  define SvIV_nomg                      SvIV
+#endif
+
+#ifndef SvUV_nomg
+#  define SvUV_nomg                      SvUV
+#endif
+
+#ifndef sv_catpv_mg
+#  define sv_catpv_mg(sv, ptr)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_catpv(TeMpSv,ptr);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_catpvn_mg
+#  define sv_catpvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_catpvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_catsv_mg
+#  define sv_catsv_mg(dsv, ssv)         \
+   STMT_START {                         \
+     SV *TeMpSv = dsv;                  \
+     sv_catsv(TeMpSv,ssv);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setiv_mg
+#  define sv_setiv_mg(sv, i)            \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setiv(TeMpSv,i);                \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setnv_mg
+#  define sv_setnv_mg(sv, num)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setnv(TeMpSv,num);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setpv_mg
+#  define sv_setpv_mg(sv, ptr)          \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setpv(TeMpSv,ptr);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setpvn_mg
+#  define sv_setpvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setpvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setsv_mg
+#  define sv_setsv_mg(dsv, ssv)         \
+   STMT_START {                         \
+     SV *TeMpSv = dsv;                  \
+     sv_setsv(TeMpSv,ssv);              \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_setuv_mg
+#  define sv_setuv_mg(sv, i)            \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_setuv(TeMpSv,i);                \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+
+#ifndef sv_usepvn_mg
+#  define sv_usepvn_mg(sv, ptr, len)    \
+   STMT_START {                         \
+     SV *TeMpSv = sv;                   \
+     sv_usepvn(TeMpSv,ptr,len);         \
+     SvSETMAGIC(TeMpSv);                \
+   } STMT_END
+#endif
+#ifndef SvVSTRING_mg
+#  define SvVSTRING_mg(sv)               (SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_vstring) : NULL)
+#endif
+
+/* Hint: sv_magic_portable
+ * This is a compatibility function that is only available with
+ * Devel::PPPort. It is NOT in the perl core.
+ * Its purpose is to mimic the 5.8.0 behaviour of sv_magic() when
+ * it is being passed a name pointer with namlen == 0. In that
+ * case, perl 5.8.0 and later store the pointer, not a copy of it.
+ * The compatibility can be provided back to perl 5.004. With
+ * earlier versions, the code will not compile.
+ */
+
+#if (PERL_BCDVERSION &lt; 0x5004000)
+
+  /* code that uses sv_magic_portable will not compile */
+
+#elif (PERL_BCDVERSION &lt; 0x5008000)
+
+#  define sv_magic_portable(sv, obj, how, name, namlen)     \
+   STMT_START {                                             \
+     SV *SvMp_sv = (sv);                                    \
+     char *SvMp_name = (char *) (name);                     \
+     I32 SvMp_namlen = (namlen);                            \
+     if (SvMp_name &amp;&amp; SvMp_namlen == 0)                     \
+     {                                                      \
+       MAGIC *mg;                                           \
+       sv_magic(SvMp_sv, obj, how, 0, 0);                   \
+       mg = SvMAGIC(SvMp_sv);                               \
+       mg-&gt;mg_len = -42; /* XXX: this is the tricky part */ \
+       mg-&gt;mg_ptr = SvMp_name;                              \
+     }                                                      \
+     else                                                   \
+     {                                                      \
+       sv_magic(SvMp_sv, obj, how, SvMp_name, SvMp_namlen); \
+     }                                                      \
+   } STMT_END
+
+#else
+
+#  define sv_magic_portable(a, b, c, d, e)  sv_magic(a, b, c, d, e)
+
+#endif
+
+#ifdef USE_ITHREADS
+#ifndef CopFILE
+#  define CopFILE(c)                     ((c)-&gt;cop_file)
+#endif
+
+#ifndef CopFILEGV
+#  define CopFILEGV(c)                   (CopFILE(c) ? gv_fetchfile(CopFILE(c)) : Nullgv)
+#endif
+
+#ifndef CopFILE_set
+#  define CopFILE_set(c,pv)              ((c)-&gt;cop_file = savepv(pv))
+#endif
+
+#ifndef CopFILESV
+#  define CopFILESV(c)                   (CopFILE(c) ? GvSV(gv_fetchfile(CopFILE(c))) : Nullsv)
+#endif
+
+#ifndef CopFILEAV
+#  define CopFILEAV(c)                   (CopFILE(c) ? GvAV(gv_fetchfile(CopFILE(c))) : Nullav)
+#endif
+
+#ifndef CopSTASHPV
+#  define CopSTASHPV(c)                  ((c)-&gt;cop_stashpv)
+#endif
+
+#ifndef CopSTASHPV_set
+#  define CopSTASHPV_set(c,pv)           ((c)-&gt;cop_stashpv = ((pv) ? savepv(pv) : Nullch))
+#endif
+
+#ifndef CopSTASH
+#  define CopSTASH(c)                    (CopSTASHPV(c) ? gv_stashpv(CopSTASHPV(c),GV_ADD) : Nullhv)
+#endif
+
+#ifndef CopSTASH_set
+#  define CopSTASH_set(c,hv)             CopSTASHPV_set(c, (hv) ? HvNAME(hv) : Nullch)
+#endif
+
+#ifndef CopSTASH_eq
+#  define CopSTASH_eq(c,hv)              ((hv) &amp;&amp; (CopSTASHPV(c) == HvNAME(hv) \
+                    || (CopSTASHPV(c) &amp;&amp; HvNAME(hv) \
+                    &amp;&amp; strEQ(CopSTASHPV(c), HvNAME(hv)))))
+#endif
+
+#else
+#ifndef CopFILEGV
+#  define CopFILEGV(c)                   ((c)-&gt;cop_filegv)
+#endif
+
+#ifndef CopFILEGV_set
+#  define CopFILEGV_set(c,gv)            ((c)-&gt;cop_filegv = (GV*)SvREFCNT_inc(gv))
+#endif
+
+#ifndef CopFILE_set
+#  define CopFILE_set(c,pv)              CopFILEGV_set((c), gv_fetchfile(pv))
+#endif
+
+#ifndef CopFILESV
+#  define CopFILESV(c)                   (CopFILEGV(c) ? GvSV(CopFILEGV(c)) : Nullsv)
+#endif
+
+#ifndef CopFILEAV
+#  define CopFILEAV(c)                   (CopFILEGV(c) ? GvAV(CopFILEGV(c)) : Nullav)
+#endif
+
+#ifndef CopFILE
+#  define CopFILE(c)                     (CopFILESV(c) ? SvPVX(CopFILESV(c)) : Nullch)
+#endif
+
+#ifndef CopSTASH
+#  define CopSTASH(c)                    ((c)-&gt;cop_stash)
+#endif
+
+#ifndef CopSTASH_set
+#  define CopSTASH_set(c,hv)             ((c)-&gt;cop_stash = (hv))
+#endif
+
+#ifndef CopSTASHPV
+#  define CopSTASHPV(c)                  (CopSTASH(c) ? HvNAME(CopSTASH(c)) : Nullch)
+#endif
+
+#ifndef CopSTASHPV_set
+#  define CopSTASHPV_set(c,pv)           CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
+#endif
+
+#ifndef CopSTASH_eq
+#  define CopSTASH_eq(c,hv)              (CopSTASH(c) == (hv))
+#endif
+
+#endif /* USE_ITHREADS */
+#ifndef IN_PERL_COMPILETIME
+#  define IN_PERL_COMPILETIME            (PL_curcop == &amp;PL_compiling)
+#endif
+
+#ifndef IN_LOCALE_RUNTIME
+#  define IN_LOCALE_RUNTIME              (PL_curcop-&gt;op_private &amp; HINT_LOCALE)
+#endif
+
+#ifndef IN_LOCALE_COMPILETIME
+#  define IN_LOCALE_COMPILETIME          (PL_hints &amp; HINT_LOCALE)
+#endif
+
+#ifndef IN_LOCALE
+#  define IN_LOCALE                      (IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
+#endif
+#ifndef IS_NUMBER_IN_UV
+#  define IS_NUMBER_IN_UV                0x01
+#endif
+
+#ifndef IS_NUMBER_GREATER_THAN_UV_MAX
+#  define IS_NUMBER_GREATER_THAN_UV_MAX  0x02
+#endif
+
+#ifndef IS_NUMBER_NOT_INT
+#  define IS_NUMBER_NOT_INT              0x04
+#endif
+
+#ifndef IS_NUMBER_NEG
+#  define IS_NUMBER_NEG                  0x08
+#endif
+
+#ifndef IS_NUMBER_INFINITY
+#  define IS_NUMBER_INFINITY             0x10
+#endif
+
+#ifndef IS_NUMBER_NAN
+#  define IS_NUMBER_NAN                  0x20
+#endif
+#ifndef GROK_NUMERIC_RADIX
+#  define GROK_NUMERIC_RADIX(sp, send)   grok_numeric_radix(sp, send)
+#endif
+#ifndef PERL_SCAN_GREATER_THAN_UV_MAX
+#  define PERL_SCAN_GREATER_THAN_UV_MAX  0x02
+#endif
+
+#ifndef PERL_SCAN_SILENT_ILLDIGIT
+#  define PERL_SCAN_SILENT_ILLDIGIT      0x04
+#endif
+
+#ifndef PERL_SCAN_ALLOW_UNDERSCORES
+#  define PERL_SCAN_ALLOW_UNDERSCORES    0x01
+#endif
+
+#ifndef PERL_SCAN_DISALLOW_PREFIX
+#  define PERL_SCAN_DISALLOW_PREFIX      0x02
+#endif
+
+#ifndef grok_numeric_radix
+#if defined(NEED_grok_numeric_radix)
+static bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
+static
+#else
+extern bool DPPP_(my_grok_numeric_radix)(pTHX_ const char ** sp, const char * send);
+#endif
+
+#ifdef grok_numeric_radix
+#  undef grok_numeric_radix
+#endif
+#define grok_numeric_radix(a,b) DPPP_(my_grok_numeric_radix)(aTHX_ a,b)
+#define Perl_grok_numeric_radix DPPP_(my_grok_numeric_radix)
+
+#if defined(NEED_grok_numeric_radix) || defined(NEED_grok_numeric_radix_GLOBAL)
+bool
+DPPP_(my_grok_numeric_radix)(pTHX_ const char **sp, const char *send)
+{
+#ifdef USE_LOCALE_NUMERIC
+#ifdef PL_numeric_radix_sv
+    if (PL_numeric_radix_sv &amp;&amp; IN_LOCALE) {
+        STRLEN len;
+        char* radix = SvPV(PL_numeric_radix_sv, len);
+        if (*sp + len &lt;= send &amp;&amp; memEQ(*sp, radix, len)) {
+            *sp += len;
+            return TRUE;
+        }
+    }
+#else
+    /* older perls don't have PL_numeric_radix_sv so the radix
+     * must manually be requested from locale.h
+     */
+#include &lt;locale.h&gt;
+    dTHR;  /* needed for older threaded perls */
+    struct lconv *lc = localeconv();
+    char *radix = lc-&gt;decimal_point;
+    if (radix &amp;&amp; IN_LOCALE) {
+        STRLEN len = strlen(radix);
+        if (*sp + len &lt;= send &amp;&amp; memEQ(*sp, radix, len)) {
+            *sp += len;
+            return TRUE;
+        }
+    }
+#endif
+#endif /* USE_LOCALE_NUMERIC */
+    /* always try &quot;.&quot; if numeric radix didn't match because
+     * we may have data from different locales mixed */
+    if (*sp &lt; send &amp;&amp; **sp == '.') {
+        ++*sp;
+        return TRUE;
+    }
+    return FALSE;
+}
+#endif
+#endif
+
+#ifndef grok_number
+#if defined(NEED_grok_number)
+static int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
+static
+#else
+extern int DPPP_(my_grok_number)(pTHX_ const char * pv, STRLEN len, UV * valuep);
+#endif
+
+#ifdef grok_number
+#  undef grok_number
+#endif
+#define grok_number(a,b,c) DPPP_(my_grok_number)(aTHX_ a,b,c)
+#define Perl_grok_number DPPP_(my_grok_number)
+
+#if defined(NEED_grok_number) || defined(NEED_grok_number_GLOBAL)
+int
+DPPP_(my_grok_number)(pTHX_ const char *pv, STRLEN len, UV *valuep)
+{
+  const char *s = pv;
+  const char *send = pv + len;
+  const UV max_div_10 = UV_MAX / 10;
+  const char max_mod_10 = UV_MAX % 10;
+  int numtype = 0;
+  int sawinf = 0;
+  int sawnan = 0;
+
+  while (s &lt; send &amp;&amp; isSPACE(*s))
+    s++;
+  if (s == send) {
+    return 0;
+  } else if (*s == '-') {
+    s++;
+    numtype = IS_NUMBER_NEG;
+  }
+  else if (*s == '+')
+  s++;
+
+  if (s == send)
+    return 0;
+
+  /* next must be digit or the radix separator or beginning of infinity */
+  if (isDIGIT(*s)) {
+    /* UVs are at least 32 bits, so the first 9 decimal digits cannot
+       overflow.  */
+    UV value = *s - '0';
+    /* This construction seems to be more optimiser friendly.
+       (without it gcc does the isDIGIT test and the *s - '0' separately)
+       With it gcc on arm is managing 6 instructions (6 cycles) per digit.
+       In theory the optimiser could deduce how far to unroll the loop
+       before checking for overflow.  */
+    if (++s &lt; send) {
+      int digit = *s - '0';
+      if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+        value = value * 10 + digit;
+        if (++s &lt; send) {
+          digit = *s - '0';
+          if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+            value = value * 10 + digit;
+            if (++s &lt; send) {
+              digit = *s - '0';
+              if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                value = value * 10 + digit;
+        if (++s &lt; send) {
+                  digit = *s - '0';
+                  if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                    value = value * 10 + digit;
+                    if (++s &lt; send) {
+                      digit = *s - '0';
+                      if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                        value = value * 10 + digit;
+                        if (++s &lt; send) {
+                          digit = *s - '0';
+                          if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                            value = value * 10 + digit;
+                            if (++s &lt; send) {
+                              digit = *s - '0';
+                              if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                                value = value * 10 + digit;
+                                if (++s &lt; send) {
+                                  digit = *s - '0';
+                                  if (digit &gt;= 0 &amp;&amp; digit &lt;= 9) {
+                                    value = value * 10 + digit;
+                                    if (++s &lt; send) {
+                                      /* Now got 9 digits, so need to check
+                                         each time for overflow.  */
+                                      digit = *s - '0';
+                                      while (digit &gt;= 0 &amp;&amp; digit &lt;= 9
+                                             &amp;&amp; (value &lt; max_div_10
+                                                 || (value == max_div_10
+                                                     &amp;&amp; digit &lt;= max_mod_10))) {
+                                        value = value * 10 + digit;
+                                        if (++s &lt; send)
+                                          digit = *s - '0';
+                                        else
+                                          break;
+                                      }
+                                      if (digit &gt;= 0 &amp;&amp; digit &lt;= 9
+                                          &amp;&amp; (s &lt; send)) {
+                                        /* value overflowed.
+                                           skip the remaining digits, don't
+                                           worry about setting *valuep.  */
+                                        do {
+                                          s++;
+                                        } while (s &lt; send &amp;&amp; isDIGIT(*s));
+                                        numtype |=
+                                          IS_NUMBER_GREATER_THAN_UV_MAX;
+                                        goto skip_value;
+                                      }
+                                    }
+                                  }
+                }
+                              }
+                            }
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+    }
+      }
+    }
+    numtype |= IS_NUMBER_IN_UV;
+    if (valuep)
+      *valuep = value;
+
+  skip_value:
+    if (GROK_NUMERIC_RADIX(&amp;s, send)) {
+      numtype |= IS_NUMBER_NOT_INT;
+      while (s &lt; send &amp;&amp; isDIGIT(*s))  /* optional digits after the radix */
+        s++;
+    }
+  }
+  else if (GROK_NUMERIC_RADIX(&amp;s, send)) {
+    numtype |= IS_NUMBER_NOT_INT | IS_NUMBER_IN_UV; /* valuep assigned below */
+    /* no digits before the radix means we need digits after it */
+    if (s &lt; send &amp;&amp; isDIGIT(*s)) {
+      do {
+        s++;
+      } while (s &lt; send &amp;&amp; isDIGIT(*s));
+      if (valuep) {
+        /* integer approximation is valid - it's 0.  */
+        *valuep = 0;
+      }
+    }
+    else
+      return 0;
+  } else if (*s == 'I' || *s == 'i') {
+    s++; if (s == send || (*s != 'N' &amp;&amp; *s != 'n')) return 0;
+    s++; if (s == send || (*s != 'F' &amp;&amp; *s != 'f')) return 0;
+    s++; if (s &lt; send &amp;&amp; (*s == 'I' || *s == 'i')) {
+      s++; if (s == send || (*s != 'N' &amp;&amp; *s != 'n')) return 0;
+      s++; if (s == send || (*s != 'I' &amp;&amp; *s != 'i')) return 0;
+      s++; if (s == send || (*s != 'T' &amp;&amp; *s != 't')) return 0;
+      s++; if (s == send || (*s != 'Y' &amp;&amp; *s != 'y')) return 0;
+      s++;
+    }
+    sawinf = 1;
+  } else if (*s == 'N' || *s == 'n') {
+    /* XXX TODO: There are signaling NaNs and quiet NaNs. */
+    s++; if (s == send || (*s != 'A' &amp;&amp; *s != 'a')) return 0;
+    s++; if (s == send || (*s != 'N' &amp;&amp; *s != 'n')) return 0;
+    s++;
+    sawnan = 1;
+  } else
+    return 0;
+
+  if (sawinf) {
+    numtype &amp;= IS_NUMBER_NEG; /* Keep track of sign  */
+    numtype |= IS_NUMBER_INFINITY | IS_NUMBER_NOT_INT;
+  } else if (sawnan) {
+    numtype &amp;= IS_NUMBER_NEG; /* Keep track of sign  */
+    numtype |= IS_NUMBER_NAN | IS_NUMBER_NOT_INT;
+  } else if (s &lt; send) {
+    /* we can have an optional exponent part */
+    if (*s == 'e' || *s == 'E') {
+      /* The only flag we keep is sign.  Blow away any &quot;it's UV&quot;  */
+      numtype &amp;= IS_NUMBER_NEG;
+      numtype |= IS_NUMBER_NOT_INT;
+      s++;
+      if (s &lt; send &amp;&amp; (*s == '-' || *s == '+'))
+        s++;
+      if (s &lt; send &amp;&amp; isDIGIT(*s)) {
+        do {
+          s++;
+        } while (s &lt; send &amp;&amp; isDIGIT(*s));
+      }
+      else
+      return 0;
+    }
+  }
+  while (s &lt; send &amp;&amp; isSPACE(*s))
+    s++;
+  if (s &gt;= send)
+    return numtype;
+  if (len == 10 &amp;&amp; memEQ(pv, &quot;0 but true&quot;, 10)) {
+    if (valuep)
+      *valuep = 0;
+    return IS_NUMBER_IN_UV;
+  }
+  return 0;
+}
+#endif
+#endif
+
+/*
+ * The grok_* routines have been modified to use warn() instead of
+ * Perl_warner(). Also, 'hexdigit' was the former name of PL_hexdigit,
+ * which is why the stack variable has been renamed to 'xdigit'.
+ */
+
+#ifndef grok_bin
+#if defined(NEED_grok_bin)
+static UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+static
+#else
+extern UV DPPP_(my_grok_bin)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+#endif
+
+#ifdef grok_bin
+#  undef grok_bin
+#endif
+#define grok_bin(a,b,c,d) DPPP_(my_grok_bin)(aTHX_ a,b,c,d)
+#define Perl_grok_bin DPPP_(my_grok_bin)
+
+#if defined(NEED_grok_bin) || defined(NEED_grok_bin_GLOBAL)
+UV
+DPPP_(my_grok_bin)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_2 = UV_MAX / 2;
+    bool allow_underscores = *flags &amp; PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+
+    if (!(*flags &amp; PERL_SCAN_DISALLOW_PREFIX)) {
+        /* strip off leading b or 0b.
+           for compatibility silently suffer &quot;b&quot; and &quot;0b&quot; as valid binary
+           numbers. */
+        if (len &gt;= 1) {
+            if (s[0] == 'b') {
+                s++;
+                len--;
+            }
+            else if (len &gt;= 2 &amp;&amp; s[0] == '0' &amp;&amp; s[1] == 'b') {
+                s+=2;
+                len-=2;
+            }
+        }
+    }
+
+    for (; len-- &amp;&amp; *s; s++) {
+        char bit = *s;
+        if (bit == '0' || bit == '1') {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+               With gcc seems to be much straighter code than old scan_bin.  */
+          redo:
+            if (!overflowed) {
+                if (value &lt;= max_div_2) {
+                    value = (value &lt;&lt; 1) | (bit - '0');
+                    continue;
+                }
+                /* Bah. We're just overflowed.  */
+                warn(&quot;Integer overflow in binary number&quot;);
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 2.0;
+        /* If an NV has not enough bits in its mantissa to
+         * represent a UV this summing of small low-order numbers
+         * is a waste of time (because the NV cannot preserve
+         * the low-order bits anyway): we could just remember when
+         * did we overflow and in the end just multiply value_nv by the
+         * right amount. */
+            value_nv += (NV)(bit - '0');
+            continue;
+        }
+        if (bit == '_' &amp;&amp; len &amp;&amp; allow_underscores &amp;&amp; (bit = s[1])
+            &amp;&amp; (bit == '0' || bit == '1'))
+        {
+        --len;
+        ++s;
+                goto redo;
+        }
+        if (!(*flags &amp; PERL_SCAN_SILENT_ILLDIGIT))
+            warn(&quot;Illegal binary digit '%c' ignored&quot;, *s);
+        break;
+    }
+
+    if (   ( overflowed &amp;&amp; value_nv &gt; 4294967295.0)
+#if UVSIZE &gt; 4
+    || (!overflowed &amp;&amp; value &gt; 0xffffffff  )
+#endif
+    ) {
+    warn(&quot;Binary number &gt; 0b11111111111111111111111111111111 non-portable&quot;);
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+#ifndef grok_hex
+#if defined(NEED_grok_hex)
+static UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+static
+#else
+extern UV DPPP_(my_grok_hex)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+#endif
+
+#ifdef grok_hex
+#  undef grok_hex
+#endif
+#define grok_hex(a,b,c,d) DPPP_(my_grok_hex)(aTHX_ a,b,c,d)
+#define Perl_grok_hex DPPP_(my_grok_hex)
+
+#if defined(NEED_grok_hex) || defined(NEED_grok_hex_GLOBAL)
+UV
+DPPP_(my_grok_hex)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_16 = UV_MAX / 16;
+    bool allow_underscores = *flags &amp; PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+    const char *xdigit;
+
+    if (!(*flags &amp; PERL_SCAN_DISALLOW_PREFIX)) {
+        /* strip off leading x or 0x.
+           for compatibility silently suffer &quot;x&quot; and &quot;0x&quot; as valid hex numbers.
+        */
+        if (len &gt;= 1) {
+            if (s[0] == 'x') {
+                s++;
+                len--;
+            }
+            else if (len &gt;= 2 &amp;&amp; s[0] == '0' &amp;&amp; s[1] == 'x') {
+                s+=2;
+                len-=2;
+            }
+        }
+    }
+
+    for (; len-- &amp;&amp; *s; s++) {
+    xdigit = strchr((char *) PL_hexdigit, *s);
+        if (xdigit) {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+               With gcc seems to be much straighter code than old scan_hex.  */
+          redo:
+            if (!overflowed) {
+                if (value &lt;= max_div_16) {
+                    value = (value &lt;&lt; 4) | ((xdigit - PL_hexdigit) &amp; 15);
+                    continue;
+                }
+                warn(&quot;Integer overflow in hexadecimal number&quot;);
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 16.0;
+        /* If an NV has not enough bits in its mantissa to
+         * represent a UV this summing of small low-order numbers
+         * is a waste of time (because the NV cannot preserve
+         * the low-order bits anyway): we could just remember when
+         * did we overflow and in the end just multiply value_nv by the
+         * right amount of 16-tuples. */
+            value_nv += (NV)((xdigit - PL_hexdigit) &amp; 15);
+            continue;
+        }
+        if (*s == '_' &amp;&amp; len &amp;&amp; allow_underscores &amp;&amp; s[1]
+        &amp;&amp; (xdigit = strchr((char *) PL_hexdigit, s[1])))
+        {
+        --len;
+        ++s;
+                goto redo;
+        }
+        if (!(*flags &amp; PERL_SCAN_SILENT_ILLDIGIT))
+            warn(&quot;Illegal hexadecimal digit '%c' ignored&quot;, *s);
+        break;
+    }
+
+    if (   ( overflowed &amp;&amp; value_nv &gt; 4294967295.0)
+#if UVSIZE &gt; 4
+    || (!overflowed &amp;&amp; value &gt; 0xffffffff  )
+#endif
+    ) {
+    warn(&quot;Hexadecimal number &gt; 0xffffffff non-portable&quot;);
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+#ifndef grok_oct
+#if defined(NEED_grok_oct)
+static UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+static
+#else
+extern UV DPPP_(my_grok_oct)(pTHX_ const char * start, STRLEN * len_p, I32 * flags, NV * result);
+#endif
+
+#ifdef grok_oct
+#  undef grok_oct
+#endif
+#define grok_oct(a,b,c,d) DPPP_(my_grok_oct)(aTHX_ a,b,c,d)
+#define Perl_grok_oct DPPP_(my_grok_oct)
+
+#if defined(NEED_grok_oct) || defined(NEED_grok_oct_GLOBAL)
+UV
+DPPP_(my_grok_oct)(pTHX_ const char *start, STRLEN *len_p, I32 *flags, NV *result)
+{
+    const char *s = start;
+    STRLEN len = *len_p;
+    UV value = 0;
+    NV value_nv = 0;
+
+    const UV max_div_8 = UV_MAX / 8;
+    bool allow_underscores = *flags &amp; PERL_SCAN_ALLOW_UNDERSCORES;
+    bool overflowed = FALSE;
+
+    for (; len-- &amp;&amp; *s; s++) {
+         /* gcc 2.95 optimiser not smart enough to figure that this subtraction
+            out front allows slicker code.  */
+        int digit = *s - '0';
+        if (digit &gt;= 0 &amp;&amp; digit &lt;= 7) {
+            /* Write it in this wonky order with a goto to attempt to get the
+               compiler to make the common case integer-only loop pretty tight.
+            */
+          redo:
+            if (!overflowed) {
+                if (value &lt;= max_div_8) {
+                    value = (value &lt;&lt; 3) | digit;
+                    continue;
+                }
+                /* Bah. We're just overflowed.  */
+                warn(&quot;Integer overflow in octal number&quot;);
+                overflowed = TRUE;
+                value_nv = (NV) value;
+            }
+            value_nv *= 8.0;
+        /* If an NV has not enough bits in its mantissa to
+         * represent a UV this summing of small low-order numbers
+         * is a waste of time (because the NV cannot preserve
+         * the low-order bits anyway): we could just remember when
+         * did we overflow and in the end just multiply value_nv by the
+         * right amount of 8-tuples. */
+            value_nv += (NV)digit;
+            continue;
+        }
+        if (digit == ('_' - '0') &amp;&amp; len &amp;&amp; allow_underscores
+            &amp;&amp; (digit = s[1] - '0') &amp;&amp; (digit &gt;= 0 &amp;&amp; digit &lt;= 7))
+        {
+        --len;
+        ++s;
+                goto redo;
+        }
+        /* Allow \octal to work the DWIM way (that is, stop scanning
+         * as soon as non-octal characters are seen, complain only iff
+         * someone seems to want to use the digits eight and nine). */
+        if (digit == 8 || digit == 9) {
+            if (!(*flags &amp; PERL_SCAN_SILENT_ILLDIGIT))
+                warn(&quot;Illegal octal digit '%c' ignored&quot;, *s);
+        }
+        break;
+    }
+
+    if (   ( overflowed &amp;&amp; value_nv &gt; 4294967295.0)
+#if UVSIZE &gt; 4
+    || (!overflowed &amp;&amp; value &gt; 0xffffffff  )
+#endif
+    ) {
+    warn(&quot;Octal number &gt; 037777777777 non-portable&quot;);
+    }
+    *len_p = s - start;
+    if (!overflowed) {
+        *flags = 0;
+        return value;
+    }
+    *flags = PERL_SCAN_GREATER_THAN_UV_MAX;
+    if (result)
+        *result = value_nv;
+    return UV_MAX;
+}
+#endif
+#endif
+
+#if !defined(my_snprintf)
+#if defined(NEED_my_snprintf)
+static int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...);
+static
+#else
+extern int DPPP_(my_my_snprintf)(char * buffer, const Size_t len, const char * format, ...);
+#endif
+
+#define my_snprintf DPPP_(my_my_snprintf)
+#define Perl_my_snprintf DPPP_(my_my_snprintf)
+
+#if defined(NEED_my_snprintf) || defined(NEED_my_snprintf_GLOBAL)
+
+int
+DPPP_(my_my_snprintf)(char *buffer, const Size_t len, const char *format, ...)
+{
+    dTHX;
+    int retval;
+    va_list ap;
+    va_start(ap, format);
+#ifdef HAS_VSNPRINTF
+    retval = vsnprintf(buffer, len, format, ap);
+#else
+    retval = vsprintf(buffer, format, ap);
+#endif
+    va_end(ap);
+    if (retval &gt;= (int)len)
+    Perl_croak(aTHX_ &quot;panic: my_snprintf buffer overflow&quot;);
+    return retval;
+}
+
+#endif
+#endif
+
+#ifdef NO_XSLOCKS
+#  ifdef dJMPENV
+#    define dXCPT             dJMPENV; int rEtV = 0
+#    define XCPT_TRY_START    JMPENV_PUSH(rEtV); if (rEtV == 0)
+#    define XCPT_TRY_END      JMPENV_POP;
+#    define XCPT_CATCH        if (rEtV != 0)
+#    define XCPT_RETHROW      JMPENV_JUMP(rEtV)
+#  else
+#    define dXCPT             Sigjmp_buf oldTOP; int rEtV = 0
+#    define XCPT_TRY_START    Copy(top_env, oldTOP, 1, Sigjmp_buf); rEtV = Sigsetjmp(top_env, 1); if (rEtV == 0)
+#    define XCPT_TRY_END      Copy(oldTOP, top_env, 1, Sigjmp_buf);
+#    define XCPT_CATCH        if (rEtV != 0)
+#    define XCPT_RETHROW      Siglongjmp(top_env, rEtV)
+#  endif
+#endif
+
+#if !defined(my_strlcat)
+#if defined(NEED_my_strlcat)
+static Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size);
+static
+#else
+extern Size_t DPPP_(my_my_strlcat)(char * dst, const char * src, Size_t size);
+#endif
+
+#define my_strlcat DPPP_(my_my_strlcat)
+#define Perl_my_strlcat DPPP_(my_my_strlcat)
+
+#if defined(NEED_my_strlcat) || defined(NEED_my_strlcat_GLOBAL)
+
+Size_t
+DPPP_(my_my_strlcat)(char *dst, const char *src, Size_t size)
+{
+    Size_t used, length, copy;
+
+    used = strlen(dst);
+    length = strlen(src);
+    if (size &gt; 0 &amp;&amp; used &lt; size - 1) {
+        copy = (length &gt;= size - used) ? size - used - 1 : length;
+        memcpy(dst + used, src, copy);
+        dst[used + copy] = '\0';
+    }
+    return used + length;
+}
+#endif
+#endif
+
+#if !defined(my_strlcpy)
+#if defined(NEED_my_strlcpy)
+static Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size);
+static
+#else
+extern Size_t DPPP_(my_my_strlcpy)(char * dst, const char * src, Size_t size);
+#endif
+
+#define my_strlcpy DPPP_(my_my_strlcpy)
+#define Perl_my_strlcpy DPPP_(my_my_strlcpy)
+
+#if defined(NEED_my_strlcpy) || defined(NEED_my_strlcpy_GLOBAL)
+
+Size_t
+DPPP_(my_my_strlcpy)(char *dst, const char *src, Size_t size)
+{
+    Size_t length, copy;
+
+    length = strlen(src);
+    if (size &gt; 0) {
+        copy = (length &gt;= size) ? size - 1 : length;
+        memcpy(dst, src, copy);
+        dst[copy] = '\0';
+    }
+    return length;
+}
+
+#endif
+#endif
+
+#endif /* _P_P_PORTABILITY_H_ */
+
+/* End of File ppport.h */
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportIPhoneSimulatorNotificationtIPhoneSimulatorNotificationt"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+# Before `make install' is performed this script should be runnable with
+# `make test'. After `make install' it should work as `perl IPhoneSimulatorNotification.t'
+
+#########################
+
+# change 'tests =&gt; 1' to 'tests =&gt; last_test_to_print';
+
+use Test::More tests =&gt; 1;
+BEGIN { use_ok('IPhoneSimulatorNotification') };
+
+#########################
+
+# Insert your test code below, the Test::More module is use()ed here so read
+# its man page ( perldoc Test::More ) for help writing this test script.
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPerlSupportMakefile"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/Makefile (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/Makefile                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PerlSupport/Makefile        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,113 @@
</span><ins>+# Copyright (C) 2009 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. ``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
+# 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. 
+
+ifneq ($(filter iphoneos iphonesimulator, $(PLATFORM_NAME)), )
+
+CONFIGURATION_BUILD_DIR ?= .
+OUTPUT_DIR=$(CONFIGURATION_BUILD_DIR)
+
+WRAPPER_DIR=$(OUTPUT_DIR)/DerivedSources/DumpRenderTree
+ifneq ($(PLATFORM_NAME),iphoneos)
+WRAPPER=$(WRAPPER_DIR)/DumpRenderTreeSupport_wrap.c
+PERL_MODULE=$(OUTPUT_DIR)/DumpRenderTreeSupport.pm
+DYLIB=$(OUTPUT_DIR)/DumpRenderTreeSupport.dylib
+endif
+DUMPRENDERTREE=$(OUTPUT_DIR)/DumpRenderTree
+PERL=/usr/bin/perl
+
+DUMPRENDERTREE=$(OUTPUT_DIR)/DumpRenderTree.app/DumpRenderTree
+
+# FIXME: We shouldn't hard code these architectures. See &lt;rdar://problem/9047171&gt; for more discussion on why we have to.
+ARCHS=i386 x86_64
+
+OSX_VERSION = $(shell sw_vers -productVersion | cut -d. -f 2)
+ifeq &quot;$(OSX_VERSION)&quot; &quot;5&quot;
+GENERATE_WRAPPER = YES
+endif
+ifeq &quot;$(OSX_VERSION)&quot; &quot;6&quot;
+GENERATE_WRAPPER = NO
+endif
+
+ifeq &quot;$(GENERATE_WRAPPER)&quot; &quot;YES&quot;
+
+SWIG=/usr/bin/swig
+
+all: $(DYLIB) $(PERL_MODULE)
+
+$(WRAPPER) $(PERL_MODULE): DumpRenderTreeSupport.c $(DUMPRENDERTREE)
+        mkdir -p $(WRAPPER_DIR)
+        $(SWIG) -o $(WRAPPER) -outdir $(OUTPUT_DIR) -perl -module DumpRenderTreeSupport $&lt;
+
+
+else
+
+
+all: $(DYLIB) $(PERL_MODULE)
+
+$(WRAPPER): DumpRenderTreeSupport_wrapPregenerated.c $(DUMPRENDERTREE)
+        mkdir -p $(WRAPPER_DIR)
+        cp DumpRenderTreeSupport_wrapPregenerated.c $(WRAPPER)
+
+$(PERL_MODULE): DumpRenderTreeSupportPregenerated.pm $(DUMPRENDERTREE)
+        cp DumpRenderTreeSupportPregenerated.pm $(PERL_MODULE)
+
+
+endif
+
+OS_X_SDK = $(if $(shell xcrun --show-sdk-path -sdk &quot;macosx&quot; 2&gt; /dev/null),macosx, /)
+
+$(DYLIB): DumpRenderTreeSupport.c $(WRAPPER)
+        TOOLCHAINS= xcrun -sdk $(OS_X_SDK) cc -g -dynamiclib -o $(DYLIB) `$(PERL) -MExtUtils::Embed -eperl_inc` `$(PERL) -MExtUtils::Embed -e'my $$opts = ldopts(0); $$opts =~ s/-arch [^ ]*( |$$)//g; print $$opts, &quot; -arch &quot;, join(&quot; -arch &quot;, split(&quot; &quot;,$$ENV{ARCHS}))'` $^
+
+IPHONE_SIMULATOR_NOTIFCATION_BUNDLE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/auto/IPhoneSimulatorNotification/IPhoneSimulatorNotification.bundle
+IPHONE_SIMULATOR_NOTIFCATION_MODULE=$(OUTPUT_DIR)/lib/perl5/darwin-thread-multi-2level/IPhoneSimulatorNotification.pm
+
+all: $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE)
+
+$(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE): IPhoneSimulatorNotification/IPhoneSimulatorNotification.xs IPhoneSimulatorNotification/Makefile.PL IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm IPhoneSimulatorNotification/ppport.h IPhoneSimulatorNotification/t/IPhoneSimulatorNotification.t
+        (cd IPhoneSimulatorNotification &amp;&amp; \
+                SDKROOT=$(OS_X_SDK) TOOLCHAINS= $(PERL) Makefile.PL INSTALL_BASE=$(OUTPUT_DIR) &amp;&amp; \
+                make SDKROOT=$(OS_X_SDK) TOOLCHAINS= &amp;&amp; \
+                make test &amp;&amp; \
+                make install &amp;&amp; \
+                make realclean)
+        # Touch the built perl module and its bundle since IPhoneSimulatorNotification.xs and Makefile.PL always have newer dates after building.
+        touch $(IPHONE_SIMULATOR_NOTIFCATION_BUNDLE) $(IPHONE_SIMULATOR_NOTIFCATION_MODULE)
+
+clean:
+        rm -f $(WRAPPER) $(PERL_MODULE) $(DYLIB)
+
+installhdrs installsrc:
+
+INSTALL_LOCATION=$(DSTROOT)/$(SYSTEM_LIBRARY_DIR)/Frameworks/$(WEBKIT_FRAMEWORK_RESOURCES_PATH)
+
+install: all
+        mkdir -p $(INSTALL_LOCATION)
+        cp $(DYLIB) $(INSTALL_LOCATION)/DumpRenderTreeSupport.dylib
+        cp $(PERL_MODULE) $(INSTALL_LOCATION)/DumpRenderTreeSupport.pm
+
+else
+
+all clean install installhdrs installsrc:
+
+endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreeiosPixelDumpSupportIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/ios/PixelDumpSupportIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,80 @@
</span><ins>+/*
+ * Copyright (C) 2005, 2006, 2007, 2009 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.
+ * 3.  Neither the name of Apple Computer, Inc. (&quot;Apple&quot;) 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 APPLE AND ITS CONTRIBUTORS &quot;AS IS&quot; 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 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;PixelDumpSupport.h&quot;
+
+#import &quot;DumpRenderTree.h&quot;
+#import &quot;PixelDumpSupportCG.h&quot;
+
+#define COMMON_DIGEST_FOR_OPENSSL
+#import &lt;CommonCrypto/CommonDigest.h&gt;
+#import &lt;MobileCoreServices/UTCoreTypes.h&gt;
+#import &lt;QuartzCore/QuartzCore.h&gt;
+#import &lt;UIKit/UIKit.h&gt;
+#import &lt;UIKit/UIView_Private.h&gt;
+#import &lt;UIKit/UIWebBrowserView.h&gt;
+#import &lt;WebKit/WebCoreThread.h&gt;
+
+#import &lt;wtf/RefPtr.h&gt;
+
+extern UIWebBrowserView *gWebBrowserView;
+
+PassRefPtr&lt;BitmapContext&gt; createBitmapContextFromWebView(bool onscreen, bool incrementalRepaint, bool sweepHorizontally,
+ bool drawSelectionRect)
+{
+    // FIXME: Implement; see PixelDumpSupportMac.mm.
+    return 0;
+}
+
+void dumpWebViewAsPixelsAndCompareWithExpected(const std::string&amp; expectedHash)
+{
+    // TODO: &lt;rdar://problem/6558366&gt; DumpRenderTree: Investigate testRepaintSweepHorizontally and dumpSelectionRect
+    
+    // Take snapshot
+    WebThreadLock();
+    [gWebBrowserView setNeedsDisplay];
+    [gWebBrowserView layoutTilesNow];
+    CGImageRef snapshot = [gWebBrowserView createSnapshotWithRect:[[mainFrame webView] frame]];
+    NSData *pngData = UIImagePNGRepresentation([UIImage imageWithCGImage:snapshot]);
+    
+    // Hash the PNG data
+    char actualHash[33];
+    unsigned char result[CC_MD5_DIGEST_LENGTH];
+    CC_MD5([pngData bytes], [pngData length], result);
+    actualHash[0] = '\0';
+    for (int i = 0; i &lt; 16; i++)
+        snprintf(actualHash, 33, &quot;%s%02x&quot;, actualHash, result[i]);
+    printf(&quot;\nActualHash: %s\n&quot;, actualHash);
+    
+    // Print the image
+    printf(&quot;Content-Type: image/png\n&quot;);
+    printf(&quot;Content-Length: %lu\n&quot;, (unsigned long)[pngData length]);
+    fwrite([pngData bytes], 1, [pngData length], stdout);
+    CGImageRelease(snapshot);
+}
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacAccessibilityNotificationHandlermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityNotificationHandler.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityNotificationHandler.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityNotificationHandler.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,7 +37,6 @@
</span><span class="cx"> #import &lt;JavaScriptCore/JSStringRef.h&gt;
</span><span class="cx"> #import &lt;JavaScriptCore/JSStringRefCF.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebFrame.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface NSObject (WebAccessibilityObjectWrapperAdditions)
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacAccessibilityTextMarkerMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityTextMarkerMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityTextMarkerMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/AccessibilityTextMarkerMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,8 @@
</span><span class="cx"> #import &quot;AccessibilityTextMarker.h&quot;
</span><span class="cx"> #import &quot;DumpRenderTree.h&quot;
</span><span class="cx"> 
</span><ins>+#if SUPPORTS_AX_TEXTMARKERS
+
</ins><span class="cx"> // MARK: AccessibilityTextMarker
</span><span class="cx"> 
</span><span class="cx"> AccessibilityTextMarker::AccessibilityTextMarker(PlatformTextMarker marker)
</span><span class="lines">@@ -79,3 +81,5 @@
</span><span class="cx"> {
</span><span class="cx">     return m_textMarkerRange.get();
</span><span class="cx"> }
</span><ins>+
+#endif // SUPPORTS_AX_TEXTMARKERS
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacAppleScriptControllerm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/AppleScriptController.m (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/AppleScriptController.m        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/AppleScriptController.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,6 +30,8 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;AppleScriptController.h&quot;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &lt;WebKit/WebView.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;   // for aeDescByEvaluatingJavaScriptFromString, which is pending API review
</span><span class="cx"> 
</span><span class="lines">@@ -125,3 +127,5 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+
+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,11 +21,21 @@
</span><span class="cx"> // (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>+#include &quot;&lt;DEVELOPER_DIR&gt;/AppleInternal/XcodeConfig/AspenFamily.xcconfig&quot;
+
</ins><span class="cx"> CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
</span><span class="cx"> CLANG_CXX_LIBRARY = libc++;
</span><span class="cx"> CLANG_WARN_CXX0X_EXTENSIONS = NO;
</span><del>-HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include ForwardingHeaders mac/InternalHeaders $(NEXT_ROOT)/usr/local/include/WebCoreTestSupport $(SRCROOT)/../../Source/JavaScriptCore/icu;
-GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) ENABLE_DASHBOARD_SUPPORT WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST;
</del><ins>+HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport ForwardingHeaders $(HEADER_SEARCH_PATHS_$(PLATFORM_NAME)) $(SRCROOT)/../../Source/JavaScriptCore/icu;
+HEADER_SEARCH_PATHS_iphoneos = $(SDKROOT)/usr/local/include $(SDKROOT)/usr/local/include/WebCoreTestSupport;
+HEADER_SEARCH_PATHS_iphonesimulator = $(HEADER_SEARCH_PATHS_iphoneos);
+HEADER_SEARCH_PATHS_macosx = mac/InternalHeaders $(NEXT_ROOT)/usr/local/include/WebCoreTestSupport;
+FRAMEWORK_SEARCH_PATHS = $(FRAMEWORK_SEARCH_PATHS_$(PLATFORM_NAME));
+FRAMEWORK_SEARCH_PATHS_macosx = $(interited);
+FRAMEWORK_SEARCH_PATHS_iphoneos = $(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
+FRAMEWORK_SEARCH_PATHS_iphonesimulator = $(FRAMEWORK_SEARCH_PATHS_iphoneos);
+GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) $(GCC_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME)) WEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST;
+GCC_PREPROCESSOR_DEFINITIONS_macosx = ENABLE_DASHBOARD_SUPPORT;
</ins><span class="cx"> DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;
</span><span class="cx"> PREBINDING = NO
</span><span class="cx"> GCC_C_LANGUAGE_STANDARD = gnu99
</span><span class="lines">@@ -37,6 +47,9 @@
</span><span class="cx"> GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO
</span><span class="cx"> GCC_WARN_UNUSED_FUNCTION = YES
</span><span class="cx"> GCC_WARN_UNUSED_VARIABLE = YES
</span><ins>+// FIXME: &lt;http://webkit.org/b/118590&gt; DumpRenderTree should build with -Wshorten-64-to-32
+GCC_WARN_64_TO_32_BIT_CONVERSION[arch=arm64] = NO;
+GCC_WARN_64_TO_32_BIT_CONVERSION[arch=x86_64] = NO;
</ins><span class="cx"> WARNING_CFLAGS = -Wall -W -Wno-unused-parameter -Wundef
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> 
</span><span class="lines">@@ -58,3 +71,5 @@
</span><span class="cx"> TOOLCHAINS_macosx_1080 = default;
</span><span class="cx"> TOOLCHAINS_macosx_1090 = $(TOOLCHAINS);
</span><span class="cx"> TOOLCHAINS_macosx_101000 = $(TOOLCHAINS_macosx_1090);
</span><ins>+
+SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsDebugReleasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,10 +28,13 @@
</span><span class="cx"> 
</span><span class="cx"> ONLY_ACTIVE_ARCH = YES;
</span><span class="cx"> 
</span><del>-MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-MACOSX_DEPLOYMENT_TARGET_1080 = 10.8;
-MACOSX_DEPLOYMENT_TARGET_1090 = 10.9;
-MACOSX_DEPLOYMENT_TARGET_101000 = 10.10;
</del><ins>+MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(PLATFORM_NAME));
+MACOSX_DEPLOYMENT_TARGET_iphoneos = 10.9;
+MACOSX_DEPLOYMENT_TARGET_iphonesimulator = 10.9;
+MACOSX_DEPLOYMENT_TARGET_macosx = $(MACOSX_DEPLOYMENT_TARGET_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+MACOSX_DEPLOYMENT_TARGET_macosx_1080 = 10.8;
+MACOSX_DEPLOYMENT_TARGET_macosx_1090 = 10.9;
+MACOSX_DEPLOYMENT_TARGET_macosx_101000 = 10.10;
</ins><span class="cx"> 
</span><span class="cx"> WEBKIT_SYSTEM_INTERFACE_LIBRARY = $(WEBKIT_SYSTEM_INTERFACE_LIBRARY_$(PLATFORM_NAME));
</span><span class="cx"> WEBKIT_SYSTEM_INTERFACE_LIBRARY_iphoneos = WebKitSystemInterface;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,6 +23,10 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BaseTarget.xcconfig&quot;
</span><span class="cx"> 
</span><del>-OTHER_LDFLAGS = $(inherited) -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY) -force_load $(BUILT_PRODUCTS_DIR)/libDumpRenderTree.a;
</del><ins>+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_macosx = $(inherited) -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY) -lWebCoreTestSupport -force_load $(BUILT_PRODUCTS_DIR)/libDumpRenderTree.a -framework Carbon -framework Cocoa -framework JavaScriptCore -framework OpenGL -framework WebKit;
</ins><span class="cx"> LD_RUNPATH_SEARCH_PATHS = &quot;@loader_path/.&quot;;
</span><span class="cx"> PRODUCT_NAME = DumpRenderTree;
</span><ins>+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = DumpRenderTreeMain.mm *.ttf *.TTF *.sfont;
+EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeAppxcconfig"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeApp.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+//
+// Copyright (C) 2014 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.
+//
+
+#include &quot;BaseTarget.xcconfig&quot;
+
+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;
+
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+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);
+OTHER_LDFLAGS_iphonesimulator = $(OTHER_LDFLAGS_iphoneos);
+LD_RUNPATH_SEARCH_PATHS = &quot;@loader_path/.&quot;;
+PRODUCT_NAME = DumpRenderTree;
+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_macosx = DumpRenderTreeMain.mm;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsDumpRenderTreeLibraryxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/DumpRenderTreeLibrary.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -27,3 +27,8 @@
</span><span class="cx"> 
</span><span class="cx"> PRODUCT_NAME = DumpRenderTree;
</span><span class="cx"> SKIP_INSTALL = YES;
</span><ins>+
+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = AccessibilityControllerMac.mm AccessibilityUIElementMac.mm DumpRenderTreeFileDraggingSource.m PixelDumpSupportMac.mm PixelDumpSupportCG.cpp;
+EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
+EXCLUDED_SOURCE_FILE_NAMES_macosx = AccessibilityUIElementIOS.mm AccessibilityControllerIOS.mm PixelDumpSupportIOS.mm DumpRenderTreeBrowserView.mm;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsImageDiffxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/ImageDiff.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,4 +23,8 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;BaseTarget.xcconfig&quot;
</span><span class="cx"> 
</span><del>-PRODUCT_NAME = ImageDiff
</del><ins>+PRODUCT_NAME = ImageDiff;
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_macosx = -framework Carbon -framework Cocoa -framework QuartzCore;
+OTHER_LDFLAGS_iphoneos = -framework CoreFoundation -framework CoreGraphics -framework MobileCoreServices -framework ImageIO;
+OTHER_LDFLAGS_iphonesimulator = $(OTHER_LDFLAGS_iphoneos);
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsLayoutTestHelperxcconfig"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig                                (rev 0)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,29 @@
</span><ins>+//
+// Copyright (C) 2014 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.
+//
+
+#include &quot;BaseTarget.xcconfig&quot;
+
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_macosx = -framework Carbon -framework Cocoa -framework OpenGL -framework IOKit;
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacConfigurationsTestNetscapePlugInxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,3 +29,6 @@
</span><span class="cx"> INSTALL_PATH = &quot;$(USER_LIBRARY_DIR)/Plugins&quot;
</span><span class="cx"> WARNING_CFLAGS = -Wmost -Wno-four-char-constants -Wno-unknown-pragmas
</span><span class="cx"> LIBRARY_STYLE = BUNDLE
</span><ins>+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = *;
+EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -56,7 +56,6 @@
</span><span class="cx"> #import &quot;WebCoreTestSupport.h&quot;
</span><span class="cx"> #import &quot;WorkQueue.h&quot;
</span><span class="cx"> #import &quot;WorkQueueItem.h&quot;
</span><del>-#import &lt;Carbon/Carbon.h&gt;
</del><span class="cx"> #import &lt;CoreFoundation/CoreFoundation.h&gt;
</span><span class="cx"> #import &lt;JavaScriptCore/HeapStatistics.h&gt;
</span><span class="cx"> #import &lt;JavaScriptCore/Options.h&gt;
</span><span class="lines">@@ -71,7 +70,6 @@
</span><span class="cx"> #import &lt;WebKit/WebDatabaseManagerPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebDocumentPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebDeviceOrientationProviderMock.h&gt;
</span><del>-#import &lt;WebKit/WebDynamicScrollBarsView.h&gt;
</del><span class="cx"> #import &lt;WebKit/WebEditingDelegate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebFrameView.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebHistory.h&gt;
</span><span class="lines">@@ -84,7 +82,6 @@
</span><span class="cx"> #import &lt;WebKit/WebPreferenceKeysPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebResourceLoadDelegate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebStorageManagerPrivate.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><span class="cx"> #import &lt;getopt.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><span class="lines">@@ -94,18 +91,60 @@
</span><span class="cx"> #import &lt;wtf/ObjcRuntimeExtras.h&gt;
</span><span class="cx"> #import &lt;wtf/OwnPtr.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+#import &lt;Carbon/Carbon.h&gt;
+#import &lt;WebKit/WebDynamicScrollBarsView.h&gt;
+#endif
+
+#if PLATFORM(IOS)
+#import &lt;CoreGraphics/CGFontDB.h&gt;
+#import &lt;GraphicsServices/GSFont.h&gt;
+#import &lt;QuartzCore/QuartzCore.h&gt;
+#import &lt;UIKit/UIApplication_Private.h&gt;
+#import &lt;UIKit/UIMath.h&gt;
+#import &lt;UIKit/UIWebBrowserView.h&gt;
+#import &lt;UIKit/UIWebScrollView.h&gt;
+#import &lt;WebKit/WAKViewPrivate.h&gt;
+#import &lt;WebKit/WAKWindow.h&gt;
+#import &lt;WebKit/WebCoreThread.h&gt;
+#import &lt;WebKit/WebCoreThreadRun.h&gt;
+#import &lt;WebKit/WebDOMOperations.h&gt;
+#import &lt;fcntl.h&gt;
+#import &quot;DumpRenderTreeBrowserView.h&quot;
+#endif
+
</ins><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> #import &lt;mach-o/getsect.h&gt;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> using namespace std;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> @interface DumpRenderTreeApplication : NSApplication
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @interface DumpRenderTreeEvent : NSEvent
</span><span class="cx"> @end
</span><ins>+#else
+@interface ScrollViewResizerDelegate : NSObject
+@end
</ins><span class="cx"> 
</span><ins>+@implementation ScrollViewResizerDelegate
+- (void)view:(UIWebDocumentView *)view didSetFrame:(CGRect)newFrame oldFrame:(CGRect)oldFrame asResultOfZoom:(BOOL)wasResultOfZoom
+{
+    UIView *scrollView = [view superview];
+    while (![scrollView isKindOfClass:[UIWebScrollView class]])
+        scrollView = [scrollView superview];
+
+    ASSERT(scrollView &amp;&amp; [scrollView isKindOfClass:[UIWebScrollView class]]);
+    const CGSize scrollViewSize = [scrollView bounds].size;
+    CGSize contentSize = newFrame.size;
+    contentSize.height = _ROUNDF_(MAX(CGRectGetMaxY(newFrame), scrollViewSize.height));
+    [(UIWebScrollView *)scrollView setContentSize:contentSize];
+}
+@end
+#endif
+
</ins><span class="cx"> @interface NSURLRequest (PrivateThingsWeShouldntReallyUse)
</span><span class="cx"> +(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString *)host;
</span><span class="cx"> @end
</span><span class="lines">@@ -150,6 +189,9 @@
</span><span class="cx"> PolicyDelegate *policyDelegate;
</span><span class="cx"> DefaultPolicyDelegate *defaultPolicyDelegate;
</span><span class="cx"> StorageTrackerDelegate *storageDelegate;
</span><ins>+#if PLATFORM(IOS)
+static ScrollViewResizerDelegate *scrollViewResizerDelegate;
+#endif
</ins><span class="cx"> 
</span><span class="cx"> static int dumpPixelsForAllTests = NO;
</span><span class="cx"> static bool dumpPixelsForCurrentTest = false;
</span><span class="lines">@@ -164,6 +206,17 @@
</span><span class="cx"> 
</span><span class="cx"> static WebHistoryItem *prevTestBFItem = nil;  // current b/f item at the end of the previous test
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+const unsigned phoneViewHeight = 480;
+const unsigned phoneViewWidth = 320;
+const unsigned phoneBrowserScrollViewHeight = 416;
+const unsigned phoneBrowserAddressBarOffset = 60;
+const CGRect layoutTestViewportRect = { {0, 0}, {static_cast&lt;CGFloat&gt;(TestRunner::viewWidth), static_cast&lt;CGFloat&gt;(TestRunner::viewHeight)} };
+UIWebBrowserView *gWebBrowserView = nil;
+UIWebScrollView *gWebScrollView = nil;
+DumpRenderTreeWindow *gDrtWindow = nil;
+#endif
+
</ins><span class="cx"> #ifdef __OBJC2__
</span><span class="cx"> static void swizzleAllMethods(Class imposter, Class original)
</span><span class="cx"> {
</span><span class="lines">@@ -236,6 +289,7 @@
</span><span class="cx">     return false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> static NSSet *allowedFontFamilySet()
</span><span class="cx"> {
</span><span class="cx">     static NSSet *fontFamilySet = [[NSSet setWithObjects:
</span><span class="lines">@@ -471,7 +525,100 @@
</span><span class="cx">     swizzleNSFontManagerMethods();
</span><span class="cx">     activateTestingFonts();
</span><span class="cx"> }
</span><ins>+#else
+static void activateFontsIOS()
+{
+    static const char* fontSectionNames[] = {
+        &quot;Ahem&quot;,
+        &quot;ltcher100&quot;,
+        &quot;WeightWatcher200&quot;,
+        &quot;WeightWatcher300&quot;,
+        &quot;WeightWatcher400&quot;,
+        &quot;WeightWatcher500&quot;,
+        &quot;WeightWatcher600&quot;,
+        &quot;WeightWatcher700&quot;,
+        &quot;WeightWatcher800&quot;,
+        &quot;WeightWatcher900&quot;,
+        0
+    };
</ins><span class="cx"> 
</span><ins>+    for (unsigned i = 0; fontSectionNames[i]; ++i) {
+        unsigned long fontDataLength;
+        char* fontData = getsectdata(&quot;__DATA&quot;, fontSectionNames[i], &amp;fontDataLength);
+        if (!fontData) {
+            fprintf(stderr, &quot;Failed to locate the %s font.\n&quot;, fontSectionNames[i]);
+            exit(1);
+        }
+
+        CGDataProviderRef data = CGDataProviderCreateWithData(NULL, fontData, fontDataLength, NULL);
+        if (!data) {
+            fprintf(stderr, &quot;Failed to create CGDataProviderRef for the %s font.\n&quot;, fontSectionNames[i]);
+            exit(1);
+        }
+
+        CGFontRef cgFont = CGFontCreateWithDataProvider(data);
+        CGDataProviderRelease(data);
+        if (!cgFont) {
+            fprintf(stderr, &quot;Failed to create CGFontRef for the %s font.\n&quot;, fontSectionNames[i]);
+            exit(1);
+        }
+
+        if (!GSFontAddCGFont(cgFont)) {
+            fprintf(stderr, &quot;Failed to add CGFont to GraphicsServices for the %s font.\n&quot;, fontSectionNames[i]);
+            exit(1);
+        }
+        CGFontRelease(cgFont);
+    }
+}
+#endif // !PLATFORM(IOS)
+
+
+#if PLATFORM(IOS)
+void adjustWebDocumentForFlexibleViewport(UIWebBrowserView *webBrowserView, UIWebScrollView *scrollView)
+{
+    // These values match MobileSafari's, see -[TabDocument _createDocumentView].
+    [webBrowserView setMinimumScale:0.25f forDocumentTypes:UIEveryDocumentMask];
+    [webBrowserView setMaximumScale:5.0f forDocumentTypes:UIEveryDocumentMask];
+    [webBrowserView setInitialScale:UIWebViewScalesToFitScale forDocumentTypes:UIEveryDocumentMask];
+    [webBrowserView setViewportSize:CGSizeMake(UIWebViewStandardViewportWidth, UIWebViewGrowsAndShrinksToFitHeight) forDocumentTypes:UIEveryDocumentMask];
+
+    // Adjust the viewport view and viewport to have similar behavior
+    // as the browser.
+    [(DumpRenderTreeBrowserView *)webBrowserView setScrollingUsesUIWebScrollView:YES];
+    [webBrowserView setDelegate:scrollViewResizerDelegate];
+
+    CGRect viewportRect = CGRectMake(0, 0, phoneViewWidth, phoneBrowserScrollViewHeight);
+    [scrollView setBounds:viewportRect];
+    [scrollView setFrame:viewportRect];
+
+    [webBrowserView setMinimumSize:viewportRect.size];
+    [webBrowserView setAutoresizes:YES];
+    CGRect browserViewFrame = [webBrowserView frame];
+    browserViewFrame.origin = CGPointMake(0, phoneBrowserAddressBarOffset);
+    [webBrowserView setFrame:browserViewFrame];
+}
+
+void adjustWebDocumentForStandardViewport(UIWebBrowserView *webBrowserView, UIWebScrollView *scrollView)
+{
+    [webBrowserView setMinimumScale:1.0f forDocumentTypes:UIEveryDocumentMask];
+    [webBrowserView setMaximumScale:5.0f forDocumentTypes:UIEveryDocumentMask];
+    [webBrowserView setInitialScale:1.0f forDocumentTypes:UIEveryDocumentMask];
+
+    [(DumpRenderTreeBrowserView *)webBrowserView setScrollingUsesUIWebScrollView:NO];
+    [webBrowserView setDelegate: nil];
+
+    [scrollView setBounds:layoutTestViewportRect];
+    [scrollView setFrame:layoutTestViewportRect];
+
+    [webBrowserView setMinimumSize:layoutTestViewportRect.size];
+    [webBrowserView setAutoresizes:NO];
+    CGRect browserViewFrame = [webBrowserView frame];
+    browserViewFrame.origin = CGPointZero;
+    [webBrowserView setFrame:browserViewFrame];
+}
+#endif
+
+#if !PLATFORM(IOS)
</ins><span class="cx"> @interface DRTMockScroller : NSScroller
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="lines">@@ -530,12 +677,20 @@
</span><span class="cx"> {
</span><span class="cx">     [WebDynamicScrollBarsView setCustomScrollerClass:[DRTMockScroller class]];
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> WebView *createWebViewAndOffscreenWindow()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSRect rect = NSMakeRect(0, 0, TestRunner::viewWidth, TestRunner::viewHeight);
</span><span class="cx">     WebView *webView = [[WebView alloc] initWithFrame:rect frameName:nil groupName:@&quot;org.webkit.DumpRenderTree&quot;];
</span><del>-        
</del><ins>+#else
+    UIWebBrowserView *webBrowserView = [[[DumpRenderTreeBrowserView alloc] initWithFrame:layoutTestViewportRect] autorelease];
+
+    WebView *webView = [[webBrowserView webView] retain];
+    [webView setGroupName:@&quot;org.webkit.DumpRenderTree&quot;];
+#endif
+
</ins><span class="cx">     [webView setUIDelegate:uiDelegate];
</span><span class="cx">     [webView setFrameLoadDelegate:frameLoadDelegate];
</span><span class="cx">     [webView setEditingDelegate:editingDelegate];
</span><span class="lines">@@ -549,6 +704,7 @@
</span><span class="cx">     [WebView registerURLSchemeAsLocal:@&quot;feeds&quot;];
</span><span class="cx">     [WebView registerURLSchemeAsLocal:@&quot;feedsearch&quot;];
</span><span class="cx">     
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [webView setContinuousSpellCheckingEnabled:YES];
</span><span class="cx">     [webView setAutomaticQuoteSubstitutionEnabled:NO];
</span><span class="cx">     [webView setAutomaticLinkDetectionEnabled:NO];
</span><span class="lines">@@ -573,12 +729,49 @@
</span><span class="cx">     [window setAutodisplay:NO];
</span><span class="cx"> 
</span><span class="cx">     [window startListeningForAcceleratedCompositingChanges];
</span><ins>+#else
+    DumpRenderTreeWindow *drtWindow = [[DumpRenderTreeWindow alloc] initWithLayer:[webBrowserView layer]];
+    [drtWindow setContentView:webView];
+    [webBrowserView setWAKWindow:drtWindow];
+
+    [[webView window] makeFirstResponder:[[[webView mainFrame] frameView] documentView]];
+
+    CGRect uiWindowRect = layoutTestViewportRect;
+    uiWindowRect.origin.y += [UIApp statusBarHeight];
+    UIWindow *uiWindow = [[[UIWindow alloc] initWithFrame:uiWindowRect] autorelease];
+
+    // The UIWindow and UIWebBrowserView are released when the DumpRenderTreeWindow is closed.
+    drtWindow.uiWindow = uiWindow;
+    drtWindow.browserView = webBrowserView;
+
+    UIWebScrollView *scrollView = [[UIWebScrollView alloc] initWithFrame:layoutTestViewportRect];
+    [scrollView addSubview:webBrowserView];
+
+    [uiWindow addSubview:scrollView];
+    [scrollView release];
+
+    adjustWebDocumentForStandardViewport(webBrowserView, scrollView);
+#endif
</ins><span class="cx">     
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     // For reasons that are not entirely clear, the following pair of calls makes WebView handle its
</span><span class="cx">     // dynamic scrollbars properly. Without it, every frame will always have scrollbars.
</span><span class="cx">     NSBitmapImageRep *imageRep = [webView bitmapImageRepForCachingDisplayInRect:[webView bounds]];
</span><span class="cx">     [webView cacheDisplayInRect:[webView bounds] toBitmapImageRep:imageRep];
</span><del>-        
</del><ins>+#else
+    [[webView mainFrame] _setVisibleSize:CGSizeMake(phoneViewWidth, phoneViewHeight)];
+    [[webView preferences] _setTelephoneNumberParsingEnabled:NO];
+
+    // Initialize the global UIViews, and set the key UIWindow to be painted.
+    if (!gWebBrowserView) {
+        gWebBrowserView = [webBrowserView retain];
+        gWebScrollView = [scrollView retain];
+        gDrtWindow = [drtWindow retain];
+        [uiWindow makeKeyAndVisible];
+        [uiWindow retain];
+    }
+#endif
+
</ins><span class="cx">     return webView;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -615,14 +808,20 @@
</span><span class="cx">     [preferences setJavaEnabled:NO];
</span><span class="cx">     [preferences setJavaScriptEnabled:YES];
</span><span class="cx">     [preferences setEditableLinkBehavior:WebKitEditableLinkOnlyLiveWithShiftKey];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [preferences setTabsToLinks:NO];
</span><ins>+#endif
</ins><span class="cx">     [preferences setDOMPasteAllowed:YES];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [preferences setShouldPrintBackgrounds:YES];
</span><ins>+#endif
</ins><span class="cx">     [preferences setCacheModel:WebCacheModelDocumentBrowser];
</span><span class="cx">     [preferences setXSSAuditorEnabled:NO];
</span><span class="cx">     [preferences setExperimentalNotificationsEnabled:NO];
</span><span class="cx">     [preferences setPlugInsEnabled:YES];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [preferences setTextAreasAreResizable:YES];
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">     [preferences setPrivateBrowsingEnabled:NO];
</span><span class="cx">     [preferences setAuthorAndUserStylesEnabled:YES];
</span><span class="lines">@@ -640,7 +839,15 @@
</span><span class="cx">         [preferences setUserStyleSheetEnabled:YES];
</span><span class="cx">     } else
</span><span class="cx">         [preferences setUserStyleSheetEnabled:NO];
</span><ins>+#if PLATFORM(IOS)
+    [preferences setMediaPlaybackAllowsInline:YES];
+    [preferences setMediaPlaybackRequiresUserGesture:NO];
</ins><span class="cx"> 
</span><ins>+    // Enable the tracker before creating the first WebView will
+    // cause initialization to use the correct database paths.
+    [preferences setStorageTrackerEnabled:YES];
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx">     // Disable text autosizing by default.
</span><span class="cx">     [preferences _setMinimumZoomFontSize:0];
</span><span class="lines">@@ -666,6 +873,11 @@
</span><span class="cx">     [preferences setWebAudioEnabled:YES];
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if ENABLE(IOS_TEXT_AUTOSIZING)
+    // Disable text autosizing by default.
+    [preferences _setMinimumZoomFontSize:0];
+#endif
+
</ins><span class="cx">     [preferences setScreenFontSubstitutionEnabled:YES];
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(MEDIA_SOURCE)
</span><span class="lines">@@ -678,6 +890,10 @@
</span><span class="cx"> // Called once on DumpRenderTree startup.
</span><span class="cx"> static void setDefaultsToConsistentValuesForTesting()
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    WebThreadLock();
+#endif
+
</ins><span class="cx">     static const int NoFontSmoothing = 0;
</span><span class="cx">     static const int BlueTintedAppearance = 1;
</span><span class="cx"> 
</span><span class="lines">@@ -695,6 +911,7 @@
</span><span class="cx">         WebKitEnableFullDocumentTeardownPreferenceKey: @YES,
</span><span class="cx">         WebKitFullScreenEnabledPreferenceKey: @YES,
</span><span class="cx">         @&quot;UseWebKitWebInspector&quot;: @YES,
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         @&quot;NSTestCorrectionDictionary&quot;: @{
</span><span class="cx">             @&quot;notationl&quot;: @&quot;notational&quot;,
</span><span class="cx">             @&quot;mesage&quot;: @&quot;message&quot;,
</span><span class="lines">@@ -702,9 +919,12 @@
</span><span class="cx">             @&quot;wellcome&quot;: @&quot;welcome&quot;,
</span><span class="cx">             @&quot;hellolfworld&quot;: @&quot;hello\nworld&quot;
</span><span class="cx">         },
</span><ins>+#endif
</ins><span class="cx">         @&quot;WebKitKerningAndLigaturesEnabledByDefault&quot;: @NO,
</span><span class="cx">         @&quot;AppleScrollBarVariant&quot;: @&quot;DoubleMax&quot;,
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         @&quot;NSScrollAnimationEnabled&quot;: @NO,
</span><ins>+#endif
</ins><span class="cx">         @&quot;NSOverlayScrollersEnabled&quot;: @NO,
</span><span class="cx">         @&quot;AppleShowScrollBars&quot;: @&quot;Always&quot;,
</span><span class="cx">         WebDatabaseDirectoryDefaultsKey: [libraryPath stringByAppendingPathComponent:@&quot;Databases&quot;],
</span><span class="lines">@@ -757,6 +977,9 @@
</span><span class="cx">     historyDelegate = [[HistoryDelegate alloc] init];
</span><span class="cx">     storageDelegate = [[StorageTrackerDelegate alloc] init];
</span><span class="cx">     defaultPolicyDelegate = [[DefaultPolicyDelegate alloc] init];
</span><ins>+#if PLATFORM(IOS)
+    scrollViewResizerDelegate = [[ScrollViewResizerDelegate alloc] init];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> // ObjC++ doens't seem to let me pass NSObject*&amp; sadly.
</span><span class="lines">@@ -775,6 +998,9 @@
</span><span class="cx">     releaseAndZero(&amp;uiDelegate);
</span><span class="cx">     releaseAndZero(&amp;policyDelegate);
</span><span class="cx">     releaseAndZero(&amp;storageDelegate);
</span><ins>+#if PLATFORM(IOS)
+    releaseAndZero(&amp;scrollViewResizerDelegate);
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void initializeGlobalsFromCommandLineOptions(int argc, const char *argv[])
</span><span class="lines">@@ -804,9 +1030,11 @@
</span><span class="cx"> 
</span><span class="cx"> static void addTestPluginsToPluginSearchPath(const char* executablePath)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSString *pwd = [[NSString stringWithUTF8String:executablePath] stringByDeletingLastPathComponent];
</span><span class="cx">     [WebPluginDatabase setAdditionalWebPlugInPaths:[NSArray arrayWithObject:pwd]];
</span><span class="cx">     [[WebPluginDatabase sharedDatabase] refresh];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static bool useLongRunningServerMode(int argc, const char *argv[])
</span><span class="lines">@@ -834,11 +1062,17 @@
</span><span class="cx"> 
</span><span class="cx"> static void prepareConsistentTestingEnvironment()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     poseAsClass(&quot;DumpRenderTreePasteboard&quot;, &quot;NSPasteboard&quot;);
</span><span class="cx">     poseAsClass(&quot;DumpRenderTreeEvent&quot;, &quot;NSEvent&quot;);
</span><ins>+#else
+    poseAsClass(&quot;DumpRenderTreeEvent&quot;, &quot;GSEvent&quot;);
+#endif
</ins><span class="cx"> 
</span><span class="cx">     [[WebPreferences standardPreferences] setAutosaves:NO];
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx">     // FIXME: We'd like to start with a clean state for every test, but this function can't be used more than once yet.
</span><span class="cx">     [WebPreferences _switchNetworkLoaderToNewTestingSession];
</span><span class="cx"> 
</span><span class="lines">@@ -851,12 +1085,15 @@
</span><span class="cx"> 
</span><span class="cx">     adjustFonts();
</span><span class="cx">     registerMockScrollbars();
</span><ins>+#else
+    activateFontsIOS();
+#endif
</ins><span class="cx">     
</span><span class="cx">     allocateGlobalControllers();
</span><span class="cx">     
</span><span class="cx">     makeLargeMallocFailSilently();
</span><span class="cx"> 
</span><del>-#if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
</del><ins>+#if !PLATFORM(IOS) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
</ins><span class="cx">     NSActivityOptions options = (NSActivityUserInitiatedAllowingIdleSystemSleep | NSActivityLatencyCritical) &amp; ~(NSActivitySuddenTerminationDisabled | NSActivityAutomaticTerminationDisabled);
</span><span class="cx">     static id assertion = [[[NSProcessInfo processInfo] beginActivityWithOptions:options reason:@&quot;DumpRenderTree should not be subject to process suppression&quot;] retain];
</span><span class="cx">     ASSERT_UNUSED(assertion, assertion);
</span><span class="lines">@@ -865,6 +1102,15 @@
</span><span class="cx"> 
</span><span class="cx"> void dumpRenderTree(int argc, const char *argv[])
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    int infd = open(&quot;/tmp/DumpRenderTree_IN&quot;, O_RDWR);
+    dup2(infd, STDIN_FILENO);
+    int outfd = open(&quot;/tmp/DumpRenderTree_OUT&quot;, O_RDWR);
+    dup2(outfd, STDOUT_FILENO);
+    int errfd = open(&quot;/tmp/DumpRenderTree_ERROR&quot;, O_RDWR | O_NONBLOCK);
+    dup2(errfd, STDERR_FILENO);
+#endif
+
</ins><span class="cx">     initializeGlobalsFromCommandLineOptions(argc, argv);
</span><span class="cx">     prepareConsistentTestingEnvironment();
</span><span class="cx">     addTestPluginsToPluginSearchPath(argv[0]);
</span><span class="lines">@@ -903,10 +1149,13 @@
</span><span class="cx">     if (threaded)
</span><span class="cx">         stopJavaScriptThreads();
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSWindow *window = [webView window];
</span><ins>+#endif
</ins><span class="cx">     [webView close];
</span><span class="cx">     mainFrame = nil;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     // Work around problem where registering drag types leaves an outstanding
</span><span class="cx">     // &quot;perform selector&quot; on the window, which retains the window. It's a bit
</span><span class="cx">     // inelegant and perhaps dangerous to just blow them all away, but in practice
</span><span class="lines">@@ -914,28 +1163,111 @@
</span><span class="cx">     [NSObject cancelPreviousPerformRequestsWithTarget:window];
</span><span class="cx">     
</span><span class="cx">     [window close]; // releases when closed
</span><ins>+#else
+    UIWindow *uiWindow = [gWebBrowserView window];
+    [uiWindow removeFromSuperview];
+    [uiWindow release];
+#endif
+
</ins><span class="cx">     [webView release];
</span><span class="cx">     
</span><span class="cx">     releaseGlobalControllers();
</span><span class="cx">     
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [DumpRenderTreePasteboard releaseLocalPasteboards];
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">     // FIXME: This should be moved onto TestRunner and made into a HashSet
</span><span class="cx">     if (disallowedURLs) {
</span><span class="cx">         CFRelease(disallowedURLs);
</span><span class="cx">         disallowedURLs = 0;
</span><span class="cx">     }
</span><ins>+
+#if PLATFORM(IOS)
+    close(infd);
+    close(outfd);
+    close(errfd);
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+static int _argc;
+static const char **_argv;
+
+@implementation DumpRenderTree
+
+- (void)_runDumpRenderTree
+{
+    dumpRenderTree(_argc, _argv);
+}
+
+- (void)applicationDidFinishLaunching:(NSNotification *)notification
+{
+    [self performSelectorOnMainThread:@selector(_runDumpRenderTree) withObject:nil waitUntilDone:NO];
+}
+
+- (void)_deferDumpToMainThread
+{
+    ASSERT(WebThreadIsCurrent());
+    
+    dispatch_async(dispatch_get_main_queue(), ^{
+        dump();
+    });
+}
+
+- (void)_webThreadEventLoopHasRun
+{
+    ASSERT(!WebThreadIsCurrent());
+    _hasFlushedWebThreadRunQueue = YES;
+}
+
+- (void)_webThreadInvoked
+{
+    ASSERT(WebThreadIsCurrent());
+    dispatch_async(dispatch_get_main_queue(), ^{
+        [self _webThreadEventLoopHasRun];
+    });
+}
+
+// The test can end in response to a delegate callback while there are still methods queued on the Web Thread.
+// If we do not ensure the Web Thread has been run, the callback can be done on a WebView that no longer exists.
+// To avoid this, _waitForWebThread dispatches a call to the WebThread event loop, actively processing the delegate
+// callbacks in the main thread while waiting for the call to be invoked on the Web Thread.
+- (void)_waitForWebThread
+{
+    ASSERT(!WebThreadIsCurrent());
+    _hasFlushedWebThreadRunQueue = NO;
+    WebThreadRun(^{
+        [self _webThreadInvoked];
+    });
+    while (!_hasFlushedWebThreadRunQueue) {
+        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]];
+        [pool release];
+    }
+}
+
+@end
+#endif
+
</ins><span class="cx"> int DumpRenderTreeMain(int argc, const char *argv[])
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    _UIApplicationLoadWebKit();
+#endif
</ins><span class="cx">     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
</span><span class="cx"> 
</span><span class="cx">     setDefaultsToConsistentValuesForTesting(); // Must be called before NSApplication initialization.
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [DumpRenderTreeApplication sharedApplication]; // Force AppKit to init itself
</span><span class="cx"> 
</span><span class="cx">     dumpRenderTree(argc, argv);
</span><ins>+#else
+    _argc = argc;
+    _argv = argv;
+    UIApplicationMain(argc, (char**)argv, @&quot;DumpRenderTree&quot;, nil);
+#endif
</ins><span class="cx">     [WebCoreStatistics garbageCollectJavaScriptObjects];
</span><span class="cx">     [WebCoreStatistics emptyCache]; // Otherwise SVGImages trigger false positives for Frame/Node counts
</span><span class="cx">     if (JSC::Options::logHeapStatisticsAtExit())
</span><span class="lines">@@ -1038,6 +1370,7 @@
</span><span class="cx"> 
</span><span class="cx"> static NSData *dumpFrameAsPDF(WebFrame *frame)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     if (!frame)
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><span class="lines">@@ -1067,6 +1400,9 @@
</span><span class="cx">     [[NSFileManager defaultManager] removeFileAtPath:path handler:nil];
</span><span class="cx"> 
</span><span class="cx">     return pdfData;
</span><ins>+#else
+    return nil;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> static void dumpBackForwardListForWebView(WebView *view)
</span><span class="lines">@@ -1133,7 +1469,12 @@
</span><span class="cx">     unsigned count = CFArrayGetCount(openWindows);
</span><span class="cx">     for (unsigned i = 0; i &lt; count; i++) {
</span><span class="cx">         NSWindow *window = (NSWindow *)CFArrayGetValueAtIndex(openWindows, i);
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         WebView *webView = [[[window contentView] subviews] objectAtIndex:0];
</span><ins>+#else
+        ASSERT([[window contentView] isKindOfClass:[WebView class]]);
+        WebView *webView = (WebView *)[window contentView];
+#endif
</ins><span class="cx">         dumpBackForwardListForWebView(webView);
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="lines">@@ -1162,6 +1503,15 @@
</span><span class="cx"> 
</span><span class="cx"> void dump()
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    // This can get called on the web thread if from a JavaScript notifyDone().
+    if (WebThreadIsCurrent()) {
+        [(DumpRenderTree *)UIApp _deferDumpToMainThread];
+        return;
+    }
+    WebThreadLock();
+#endif
+    
</ins><span class="cx">     invalidateAnyPreviousWaitToDumpWatchdog();
</span><span class="cx">     ASSERT(!gTestRunner-&gt;hasPendingWebNotificationClick());
</span><span class="cx"> 
</span><span class="lines">@@ -1264,25 +1614,43 @@
</span><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+static bool shouldMakeViewportFlexible(const char* pathOrURL)
+{
+    return strstr(pathOrURL, &quot;viewport/&quot;);
+}
+#endif
+
</ins><span class="cx"> static void resetWebViewToConsistentStateBeforeTesting()
</span><span class="cx"> {
</span><span class="cx">     WebView *webView = [mainFrame webView];
</span><ins>+#if PLATFORM(IOS)
+    adjustWebDocumentForStandardViewport(gWebBrowserView, gWebScrollView);
+    [webView _setAllowsMessaging:YES];
+    [mainFrame setMediaDataLoadsAutomatically:YES];
+#endif
</ins><span class="cx">     [webView setEditable:NO];
</span><span class="cx">     [(EditingDelegate *)[webView editingDelegate] setAcceptsEditing:YES];
</span><span class="cx">     [webView makeTextStandardSize:nil];
</span><span class="cx">     [webView resetPageZoom:nil];
</span><span class="cx">     [webView _scaleWebView:1.0 atOrigin:NSZeroPoint];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [webView _setCustomBackingScaleFactor:0];
</span><ins>+#endif
</ins><span class="cx">     [webView setTabKeyCyclesThroughElements:YES];
</span><span class="cx">     [webView setPolicyDelegate:defaultPolicyDelegate];
</span><span class="cx">     [policyDelegate setPermissive:NO];
</span><span class="cx">     [policyDelegate setControllerToNotifyDone:0];
</span><span class="cx">     [frameLoadDelegate resetToConsistentState];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [webView _setDashboardBehavior:WebDashboardBehaviorUseBackwardCompatibilityMode to:NO];
</span><ins>+#endif
</ins><span class="cx">     [webView _clearMainFrameName];
</span><span class="cx">     [[webView undoManager] removeAllActions];
</span><span class="cx">     [WebView _removeAllUserContentFromGroup:[webView groupName]];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[webView window] setAutodisplay:NO];
</span><ins>+#endif
</ins><span class="cx">     [webView setTracksRepaints:NO];
</span><span class="cx">     
</span><span class="cx">     resetWebPreferencesToConsistentValues();
</span><span class="lines">@@ -1297,6 +1665,7 @@
</span><span class="cx">         gTestRunner-&gt;removeChromeInputField();
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [webView setContinuousSpellCheckingEnabled:YES];
</span><span class="cx">     [webView setAutomaticQuoteSubstitutionEnabled:NO];
</span><span class="cx">     [webView setAutomaticLinkDetectionEnabled:NO];
</span><span class="lines">@@ -1306,18 +1675,46 @@
</span><span class="cx">     [webView setGrammarCheckingEnabled:YES];
</span><span class="cx"> 
</span><span class="cx">     [WebView _setUsesTestModeFocusRingColor:YES];
</span><ins>+#endif
</ins><span class="cx">     [WebView _resetOriginAccessWhitelists];
</span><span class="cx">     [WebView _setAllowsRoundingHacks:NO];
</span><span class="cx"> 
</span><span class="cx">     [[MockGeolocationProvider shared] stopTimer];
</span><span class="cx">     [[MockWebNotificationProvider shared] reset];
</span><span class="cx">     
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     // Clear the contents of the general pasteboard
</span><span class="cx">     [[NSPasteboard generalPasteboard] declareTypes:[NSArray arrayWithObject:NSStringPboardType] owner:nil];
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">     [mainFrame _clearOpener];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+// Work around &lt;rdar://problem/9909073&gt; WebKit's method of calling delegates on
+// the main thread is not thread safe. If the web thread is attempting to call
+// out to a delegate method on the main thread, we want to spin the main thread
+// run loop until the delegate method completes before taking the web thread
+// lock to prevent potentially re-entering WebCore.
+static void WebThreadLockAfterDelegateCallbacksHaveCompleted()
+{
+    dispatch_semaphore_t delegateSemaphore = dispatch_semaphore_create(0);
+    WebThreadRun(^{
+        dispatch_semaphore_signal(delegateSemaphore);
+    });
+
+    while (dispatch_semaphore_wait(delegateSemaphore, DISPATCH_TIME_NOW)) {
+        NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]];
+        [pool release];
+    }
+
+    WebThreadLock();
+    
+    dispatch_release(delegateSemaphore);
+}
+#endif
+
</ins><span class="cx"> static void runTest(const string&amp; inputLine)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(!inputLine.empty());
</span><span class="lines">@@ -1348,8 +1745,10 @@
</span><span class="cx"> 
</span><span class="cx">     gTestRunner = TestRunner::create(testURL, command.expectedPixelHash);
</span><span class="cx">     topLoadingFrame = nil;
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     ASSERT(!draggingInfo); // the previous test should have called eventSender.mouseUp to drop!
</span><span class="cx">     releaseAndZero(&amp;draggingInfo);
</span><ins>+#endif
</ins><span class="cx">     done = NO;
</span><span class="cx"> 
</span><span class="cx">     sizeWebViewForCurrentTest();
</span><span class="lines">@@ -1375,6 +1774,11 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+    if (shouldMakeViewportFlexible(pathOrURL.c_str()))
+        adjustWebDocumentForFlexibleViewport(gWebBrowserView, gWebScrollView);
+#endif
+
</ins><span class="cx">     if ([WebHistory optionalSharedHistory])
</span><span class="cx">         [WebHistory setOptionalSharedHistory:nil];
</span><span class="cx">     lastMousePosition = NSZeroPoint;
</span><span class="lines">@@ -1400,6 +1804,10 @@
</span><span class="cx">         [pool release];
</span><span class="cx">     }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+    [(DumpRenderTree *)UIApp _waitForWebThread];
+    WebThreadLockAfterDelegateCallbacksHaveCompleted();
+#endif
</ins><span class="cx">     pool = [[NSAutoreleasePool alloc] init];
</span><span class="cx">     [EventSendingController clearSavedEvents];
</span><span class="cx">     [[mainFrame webView] setSelectedDOMRange:nil affinity:NSSelectionAffinityDownstream];
</span><span class="lines">@@ -1417,7 +1825,12 @@
</span><span class="cx">             if (window == [[mainFrame webView] window])
</span><span class="cx">                 continue;
</span><span class="cx">             
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">             WebView *webView = [[[window contentView] subviews] objectAtIndex:0];
</span><ins>+#else
+            ASSERT([[window contentView] isKindOfClass:[WebView class]]);
+            WebView *webView = (WebView *)[window contentView];
+#endif
</ins><span class="cx"> 
</span><span class="cx">             [webView close];
</span><span class="cx">             [window close];
</span><span class="lines">@@ -1453,13 +1866,21 @@
</span><span class="cx"> 
</span><span class="cx"> void displayWebView()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     WebView *webView = [mainFrame webView];
</span><span class="cx">     [webView display];
</span><span class="cx">     
</span><span class="cx">     [webView setTracksRepaints:YES];
</span><span class="cx">     [webView resetTrackedRepaints];
</span><ins>+#else
+    // FIXME: &lt;rdar://problem/5106253&gt; DumpRenderTree: fix DRT and ImageDiff to re-enable pixel tests
+    [gDrtWindow layoutTilesNow];
+    [gDrtWindow setNeedsDisplayInRect:[gDrtWindow frame]];
+    [CATransaction flush];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> @implementation DumpRenderTreeEvent
</span><span class="cx"> 
</span><span class="cx"> + (NSPoint)mouseLocation
</span><span class="lines">@@ -1478,3 +1899,4 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeDraggingInfoh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,8 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &lt;Cocoa/Cocoa.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface DumpRenderTreeDraggingInfo : NSObject &lt;NSDraggingInfo&gt; {
</span><span class="lines">@@ -51,3 +53,4 @@
</span><span class="cx"> - (NSArray *)namesOfPromisedFilesDroppedAtDestination:(NSURL *)dropDestination;
</span><span class="cx"> @end
</span><span class="cx"> 
</span><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeDraggingInfomm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,8 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;DumpRenderTreeDraggingInfo.h&quot;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &quot;DumpRenderTree.h&quot;
</span><span class="cx"> #import &quot;EventSendingController.h&quot;
</span><span class="cx"> #import &lt;WebKit/WebKit.h&gt;
</span><span class="lines">@@ -142,3 +144,4 @@
</span><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><ins>+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeMach"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeMac.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -30,7 +30,11 @@
</span><span class="cx"> #define DumpRenderTreeMac_h
</span><span class="cx"> 
</span><span class="cx"> #include &lt;CoreFoundation/CoreFoundation.h&gt;
</span><ins>+#if PLATFORM(IOS) &amp;&amp; defined(__OBJC__)
+#import &lt;UIKit/UIKit.h&gt;
+#endif
</ins><span class="cx"> 
</span><ins>+
</ins><span class="cx"> #ifdef __OBJC__
</span><span class="cx"> @class DefaultPolicyDelegate;
</span><span class="cx"> @class DumpRenderTreeDraggingInfo;
</span><span class="lines">@@ -69,6 +73,19 @@
</span><span class="cx"> 
</span><span class="cx"> unsigned worldIDForWorld(WebScriptWorld *);
</span><span class="cx"> 
</span><ins>+
+#if PLATFORM(IOS) &amp;&amp; defined(__OBJC__)
+@interface DumpRenderTree : UIApplication {
+    BOOL _hasFlushedWebThreadRunQueue;
+}
+
+- (void)_waitForWebThread;
+@end
+
+@class UIWebBrowserView;
+extern UIWebBrowserView *gWebBrowserView;
+#endif
+
</ins><span class="cx"> int DumpRenderTreeMain(int, const char *[]);
</span><span class="cx"> 
</span><span class="cx"> #endif // DumpRenderTreeMac_h 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreePasteboardh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,8 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &lt;AppKit/AppKit.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebTypesInternal.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -36,3 +38,4 @@
</span><span class="cx"> + (void)releaseLocalPasteboards;
</span><span class="cx"> @end
</span><span class="cx"> 
</span><ins>+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreePasteboardm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreePasteboard.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,6 +32,8 @@
</span><span class="cx"> #import &quot;DumpRenderTreeMac.h&quot;
</span><span class="cx"> #import &quot;DumpRenderTreePasteboard.h&quot;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &lt;WebKit/WebTypesInternal.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface LocalPasteboard : NSPasteboard
</span><span class="lines">@@ -212,3 +214,5 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+
+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeWindowh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,7 +28,13 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> #import &lt;AppKit/AppKit.h&gt;
</span><ins>+#else
+#import &lt;UIKit/UIKit.h&gt;
+#import &lt;UIKit/UIWebBrowserView.h&gt;
+#import &lt;WebKit/WAKWindow.h&gt;
+#endif
</ins><span class="cx"> 
</span><span class="cx"> @class WebView;
</span><span class="cx"> 
</span><span class="lines">@@ -36,6 +42,11 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+@property (nonatomic, retain) UIWindow *uiWindow;
+@property (nonatomic, retain) UIWebBrowserView *browserView;
+#endif
+
</ins><span class="cx"> // I'm not sure why we can't just use [NSApp windows]
</span><span class="cx"> + (NSArray *)openWindows;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacDumpRenderTreeWindowmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/DumpRenderTreeWindow.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,8 +36,11 @@
</span><span class="cx"> // FIXME: This file is ObjC++ only because of this include. :(
</span><span class="cx"> #import &quot;TestRunner.h&quot;
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+#import &lt;QuartzCore/CALayer.h&gt;
+#endif
+
</ins><span class="cx"> CFMutableArrayRef openWindowsRef = 0;
</span><span class="cx"> 
</span><span class="cx"> static CFArrayCallBacks NonRetainingArrayCallbacks = {
</span><span class="lines">@@ -50,21 +53,47 @@
</span><span class="cx"> 
</span><span class="cx"> @implementation DumpRenderTreeWindow
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+@synthesize uiWindow = _uiWindow;
+@synthesize browserView = _browserView;
+#endif
+
</ins><span class="cx"> + (NSArray *)openWindows
</span><span class="cx"> {
</span><span class="cx">     return [[(NSArray *)openWindowsRef copy] autorelease];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
</del><ins>+- (void)_addToOpenWindows
</ins><span class="cx"> {
</span><span class="cx">     if (!openWindowsRef)
</span><span class="cx">         openWindowsRef = CFArrayCreateMutable(NULL, 0, &amp;NonRetainingArrayCallbacks);
</span><span class="cx"> 
</span><span class="cx">     CFArrayAppendValue(openWindowsRef, self);
</span><del>-            
</del><ins>+}
+
+#if !PLATFORM(IOS)
+- (id)initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)styleMask backing:(NSBackingStoreType)bufferingType defer:(BOOL)deferCreation
+{
+    [self _addToOpenWindows];
</ins><span class="cx">     return [super initWithContentRect:contentRect styleMask:styleMask backing:bufferingType defer:deferCreation];
</span><span class="cx"> }
</span><ins>+#else
+- (id)initWithLayer:(CALayer *)layer
+{
+    if ((self = [super initWithLayer:layer]))
+        [self _addToOpenWindows];
</ins><span class="cx"> 
</span><ins>+    return self;
+}
+
+- (void)dealloc
+{
+    ASSERT(!_browserView);
+    ASSERT(!_uiWindow);
+    [super dealloc];
+}
+#endif
+
</ins><span class="cx"> - (void)close
</span><span class="cx"> {
</span><span class="cx">     [[NSNotificationCenter defaultCenter] removeObserver:self];
</span><span class="lines">@@ -75,6 +104,18 @@
</span><span class="cx">         CFArrayRemoveValueAtIndex(openWindowsRef, i);
</span><span class="cx"> 
</span><span class="cx">     [super close];
</span><ins>+
+#if PLATFORM(IOS)
+    // By default, NSWindows are released when closed. On iOS we do
+    // it manually, and release the UIWindow and UIWebBrowserView.
+    if (_uiWindow) {
+        [_uiWindow release];
+        _uiWindow = nil;
+        [_browserView release];
+        _browserView = nil;
+        [self release];
+    }
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)isKeyWindow
</span><span class="lines">@@ -87,14 +128,17 @@
</span><span class="cx">     return [self isKeyWindow];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> - (void)keyDown:(NSEvent *)event
</span><span class="cx"> {
</span><span class="cx">     // Do nothing, avoiding the beep we'd otherwise get from NSResponder,
</span><span class="cx">     // once we get to the end of the responder chain.
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> - (WebView *)webView
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSView *firstView = nil;
</span><span class="cx">     if ([[[self contentView] subviews] count] &gt; 0) {
</span><span class="cx">         firstView = [[[self contentView] subviews] objectAtIndex:0];
</span><span class="lines">@@ -102,6 +146,10 @@
</span><span class="cx">             return static_cast&lt;WebView *&gt;(firstView);
</span><span class="cx">     }
</span><span class="cx">     return nil;
</span><ins>+#else
+    ASSERT([[self contentView] isKindOfClass:[WebView class]]);
+    return (WebView *)[self contentView];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)startListeningForAcceleratedCompositingChanges
</span><span class="lines">@@ -113,11 +161,13 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)webViewStartedAcceleratedCompositing:(NSNotification *)notification
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     // If the WebView has gone into compositing mode, turn on window autodisplay. This is necessary for CA
</span><span class="cx">     // to update layers and start animations.
</span><span class="cx">     // We only ever turn autodisplay on here, because we turn it off before every test.
</span><span class="cx">     if ([[self webView] _isUsingAcceleratedCompositing])
</span><span class="cx">         [self setAutodisplay:YES];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacEditingDelegateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/EditingDelegate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/EditingDelegate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/EditingDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx">  
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> @interface EditingDelegate : NSObject
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacEventSendingControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -25,8 +25,8 @@
</span><span class="cx">  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><del>- 
-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+
+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> #import &lt;WebKit/WebKit.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface EventSendingController : NSObject &lt;DOMEventListener&gt;
</span><span class="lines">@@ -37,6 +37,11 @@
</span><span class="cx">     NSTimeInterval lastClick;
</span><span class="cx">     int eventNumber;
</span><span class="cx">     double timeOffset;
</span><ins>+#if PLATFORM(IOS)
+    NSMutableArray* touches;
+    unsigned currentTouchIdentifier;
+    unsigned nextEventFlags;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> + (void)saveEvent:(NSInvocation *)event;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacEventSendingControllermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/EventSendingController.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -36,16 +36,29 @@
</span><span class="cx"> #import &quot;DumpRenderTreeDraggingInfo.h&quot;
</span><span class="cx"> #import &quot;DumpRenderTreeFileDraggingSource.h&quot;
</span><span class="cx"> 
</span><del>-#import &lt;Carbon/Carbon.h&gt;                           // for GetCurrentEventTime()
</del><span class="cx"> #import &lt;WebKit/DOMPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebKit.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+#import &lt;Carbon/Carbon.h&gt;                           // for GetCurrentEventTime()
+#endif
+
+#if PLATFORM(IOS)
+#import &lt;GraphicsServices/GraphicsServices.h&gt;       // for GSCurrentEventTimestamp()
+#import &lt;WebKit/KeyEventCodesIOS.h&gt;
+#import &lt;WebKit/WAKWindow.h&gt;
+#import &lt;WebKit/WebEvent.h&gt;
+#import &lt;UIKit/UIKit.h&gt;
+#endif
+
+#if !PLATFORM(IOS)
</ins><span class="cx"> extern &quot;C&quot; void _NSNewKillRingSequence();
</span><span class="cx"> 
</span><span class="cx"> @interface NSApplication (Details)
</span><span class="cx"> - (void)_setCurrentEvent:(NSEvent *)event;
</span><span class="cx"> @end
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> enum MouseAction {
</span><span class="cx">     MouseDown,
</span><span class="lines">@@ -75,6 +88,46 @@
</span><span class="cx"> NSMutableArray *savedMouseEvents; // mouse events sent between mouseDown and mouseUp are stored here, and then executed at once.
</span><span class="cx"> BOOL replayingSavedEvents;
</span><span class="cx"> 
</span><ins>+
+#if PLATFORM(IOS)
+@interface SyntheticTouch : NSObject {
+@public
+    CGPoint _location;
+    UITouchPhase _phase;
+    unsigned _identifier;
+};
+
+@property (nonatomic) CGPoint location;
+@property (nonatomic) UITouchPhase phase;
+@property (nonatomic) unsigned identifier;
+
++ (id)touchWithLocation:(CGPoint)location phase:(UITouchPhase)phase identifier:(unsigned)identifier;
+- (id)initWithLocation:(CGPoint)location phase:(UITouchPhase)phase identifier:(unsigned)identifier;
+@end
+
+@implementation SyntheticTouch
+
+@synthesize location = _location;
+@synthesize phase = _phase;
+@synthesize identifier = _identifier;
+
++ (id)touchWithLocation:(CGPoint)location phase:(UITouchPhase)phase identifier:(unsigned)identifier
+{
+    return [[[SyntheticTouch alloc] initWithLocation:location phase:phase identifier:identifier] autorelease];
+}
+
+- (id)initWithLocation:(CGPoint)location phase:(UITouchPhase)phase identifier:(unsigned)identifier
+{
+    if ((self = [super init])) {
+        _location = location;
+        _phase = phase;
+        _identifier = identifier;
+    }
+    return self;
+}
+@end // SyntheticTouch
+#endif
+
</ins><span class="cx"> @implementation EventSendingController
</span><span class="cx"> 
</span><span class="cx"> + (void)initialize
</span><span class="lines">@@ -149,7 +202,21 @@
</span><span class="cx">             || aSelector == @selector(zoomPageOut)
</span><span class="cx">             || aSelector == @selector(scalePageBy:atX:andY:)
</span><span class="cx">             || aSelector == @selector(mouseScrollByX:andY:)
</span><del>-            || aSelector == @selector(continuousMouseScrollByX:andY:))
</del><ins>+            || aSelector == @selector(continuousMouseScrollByX:andY:)
+#if PLATFORM(IOS)
+            || aSelector == @selector(addTouchAtX:y:)
+            || aSelector == @selector(updateTouchAtIndex:x:y:)
+            || aSelector == @selector(cancelTouchAtIndex:)
+            || aSelector == @selector(clearTouchPoints)
+            || aSelector == @selector(markAllTouchesAsStationary)
+            || aSelector == @selector(releaseTouchAtIndex:)
+            || aSelector == @selector(setTouchModifier:value:)
+            || aSelector == @selector(touchStart)
+            || aSelector == @selector(touchMove)
+            || aSelector == @selector(touchEnd)
+            || aSelector == @selector(touchCancel)
+#endif            
+            )
</ins><span class="cx">         return NO;
</span><span class="cx">     return YES;
</span><span class="cx"> }
</span><span class="lines">@@ -191,6 +258,30 @@
</span><span class="cx">         return @&quot;continuousMouseScrollBy&quot;;
</span><span class="cx">     if (aSelector == @selector(scalePageBy:atX:andY:))
</span><span class="cx">         return @&quot;scalePageBy&quot;;
</span><ins>+#if PLATFORM(IOS)
+    if (aSelector == @selector(addTouchAtX:y:))
+        return @&quot;addTouchPoint&quot;;
+    if (aSelector == @selector(updateTouchAtIndex:x:y:))
+        return @&quot;updateTouchPoint&quot;;
+    if (aSelector == @selector(cancelTouchAtIndex:))
+        return @&quot;cancelTouchPoint&quot;;
+    if (aSelector == @selector(clearTouchPoints))
+        return @&quot;clearTouchPoints&quot;;
+    if (aSelector == @selector(markAllTouchesAsStationary))
+        return @&quot;markAllTouchesAsStationary&quot;;
+    if (aSelector == @selector(releaseTouchAtIndex:))
+        return @&quot;releaseTouchPoint&quot;;
+    if (aSelector == @selector(setTouchModifier:value:))
+        return @&quot;setTouchModifier&quot;;
+    if (aSelector == @selector(touchStart))
+        return @&quot;touchStart&quot;;
+    if (aSelector == @selector(touchMove))
+        return @&quot;touchMove&quot;;
+    if (aSelector == @selector(touchEnd))
+        return @&quot;touchEnd&quot;;
+    if (aSelector == @selector(touchCancel))
+        return @&quot;touchCancel&quot;;
+#endif
</ins><span class="cx">     return nil;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -204,12 +295,19 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    [touches release];
+#endif
</ins><span class="cx">     [super dealloc];
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (double)currentEventTime
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     return GetCurrentEventTime() + timeOffset;
</span><ins>+#else
+    return GSCurrentEventTimestamp() + timeOffset;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)leapForward:(int)milliseconds
</span><span class="lines">@@ -230,9 +328,12 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)clearKillRing
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     _NSNewKillRingSequence();
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> static NSEventType eventTypeForMouseButtonAndAction(int button, MouseAction action)
</span><span class="cx"> {
</span><span class="cx">     switch (button) {
</span><span class="lines">@@ -298,6 +399,7 @@
</span><span class="cx">     dragMode = NO; // dragMode saves events and then replays them later.  We don't need/want that.
</span><span class="cx">     leftMouseButtonDown = YES; // Make the rest of eventSender think a drag is in progress
</span><span class="cx"> }
</span><ins>+#endif // !PLATFORM(IOS)
</ins><span class="cx"> 
</span><span class="cx"> - (void)updateClickCountForButton:(int)buttonNumber
</span><span class="cx"> {
</span><span class="lines">@@ -312,15 +414,27 @@
</span><span class="cx"> 
</span><span class="cx"> static int modifierFlags(const NSString* modifierName)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
+    const int controlKeyMask = NSControlKeyMask;
+    const int shiftKeyMask = NSShiftKeyMask;
+    const int alternateKeyMask = NSAlternateKeyMask;
+    const int commandKeyMask = NSCommandKeyMask;
+#else
+    const int controlKeyMask = WebEventFlagMaskControl;
+    const int shiftKeyMask = WebEventFlagMaskShift;
+    const int alternateKeyMask = WebEventFlagMaskAlternate;
+    const int commandKeyMask = WebEventFlagMaskCommand;
+#endif
+
</ins><span class="cx">     int flags = 0;
</span><span class="cx">     if ([modifierName isEqual:@&quot;ctrlKey&quot;])
</span><del>-        flags |= NSControlKeyMask;
</del><ins>+        flags |= controlKeyMask;
</ins><span class="cx">     else if ([modifierName isEqual:@&quot;shiftKey&quot;] || [modifierName isEqual:@&quot;rangeSelectionKey&quot;])
</span><del>-        flags |= NSShiftKeyMask;
</del><ins>+        flags |= shiftKeyMask;
</ins><span class="cx">     else if ([modifierName isEqual:@&quot;altKey&quot;])
</span><del>-        flags |= NSAlternateKeyMask;
</del><ins>+        flags |= alternateKeyMask;
</ins><span class="cx">     else if ([modifierName isEqual:@&quot;metaKey&quot;] || [modifierName isEqual:@&quot;addSelectionKey&quot;])
</span><del>-        flags |= NSCommandKeyMask;
</del><ins>+        flags |= commandKeyMask;
</ins><span class="cx"> 
</span><span class="cx">     return flags;
</span><span class="cx"> }
</span><span class="lines">@@ -344,6 +458,7 @@
</span><span class="cx">     [[[mainFrame frameView] documentView] layout];
</span><span class="cx">     [self updateClickCountForButton:buttonNumber];
</span><span class="cx">     
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSEventType eventType = eventTypeForMouseButtonAndAction(buttonNumber, MouseDown);
</span><span class="cx">     NSEvent *event = [NSEvent mouseEventWithType:eventType
</span><span class="cx">                                         location:lastMousePosition 
</span><span class="lines">@@ -354,15 +469,28 @@
</span><span class="cx">                                      eventNumber:++eventNumber 
</span><span class="cx">                                       clickCount:clickCount 
</span><span class="cx">                                         pressure:0.0];
</span><ins>+#else
+    WebEvent *event = [[WebEvent alloc] initWithMouseEventType:WebEventMouseDown
+                                                     timeStamp:[self currentEventTime]
+                                                      location:lastMousePosition];
+#endif
</ins><span class="cx"> 
</span><span class="cx">     NSView *subView = [[mainFrame webView] hitTest:[event locationInWindow]];
</span><span class="cx">     if (subView) {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         [NSApp _setCurrentEvent:event];
</span><ins>+#endif
</ins><span class="cx">         [subView mouseDown:event];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         [NSApp _setCurrentEvent:nil];
</span><ins>+#endif
</ins><span class="cx">         if (buttonNumber == LeftMouseButton)
</span><span class="cx">             leftMouseButtonDown = YES;
</span><span class="cx">     }
</span><ins>+
+#if PLATFORM(IOS)
+    [event release];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)mouseDown:(int)buttonNumber
</span><span class="lines">@@ -392,7 +520,11 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)scalePageBy:(float)scale atX:(float)x andY:(float)y
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
+    // -[WebView _scaleWebView:] is Mac-specific API, and calls functions that
+    // assert to not be used in iOS.
</ins><span class="cx">     [[mainFrame webView] _scaleWebView:scale atOrigin:NSMakePoint(x, y)];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)mouseUp:(int)buttonNumber withModifiers:(WebScriptObject*)modifiers
</span><span class="lines">@@ -411,6 +543,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     [[[mainFrame frameView] documentView] layout];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSEventType eventType = eventTypeForMouseButtonAndAction(buttonNumber, MouseUp);
</span><span class="cx">     NSEvent *event = [NSEvent mouseEventWithType:eventType
</span><span class="cx">                                         location:lastMousePosition 
</span><span class="lines">@@ -421,6 +554,11 @@
</span><span class="cx">                                      eventNumber:++eventNumber 
</span><span class="cx">                                       clickCount:clickCount 
</span><span class="cx">                                         pressure:0.0];
</span><ins>+#else
+    WebEvent *event = [[WebEvent alloc] initWithMouseEventType:WebEventMouseUp
+                                                     timeStamp:[self currentEventTime]
+                                                      location:lastMousePosition];
+#endif
</ins><span class="cx"> 
</span><span class="cx">     NSView *targetView = [[mainFrame webView] hitTest:[event locationInWindow]];
</span><span class="cx">     // FIXME: Silly hack to teach DRT to respect capturing mouse events outside the WebView.
</span><span class="lines">@@ -428,13 +566,18 @@
</span><span class="cx">     // instead of rolling our own algorithm for selecting an event target.
</span><span class="cx">     targetView = targetView ? targetView : [[mainFrame frameView] documentView];
</span><span class="cx">     assert(targetView);
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:event];
</span><ins>+#endif
</ins><span class="cx">     [targetView mouseUp:event];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:nil];
</span><ins>+#endif
</ins><span class="cx">     if (buttonNumber == LeftMouseButton)
</span><span class="cx">         leftMouseButtonDown = NO;
</span><span class="cx">     lastClick = [event timestamp];
</span><span class="cx">     lastClickPosition = lastMousePosition;
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     if (draggingInfo) {
</span><span class="cx">         WebView *webView = [mainFrame webView];
</span><span class="cx">         
</span><span class="lines">@@ -450,6 +593,11 @@
</span><span class="cx">         [draggingInfo release];
</span><span class="cx">         draggingInfo = nil;
</span><span class="cx">     }
</span><ins>+#endif
+
+#if PLATFORM(IOS)
+    [event release];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)mouseUp:(int)buttonNumber
</span><span class="lines">@@ -471,6 +619,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     NSView *view = [mainFrame webView];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     lastMousePosition = [view convertPoint:NSMakePoint(x, [view frame].size.height - y) toView:nil];
</span><span class="cx">     NSEvent *event = [NSEvent mouseEventWithType:(leftMouseButtonDown ? NSLeftMouseDragged : NSMouseMoved)
</span><span class="cx">                                         location:lastMousePosition 
</span><span class="lines">@@ -481,11 +630,20 @@
</span><span class="cx">                                      eventNumber:++eventNumber 
</span><span class="cx">                                       clickCount:(leftMouseButtonDown ? clickCount : 0) 
</span><span class="cx">                                         pressure:0.0];
</span><ins>+#else
+    lastMousePosition = [view convertPoint:NSMakePoint(x, y) toView:nil];
+    WebEvent *event = [[WebEvent alloc] initWithMouseEventType:WebEventMouseMoved
+                                                     timeStamp:[self currentEventTime]
+                                                      location:lastMousePosition];
+#endif // !PLATFORM(IOS)
</ins><span class="cx"> 
</span><span class="cx">     NSView *subView = [[mainFrame webView] hitTest:[event locationInWindow]];
</span><span class="cx">     if (subView) {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         [NSApp _setCurrentEvent:event];
</span><ins>+#endif
</ins><span class="cx">         if (leftMouseButtonDown) {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">             if (draggingInfo) {
</span><span class="cx">                 // Per NSDragging.h: draggingSources may not implement draggedImage:movedTo:
</span><span class="cx">                 if ([[draggingInfo draggingSource] respondsToSelector:@selector(draggedImage:movedTo:)])
</span><span class="lines">@@ -493,14 +651,22 @@
</span><span class="cx">                 [[mainFrame webView] draggingUpdated:draggingInfo];
</span><span class="cx">             } else
</span><span class="cx">                 [subView mouseDragged:event];
</span><ins>+#endif
</ins><span class="cx">         } else
</span><span class="cx">             [subView mouseMoved:event];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         [NSApp _setCurrentEvent:nil];
</span><ins>+#endif
</ins><span class="cx">     }
</span><ins>+
+#if PLATFORM(IOS)
+    [event release];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)mouseScrollByX:(int)x andY:(int)y continuously:(BOOL)c
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     CGScrollEventUnit unit = c?kCGScrollEventUnitPixel:kCGScrollEventUnitLine;
</span><span class="cx">     CGEventRef cgScrollEvent = CGEventCreateScrollWheelEvent(NULL, unit, 2, y, x);
</span><span class="cx">     
</span><span class="lines">@@ -520,6 +686,7 @@
</span><span class="cx">         [subView scrollWheel:scrollEvent];
</span><span class="cx">         [NSApp _setCurrentEvent:nil];
</span><span class="cx">     }
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)continuousMouseScrollByX:(int)x andY:(int)y
</span><span class="lines">@@ -534,6 +701,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSArray *)contextClick
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[[mainFrame frameView] documentView] layout];
</span><span class="cx">     [self updateClickCountForButton:RightMouseButton];
</span><span class="cx"> 
</span><span class="lines">@@ -568,6 +736,9 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     return menuItemStrings;
</span><ins>+#else
+    return nil;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)scheduleAsynchronousClick
</span><span class="lines">@@ -767,7 +938,11 @@
</span><span class="cx">     int modifierFlags = 0;
</span><span class="cx"> 
</span><span class="cx">     if ([character length] == 1 &amp;&amp; [character characterAtIndex:0] &gt;= 'A' &amp;&amp; [character characterAtIndex:0] &lt;= 'Z') {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         modifierFlags |= NSShiftKeyMask;
</span><ins>+#else
+        modifierFlags |= WebEventFlagMaskAlphaShift;
+#endif
</ins><span class="cx">         charactersIgnoringModifiers = [character lowercaseString];
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -778,6 +953,7 @@
</span><span class="cx"> 
</span><span class="cx">     [[[mainFrame frameView] documentView] layout];
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSEvent *event = [NSEvent keyEventWithType:NSKeyDown
</span><span class="cx">                         location:NSMakePoint(5, 5)
</span><span class="cx">                         modifierFlags:modifierFlags
</span><span class="lines">@@ -788,11 +964,28 @@
</span><span class="cx">                         charactersIgnoringModifiers:charactersIgnoringModifiers
</span><span class="cx">                         isARepeat:NO
</span><span class="cx">                         keyCode:keyCode];
</span><ins>+#else
+    WebEvent *event = [[WebEvent alloc] initWithKeyEventType:WebEventKeyDown
+                        timeStamp:[self currentEventTime]
+                        characters:eventCharacter
+                        charactersIgnoringModifiers:charactersIgnoringModifiers
+                        modifiers:(WebEventFlags)modifierFlags
+                        isRepeating:NO
+                        isPopupVariant:NO
+                        keyCode:[character characterAtIndex:0]
+                        isTabKey:([character characterAtIndex:0] == '\t')
+                        characterSet:WebEventCharacterSetASCII];
+#endif
</ins><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:event];
</span><ins>+#endif
</ins><span class="cx">     [[[[mainFrame webView] window] firstResponder] keyDown:event];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:nil];
</span><ins>+#endif
</ins><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     event = [NSEvent keyEventWithType:NSKeyUp
</span><span class="cx">                         location:NSMakePoint(5, 5)
</span><span class="cx">                         modifierFlags:modifierFlags
</span><span class="lines">@@ -803,10 +996,31 @@
</span><span class="cx">                         charactersIgnoringModifiers:charactersIgnoringModifiers
</span><span class="cx">                         isARepeat:NO
</span><span class="cx">                         keyCode:keyCode];
</span><ins>+#else
+    [event release];
+    event = [[WebEvent alloc] initWithKeyEventType:WebEventKeyUp
+                        timeStamp:[self currentEventTime]
+                        characters:eventCharacter
+                        charactersIgnoringModifiers:charactersIgnoringModifiers
+                        modifiers:(WebEventFlags)modifierFlags
+                        isRepeating:NO
+                        isPopupVariant:NO
+                        keyCode:[character characterAtIndex:0]
+                        isTabKey:([character characterAtIndex:0] == '\t')
+                        characterSet:WebEventCharacterSetASCII];
+#endif
</ins><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:event];
</span><ins>+#endif
</ins><span class="cx">     [[[[mainFrame webView] window] firstResponder] keyUp:event];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp _setCurrentEvent:nil];
</span><ins>+#endif
+
+#if PLATFORM(IOS)
+    [event release];
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)keyDownWrapper:(NSString *)character withModifiers:(WebScriptObject *)modifiers withLocation:(unsigned long)location
</span><span class="lines">@@ -978,4 +1192,159 @@
</span><span class="cx">     
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+- (void)addTouchAtX:(int)x y:(int)y
+{
+    if (!touches)
+        touches = [[NSMutableArray alloc] init];
+
+    [touches addObject:[SyntheticTouch touchWithLocation:CGPointMake(x, y) phase:UITouchPhaseBegan identifier:currentTouchIdentifier++]];
+}
+
+- (void)cancelTouchAtIndex:(unsigned)index
+{
+    if (index &lt; [touches count])
+        [[touches objectAtIndex:index] setPhase:UITouchPhaseCancelled];
+}
+
+- (void)clearTouchPoints
+{
+    [touches removeAllObjects];
+}
+
+- (void)releaseTouchAtIndex:(unsigned)index
+{
+    if (index &lt; [touches count]) {
+        SyntheticTouch *touch = [touches objectAtIndex:index];
+        [touch setPhase:UITouchPhaseEnded];
+    }
+}
+
+- (void)markAllTouchesAsStationary
+{
+    for (SyntheticTouch *touch in touches)
+        [touch setPhase:UITouchPhaseStationary];
+}
+
+- (void)updateTouchAtIndex:(unsigned)index x:(int)x y:(int)y
+{
+    if (index &lt; [touches count]) {
+        SyntheticTouch *touch = [touches objectAtIndex:index];
+        [touch setPhase:UITouchPhaseMoved];
+        [touch setLocation:CGPointMake(x, y)];
+    }
+}
+
+- (void)setTouchModifier:(NSString*)modifierName value:(BOOL)flag
+{
+    unsigned modifier = 0;
+    
+    if ([modifierName isEqualToString:@&quot;alt&quot;])
+        modifier = WebEventFlagMaskAlternate;
+    else if ([modifierName isEqualToString:@&quot;shift&quot;])
+        modifier = WebEventFlagMaskShift;
+    else if ([modifierName isEqualToString:@&quot;meta&quot;])
+        modifier = WebEventFlagMaskCommand;
+    else if ([modifierName isEqualToString:@&quot;ctrl&quot;])
+        modifier = WebEventFlagMaskControl;
+
+    if (!modifier)
+        return;
+
+    if (flag)
+        nextEventFlags |= modifier;
+    else
+        nextEventFlags &amp;= ~modifier;
+}
+
+- (void)sentTouchEventOfType:(WebEventType)type
+{
+    NSMutableArray *touchLocations = [[NSMutableArray alloc] initWithCapacity:[touches count]];
+    NSMutableArray *touchIdentifiers = [[NSMutableArray alloc] initWithCapacity:[touches count]];
+    NSMutableArray *touchPhases = [[NSMutableArray alloc] initWithCapacity:[touches count]];
+    
+    CGPoint centroid = CGPointZero;
+    NSUInteger touchesDownCount = 0;
+
+    for (SyntheticTouch *currTouch in touches) {
+        [touchLocations addObject:[NSValue valueWithCGPoint:currTouch.location]];
+        [touchIdentifiers addObject:[NSNumber numberWithUnsignedInt:currTouch.identifier]];
+        [touchPhases addObject:[NSNumber numberWithUnsignedInt:currTouch.phase]];
+
+        if ((currTouch.phase == UITouchPhaseEnded) || (currTouch.phase == UITouchPhaseCancelled))
+            continue;
+        
+        centroid.x += currTouch.location.x;
+        centroid.y += currTouch.location.y;
+
+        touchesDownCount++;
+    }
+
+    if (touchesDownCount &gt; 0)
+        centroid = CGPointMake(centroid.x / touchesDownCount, centroid.y / touchesDownCount);
+    else
+        centroid = CGPointZero;
+
+    WebEvent *event = [[WebEvent alloc] initWithTouchEventType:type
+                                        timeStamp:[self currentEventTime]
+                                        location:centroid
+                                        modifiers:(WebEventFlags)nextEventFlags
+                                        touchCount:[touches count]
+                                        touchLocations:touchLocations
+                                        touchIdentifiers:touchIdentifiers
+                                        touchPhases:touchPhases
+                                        isGesture:(touchesDownCount &gt; 1)
+                                        gestureScale:1
+                                        gestureRotation:0];
+    // Ensure that layout is up-to-date so that hit-testing through WAKViews works correctly.
+    [mainFrame updateLayout];
+    [[[mainFrame webView] window] sendEventSynchronously:event];
+    [event release];
+    
+    [touchLocations release];
+    [touchIdentifiers release];
+    [touchPhases release];
+    
+    nextEventFlags = 0;
+}
+
+- (void)touchStart
+{
+    [self sentTouchEventOfType:WebEventTouchBegin];
+}
+
+- (void)touchMove
+{
+    [self sentTouchEventOfType:WebEventTouchChange];
+}
+
+- (void)touchEnd
+{
+    [self sentTouchEventOfType:WebEventTouchEnd];
+
+    NSMutableArray *touchesToRemove = [[NSMutableArray alloc] init];
+    for (SyntheticTouch *currTouch in touches) {
+        if (currTouch.phase == UITouchPhaseEnded)
+            [touchesToRemove addObject:currTouch];
+    }
+
+    [touches removeObjectsInArray:touchesToRemove];
+    [touchesToRemove release];
+}
+
+- (void)touchCancel
+{
+    [self sentTouchEventOfType:WebEventTouchCancel];
+
+    NSMutableArray *touchesToRemove = [[NSMutableArray alloc] init];
+    for (SyntheticTouch *currTouch in touches) {
+        if (currTouch.phase == UITouchPhaseCancelled)
+            [touchesToRemove addObject:currTouch];
+    }
+
+    [touches removeObjectsInArray:touchesToRemove];
+    [touchesToRemove release];
+}
+#endif
+
</ins><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacFrameLoadDelegatemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -31,19 +31,18 @@
</span><span class="cx"> #import &quot;FrameLoadDelegate.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;AccessibilityController.h&quot;
</span><del>-#import &quot;AppleScriptController.h&quot;
</del><span class="cx"> #import &quot;EventSendingController.h&quot;
</span><del>-#import &quot;Foundation/NSNotification.h&quot;
</del><span class="cx"> #import &quot;GCController.h&quot;
</span><del>-#import &quot;TestRunner.h&quot;
</del><span class="cx"> #import &quot;NavigationController.h&quot;
</span><span class="cx"> #import &quot;ObjCController.h&quot;
</span><span class="cx"> #import &quot;ObjCPlugin.h&quot;
</span><span class="cx"> #import &quot;ObjCPluginFunction.h&quot;
</span><ins>+#import &quot;TestRunner.h&quot;
</ins><span class="cx"> #import &quot;TextInputController.h&quot;
</span><span class="cx"> #import &quot;WebCoreTestSupport.h&quot;
</span><span class="cx"> #import &quot;WorkQueue.h&quot;
</span><span class="cx"> #import &quot;WorkQueueItem.h&quot;
</span><ins>+#import &lt;Foundation/NSNotification.h&gt;
</ins><span class="cx"> #import &lt;JavaScriptCore/JavaScriptCore.h&gt;
</span><span class="cx"> #import &lt;WebKitSystemInterface.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebFramePrivate.h&gt;
</span><span class="lines">@@ -55,6 +54,14 @@
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+#import &quot;AppleScriptController.h&quot;
+#endif
+
+#if PLATFORM(IOS)
+#import &lt;WebKit/WebCoreThreadMessage.h&gt;
+#endif
+
</ins><span class="cx"> #ifndef NSEC_PER_MSEC
</span><span class="cx"> #define NSEC_PER_MSEC 1000000ull
</span><span class="cx"> #endif
</span><span class="lines">@@ -111,14 +118,18 @@
</span><span class="cx">     if ((self = [super init])) {
</span><span class="cx">         gcController = new GCController;
</span><span class="cx">         accessibilityController = new AccessibilityController;
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(webViewProgressFinishedNotification:) name:WebViewProgressFinishedNotification object:nil];
</span><ins>+#endif
</ins><span class="cx">     }
</span><span class="cx">     return self;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[NSNotificationCenter defaultCenter] removeObserver:self];
</span><ins>+#endif
</ins><span class="cx">     delete gcController;
</span><span class="cx">     delete accessibilityController;
</span><span class="cx">     [super dealloc];
</span><span class="lines">@@ -131,6 +142,10 @@
</span><span class="cx">     if (topLoadingFrame)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+    WebThreadLock();
+#endif
+
</ins><span class="cx">     // if we finish all the commands, we're ready to dump state
</span><span class="cx">     if (WorkQueue::shared()-&gt;processWork() &amp;&amp; !gTestRunner-&gt;waitToDump())
</span><span class="cx">         dump();
</span><span class="lines">@@ -212,6 +227,9 @@
</span><span class="cx">         int64_t deferredWaitTime = 5 * NSEC_PER_MSEC;
</span><span class="cx">         dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, deferredWaitTime);
</span><span class="cx">         dispatch_after(when, dispatch_get_main_queue(), ^{
</span><ins>+#if PLATFORM(IOS)
+            WebThreadLock();
+#endif
</ins><span class="cx">             [sender setDefersCallbacks:NO];
</span><span class="cx">         });
</span><span class="cx">     }
</span><span class="lines">@@ -226,10 +244,11 @@
</span><span class="cx"> 
</span><span class="cx">     ASSERT(![frame provisionalDataSource]);
</span><span class="cx">     ASSERT([frame dataSource]);
</span><del>-    
</del><span class="cx">     gTestRunner-&gt;setWindowIsKey(true);
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSView *documentView = [[mainFrame frameView] documentView];
</span><span class="cx">     [[[mainFrame webView] window] makeFirstResponder:documentView];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
</span><span class="lines">@@ -315,11 +334,15 @@
</span><span class="cx"> 
</span><span class="cx">     // Make Old-Style controllers
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     WebView *webView = [frame webView];
</span><ins>+#endif
</ins><span class="cx">     WebScriptObject *obj = [frame windowObject];
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     AppleScriptController *asc = [[AppleScriptController alloc] initWithWebView:webView];
</span><span class="cx">     [obj setValue:asc forKey:@&quot;appleScriptController&quot;];
</span><span class="cx">     [asc release];
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx">     EventSendingController *esc = [[EventSendingController alloc] init];
</span><span class="cx">     [obj setValue:esc forKey:@&quot;eventSender&quot;];
</span><span class="lines">@@ -339,9 +362,12 @@
</span><span class="cx">     [obj setValue:pluginFunction forKey:@&quot;objCPluginFunction&quot;];
</span><span class="cx">     [pluginFunction release];
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+// FIXME: &lt;rdar://problem/5106287&gt; DumpRenderTree: fix TextInputController to work with iOS and re-enable tests
</ins><span class="cx">     TextInputController *tic = [[TextInputController alloc] initWithWebView:webView];
</span><span class="cx">     [obj setValue:tic forKey:@&quot;textInputController&quot;];
</span><span class="cx">     [tic release];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)didClearWindowObjectForFrame:(WebFrame *)frame inIsolatedWorld:(WebScriptWorld *)world
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacHistoryDelegateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/HistoryDelegate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/HistoryDelegate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/HistoryDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -22,9 +22,9 @@
</span><span class="cx">  * (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><del>- 
-#import &lt;Cocoa/Cocoa.h&gt;
</del><span class="cx"> 
</span><ins>+#import &lt;Foundation/Foundation.h&gt;
+
</ins><span class="cx"> @interface HistoryDelegate : NSObject 
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacLayoutTestHelperm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/LayoutTestHelper.m (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/LayoutTestHelper.m        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/LayoutTestHelper.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,8 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+
</ins><span class="cx"> #import &lt;AppKit/AppKit.h&gt;
</span><span class="cx"> #import &lt;ApplicationServices/ApplicationServices.h&gt;
</span><span class="cx"> #import &lt;getopt.h&gt;
</span><span class="lines">@@ -204,3 +206,12 @@
</span><span class="cx">     [pool release];
</span><span class="cx">     return 0;
</span><span class="cx"> }
</span><ins>+
+#endif // !PLATFORM(IOS)
+
+#if PLATFORM(IOS)
+int main(int argc, char* argv[])
+{
+    return 0;
+}
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacMockGeolocationProvidermm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/MockGeolocationProvider.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/MockGeolocationProvider.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/MockGeolocationProvider.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,6 +26,10 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;MockGeolocationProvider.h&quot;
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+#import &lt;WebCore/WebCoreThreadRun.h&gt;
+#endif
+
</ins><span class="cx"> @implementation MockGeolocationProvider
</span><span class="cx"> 
</span><span class="cx"> + (MockGeolocationProvider *)shared
</span><span class="lines">@@ -88,6 +92,28 @@
</span><span class="cx">     return _lastPosition.get();
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+- (void)setEnableHighAccuracy:(BOOL)enableHighAccuracy
+{
+    UNUSED_PARAM(enableHighAccuracy);
+}
+
+- (void)initializeGeolocationForWebView:(WebView *)webView listener:(id&lt;WebGeolocationProviderInitializationListener&gt;)listener
+{
+    [listener initializationAllowedWebView:webView provider:self];
+}
+
+- (void)cancelWarmUpForWebView:(WebView *)webView
+{
+    UNUSED_PARAM(webView);
+}
+
+- (void)stopTrackingWebView:(WebView *)webView
+{
+    UNUSED_PARAM(webView);
+}
+#endif
+
</ins><span class="cx"> - (void)stopTimer
</span><span class="cx"> {
</span><span class="cx">     [_timer invalidate];
</span><span class="lines">@@ -101,10 +127,25 @@
</span><span class="cx">     // Expect that views won't be (un)registered while iterating.
</span><span class="cx">     HashSet&lt;WebView*&gt; views = _registeredViews;
</span><span class="cx">     for (HashSet&lt;WebView*&gt;::iterator iter = views.begin(); iter != views.end(); ++iter) {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">         if (_hasError)
</span><span class="cx">             [*iter _geolocationDidFailWithMessage:_errorMessage.get()];
</span><span class="cx">         else
</span><span class="cx">             [*iter _geolocationDidChangePosition:_lastPosition.get()];
</span><ins>+#else
+        WebView* webView = *iter;
+        WebGeolocationPosition *lastPosition = _lastPosition.get();
+        NSString *errorMessage = _errorMessage.get();
+        if (_hasError) {
+            WebThreadRun(^{
+                [webView _geolocationDidFailWithMessage:errorMessage];
+            });
+        } else {
+            WebThreadRun(^{
+                [webView _geolocationDidChangePosition:lastPosition];
+            });
+        }
+#endif
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacNavigationControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/NavigationController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/NavigationController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/NavigationController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> #import &lt;WebKit/WebView.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface NavigationController : NSObject
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacObjCPluginh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,9 +23,8 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx"> */
</span><span class="cx"> 
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> 
</span><del>-
</del><span class="cx"> @interface ObjCPlugin : NSObject
</span><span class="cx"> {
</span><span class="cx">     BOOL throwOnDealloc;
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacObjCPluginm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.m (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.m        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPlugin.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -126,7 +126,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (NSString *)classNameOfObject:(id)obj
</span><span class="cx"> {
</span><del>-    return [obj className];
</del><ins>+    return NSStringFromClass([obj class]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacObjCPluginFunctionh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPluginFunction.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPluginFunction.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/ObjCPluginFunction.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -23,10 +23,8 @@
</span><span class="cx">  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
</span><span class="cx"> */
</span><span class="cx"> 
</span><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> 
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
-
-
</del><span class="cx"> @interface ObjCPluginFunction : NSObject
</span><span class="cx"> {
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacPolicyDelegateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/PolicyDelegate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/PolicyDelegate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/PolicyDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> 
</span><span class="cx"> class TestRunner;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacResourceLoadDelegateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,9 +26,8 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx"> 
</span><del>-#import &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> 
</span><del>-
</del><span class="cx"> @interface ResourceLoadDelegate : NSObject {
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacResourceLoadDelegatemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/ResourceLoadDelegate.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -32,7 +32,6 @@
</span><span class="cx"> #import &quot;DumpRenderTree.h&quot;
</span><span class="cx"> #import &quot;TestRunner.h&quot;
</span><span class="cx"> #import &lt;WebKit/WebKit.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> #import &lt;WebKit/WebDataSourcePrivate.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span><span class="lines">@@ -248,9 +247,11 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)webView: (WebView *)wv plugInFailedWithError:(NSError *)error dataSource:(WebDataSource *)dataSource
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     // The call to -display here simulates the &quot;Plug-in not found&quot; sheet that Safari shows.
</span><span class="cx">     // It is used for platform/mac/plugins/update-widget-from-style-recalc.html
</span><span class="cx">     [wv display];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> -(NSCachedURLResponse *) webView: (WebView *)wv resource:(id)identifier willCacheResponse:(NSCachedURLResponse *)response fromDataSource:(WebDataSource *)dataSource
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacTestRunnerMacmm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/TestRunnerMac.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/TestRunnerMac.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/TestRunnerMac.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -62,7 +62,6 @@
</span><span class="cx"> #import &lt;WebKit/WebHTMLViewPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebHistory.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebHistoryPrivate.h&gt;
</span><del>-#import &lt;WebKit/WebIconDatabasePrivate.h&gt;
</del><span class="cx"> #import &lt;WebKit/WebInspectorPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebNSURLExtras.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebKitErrors.h&gt;
</span><span class="lines">@@ -72,13 +71,24 @@
</span><span class="cx"> #import &lt;WebKit/WebScriptWorld.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebSecurityOriginPrivate.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebStorageManagerPrivate.h&gt;
</span><del>-#import &lt;WebKit/WebTypesInternal.h&gt;
</del><span class="cx"> #import &lt;WebKit/WebView.h&gt;
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><span class="cx"> #import &lt;wtf/CurrentTime.h&gt;
</span><span class="cx"> #import &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+#import &lt;WebKit/WebIconDatabasePrivate.h&gt;
+#endif
+
+#if PLATFORM(IOS)
+#import &lt;UIKit/UIWebBrowserView.h&gt;
+#import &lt;WebKit/WebCoreThread.h&gt;
+#import &lt;WebKit/WebCoreThreadMessage.h&gt;
+#import &lt;WebKit/WebDOMOperationsPrivate.h&gt;
+#endif
+
+#if !PLATFORM(IOS)
</ins><span class="cx"> @interface CommandValidationTarget : NSObject &lt;NSValidatedUserInterfaceItem&gt;
</span><span class="cx"> {
</span><span class="cx">     SEL _action;
</span><span class="lines">@@ -109,6 +119,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> @interface WebGeolocationPosition (Internal)
</span><span class="cx"> - (id)initWithGeolocationPosition:(PassRefPtr&lt;WebCore::GeolocationPosition&gt;)coreGeolocationPosition;
</span><span class="lines">@@ -484,6 +495,7 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setIconDatabaseEnabled(bool iconDatabaseEnabled)
</span><span class="cx"> {
</span><ins>+#if ENABLE(ICONDATABASE)
</ins><span class="cx">     // FIXME: Workaround &lt;rdar://problem/6480108&gt;
</span><span class="cx">     static WebIconDatabase *sharedWebIconDatabase = NULL;
</span><span class="cx">     if (!sharedWebIconDatabase) {
</span><span class="lines">@@ -494,14 +506,17 @@
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="cx">     [sharedWebIconDatabase setEnabled:iconDatabaseEnabled];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setMainFrameIsFirstResponder(bool flag)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSView *documentView = [[mainFrame frameView] documentView];
</span><span class="cx">     
</span><span class="cx">     NSResponder *firstResponder = flag ? documentView : nil;
</span><span class="cx">     [[[mainFrame webView] window] makeFirstResponder:firstResponder];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setPrivateBrowsingEnabled(bool privateBrowsingEnabled)
</span><span class="lines">@@ -546,7 +561,9 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setAutomaticLinkDetectionEnabled(bool enabled)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[mainFrame webView] setAutomaticLinkDetectionEnabled:enabled];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setTabKeyCyclesThroughElements(bool cycles)
</span><span class="lines">@@ -554,6 +571,18 @@
</span><span class="cx">     [[mainFrame webView] setTabKeyCyclesThroughElements:cycles];
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+void TestRunner::setTelephoneNumberParsingEnabled(bool enabled)
+{
+    [[[mainFrame webView] preferences] _setTelephoneNumberParsingEnabled:enabled];
+}
+
+void TestRunner::setPagePaused(bool paused)
+{
+    [gWebBrowserView setPaused:paused];
+}
+#endif
+
</ins><span class="cx"> #if ENABLE(IOS_TEXT_AUTOSIZING)
</span><span class="cx"> void TestRunner::setTextAutosizingEnabled(bool enabled)
</span><span class="cx"> {
</span><span class="lines">@@ -564,7 +593,9 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setUseDashboardCompatibilityMode(bool flag)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[mainFrame webView] _setDashboardBehavior:WebDashboardBehaviorUseBackwardCompatibilityMode to:flag];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setUserStyleSheetEnabled(bool flag)
</span><span class="lines">@@ -705,6 +736,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool TestRunner::isCommandEnabled(JSStringRef name)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     RetainPtr&lt;CFStringRef&gt; nameCF = adoptCF(JSStringCopyCFString(kCFAllocatorDefault, name));
</span><span class="cx">     NSString *nameNS = (NSString *)nameCF.get();
</span><span class="cx"> 
</span><span class="lines">@@ -725,6 +757,9 @@
</span><span class="cx">     if (![validator respondsToSelector:@selector(validateUserInterfaceItem:)])
</span><span class="cx">         return true;
</span><span class="cx">     return [validator validateUserInterfaceItem:target.get()];
</span><ins>+#else
+    return false;
+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::waitForPolicyDelegate()
</span><span class="lines">@@ -782,19 +817,25 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::showWebInspector()
</span><span class="cx"> {
</span><ins>+#if ENABLE(INSPECTOR)
</ins><span class="cx">     [[[mainFrame webView] inspector] show:nil];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::closeWebInspector()
</span><span class="cx"> {
</span><ins>+#if ENABLE(INSPECTOR)
</ins><span class="cx">     [[[mainFrame webView] inspector] close:nil];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::evaluateInWebInspector(long callId, JSStringRef script)
</span><span class="cx"> {
</span><ins>+#if ENABLE(INSPECTOR)
</ins><span class="cx">     RetainPtr&lt;CFStringRef&gt; scriptCF = adoptCF(JSStringCopyCFString(kCFAllocatorDefault, script));
</span><span class="cx">     NSString *scriptNS = (NSString *)scriptCF.get();
</span><span class="cx">     [[[mainFrame webView] inspector] evaluateInFrontend:nil callId:callId script:scriptNS];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> typedef HashMap&lt;unsigned, RetainPtr&lt;WebScriptWorld&gt; &gt; WorldMap;
</span><span class="lines">@@ -879,8 +920,94 @@
</span><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+@interface APITestDelegateIPhone : NSObject
+{
+    TestRunner* m_layoutTestRunner;
+    JSStringRef m_utf8Data;
+    JSStringRef m_baseURL;
+    WebView *m_webView;
+}
+
+- (id)initWithTestRunner:(TestRunner*)layoutTestRunner utf8Data:(JSStringRef)utf8Data baseURL:(JSStringRef)baseURL;
+- (void)run;
+@end
+
+@implementation APITestDelegateIPhone
+
+- (id)initWithTestRunner:(TestRunner*)layoutTestRunner utf8Data:(JSStringRef)utf8Data baseURL:(JSStringRef)baseURL
+{
+    self = [super init];
+    if (!self)
+        return nil;
+
+    m_layoutTestRunner = layoutTestRunner;
+    m_utf8Data = utf8Data;
+    m_baseURL = baseURL;
+    return self;
+}
+
+- (void)run
+{
+    m_layoutTestRunner-&gt;setWaitToDump(true);
+
+    RetainPtr&lt;CFStringRef&gt; utf8DataCF(AdoptCF, JSStringCopyCFString(kCFAllocatorDefault, m_utf8Data));
+    RetainPtr&lt;CFStringRef&gt; baseURLCF(AdoptCF, JSStringCopyCFString(kCFAllocatorDefault, m_baseURL));
+    m_utf8Data = NULL;
+    m_baseURL = NULL;
+
+    WebThreadLock();
+    m_webView = [[WebView alloc] initWithFrame:NSZeroRect frameName:@&quot;&quot; groupName:@&quot;&quot;];
+    [m_webView setFrameLoadDelegate:self];
+
+    [[m_webView mainFrame] loadData:[(NSString *)utf8DataCF.get() dataUsingEncoding:NSUTF8StringEncoding] MIMEType:@&quot;text/html&quot; textEncodingName:@&quot;utf-8&quot; baseURL:[NSURL URLWithString:(NSString *)baseURLCF.get()]];
+}
+
+- (void)_cleanup
+{
+    WebThreadLock();
+    [m_webView _clearDelegates];
+    [m_webView close];
+    [m_webView release];
+
+    m_layoutTestRunner-&gt;notifyDone();
+}
+
+- (void)webView:(WebView *)sender didFailLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
+{
+    printf(&quot;API Test load failed\n&quot;);
+    [self _cleanup];
+}
+
+- (void)webView:(WebView *)sender didFailProvisionalLoadWithError:(NSError *)error forFrame:(WebFrame *)frame
+{
+    printf(&quot;API Test load failed provisional\n&quot;);
+    [self _cleanup];
+}
+
+- (void)webView:(WebView *)sender didFinishLoadForFrame:(WebFrame *)frame
+{
+    printf(&quot;API Test load succeeded\n&quot;);
+    [self _cleanup];
+}
+
+@end
+#endif
+
</ins><span class="cx"> void TestRunner::apiTestNewWindowDataLoadBaseURL(JSStringRef utf8Data, JSStringRef baseURL)
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    // On iOS this gets called via JavaScript on the WebThread. But since it creates
+    // and closes a WebView, it should be run on the main thread. Make the switch
+    // from the web thread to the main thread and make the test asynchronous.
+    if (WebThreadIsCurrent()) {
+        APITestDelegateIPhone *dispatcher = [[APITestDelegateIPhone alloc] initWithTestRunner:this utf8Data:utf8Data baseURL:baseURL];
+        NSInvocation *invocation = WebThreadMakeNSInvocation(dispatcher, @selector(run));
+        WebThreadCallDelegate(invocation);
+        return;
+    }
+#endif
+
</ins><span class="cx">     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
</span><span class="cx"> 
</span><span class="cx">     RetainPtr&lt;CFStringRef&gt; utf8DataCF = adoptCF(JSStringCopyCFString(kCFAllocatorDefault, utf8Data));
</span><span class="lines">@@ -899,7 +1026,11 @@
</span><span class="cx">         [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantPast]];
</span><span class="cx">         [pool release];
</span><span class="cx">     }
</span><del>-        
</del><ins>+
+#if PLATFORM(IOS)
+    [(DumpRenderTree *)[UIApplication sharedApplication] _waitForWebThread];
+#endif
+
</ins><span class="cx">     [webView close];
</span><span class="cx">     [webView release];
</span><span class="cx">     [delegate release];
</span><span class="lines">@@ -1002,7 +1133,9 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::abortModal()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [NSApp abortModal];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setSerializeHTTPLoads(bool serialize)
</span><span class="lines">@@ -1012,16 +1145,19 @@
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setTextDirection(JSStringRef directionName)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     if (JSStringIsEqualToUTF8CString(directionName, &quot;ltr&quot;))
</span><span class="cx">         [[mainFrame webView] makeBaseWritingDirectionLeftToRight:0];
</span><span class="cx">     else if (JSStringIsEqualToUTF8CString(directionName, &quot;rtl&quot;))
</span><span class="cx">         [[mainFrame webView] makeBaseWritingDirectionRightToLeft:0];
</span><span class="cx">     else
</span><span class="cx">         ASSERT_NOT_REACHED();
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::addChromeInputField()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 20)];
</span><span class="cx">     textField.tag = 1;
</span><span class="cx">     [[[[mainFrame webView] window] contentView] addSubview:textField];
</span><span class="lines">@@ -1029,25 +1165,32 @@
</span><span class="cx">     
</span><span class="cx">     [textField setNextKeyView:[mainFrame webView]];
</span><span class="cx">     [[mainFrame webView] setNextKeyView:textField];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::removeChromeInputField()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     NSView* textField = [[[[mainFrame webView] window] contentView] viewWithTag:1];
</span><span class="cx">     if (textField) {
</span><span class="cx">         [textField removeFromSuperview];
</span><span class="cx">         focusWebView();
</span><span class="cx">     }
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::focusWebView()
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[[mainFrame webView] window] makeFirstResponder:[mainFrame webView]];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::setBackingScaleFactor(double backingScaleFactor)
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[mainFrame webView] _setCustomBackingScaleFactor:backingScaleFactor];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void TestRunner::resetPageVisibility()
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacTextInputControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,6 +28,9 @@
</span><span class="cx"> 
</span><span class="cx"> #import &lt;Foundation/Foundation.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+// FIXME: &lt;rdar://problem/5106287&gt; DumpRenderTree: fix TextInputController to work with iOS and re-enable tests
+
</ins><span class="cx"> @class WebView;
</span><span class="cx"> @class WebHTMLView;
</span><span class="cx"> @class WebScriptObject;
</span><span class="lines">@@ -40,3 +43,5 @@
</span><span class="cx"> }
</span><span class="cx"> - (id)initWithWebView:(WebView *)view;
</span><span class="cx"> @end
</span><ins>+
+#endif
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacTextInputControllerm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.m (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.m        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/TextInputController.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -29,6 +29,9 @@
</span><span class="cx"> #import &quot;config.h&quot;
</span><span class="cx"> #import &quot;TextInputController.h&quot;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
+// FIXME: &lt;rdar://problem/5106287&gt; DumpRenderTree: fix TextInputController to work with iOS and re-enable tests
+
</ins><span class="cx"> #import &quot;DumpRenderTreeMac.h&quot;
</span><span class="cx"> #import &lt;AppKit/NSInputManager.h&gt;
</span><span class="cx"> #if __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1080
</span><span class="lines">@@ -524,3 +527,5 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span><ins>+
+#endif // !PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacUIDelegateh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,7 +26,11 @@
</span><span class="cx">  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span class="cx">  */
</span><span class="cx">  
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> #import &lt;Cocoa/Cocoa.h&gt;
</span><ins>+#else
+#import &lt;WebKit/WAKView.h&gt;
+#endif
</ins><span class="cx"> 
</span><span class="cx"> @interface UIDelegate : NSObject {
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsDumpRenderTreemacUIDelegatemm"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.mm (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.mm        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/DumpRenderTree/mac/UIDelegate.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -46,7 +46,9 @@
</span><span class="cx"> #import &lt;WebKit/WebViewPrivate.h&gt;
</span><span class="cx"> #import &lt;wtf/Assertions.h&gt;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> DumpRenderTreeDraggingInfo *draggingInfo = nil;
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> @implementation UIDelegate
</span><span class="cx"> 
</span><span class="lines">@@ -80,16 +82,20 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)modalWindowWillClose:(NSNotification *)notification
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [[NSNotificationCenter defaultCenter] removeObserver:self name:NSWindowWillCloseNotification object:nil];
</span><span class="cx">     [NSApp abortModal];
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)webViewRunModal:(WebView *)sender
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     gTestRunner-&gt;setWindowIsKey(false);
</span><span class="cx">     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(modalWindowWillClose:) name:NSWindowWillCloseNotification object:nil];
</span><span class="cx">     [NSApp runModalForWindow:[sender window]];
</span><span class="cx">     gTestRunner-&gt;setWindowIsKey(true);
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)webView:(WebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WebFrame *)frame
</span><span class="lines">@@ -123,6 +129,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> - (void)webView:(WebView *)sender dragImage:(NSImage *)anImage at:(NSPoint)viewLocation offset:(NSSize)initialOffset event:(NSEvent *)event pasteboard:(NSPasteboard *)pboard source:(id)sourceObj slideBack:(BOOL)slideFlag forView:(NSView *)view
</span><span class="cx"> {
</span><span class="cx">      assert(!draggingInfo);
</span><span class="lines">@@ -130,6 +137,7 @@
</span><span class="cx">      [sender draggingUpdated:draggingInfo];
</span><span class="cx">      [EventSendingController replaySavedEvents];
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> - (void)webViewFocus:(WebView *)webView
</span><span class="cx"> {
</span><span class="lines">@@ -272,9 +280,14 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)webView:(WebView *)webView supportsFullScreenForElement:(DOMElement*)element withKeyboard:(BOOL)withKeyboard
</span><span class="cx"> {
</span><ins>+#if PLATFORM(IOS)
+    return NO;
+#else
</ins><span class="cx">     return YES;
</span><ins>+#endif
</ins><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if ENABLE(FULLSCREEN_API)
</ins><span class="cx"> - (void)enterFullScreenWithListener:(NSObject&lt;WebKitFullScreenListener&gt;*)listener
</span><span class="cx"> {
</span><span class="cx">     [listener webkitWillEnterFullScreen];
</span><span class="lines">@@ -304,6 +317,7 @@
</span><span class="cx">     [listener webkitWillExitFullScreen];
</span><span class="cx">     [listener webkitDidExitFullScreen];
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> - (BOOL)webView:(WebView *)webView didPressMissingPluginButton:(DOMElement *)element
</span><span class="cx"> {
</span><span class="lines">@@ -337,8 +351,10 @@
</span><span class="cx"> 
</span><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx">     [draggingInfo release];
</span><span class="cx">     draggingInfo = nil;
</span><ins>+#endif
</ins><span class="cx">     [m_pendingGeolocationPermissionListeners release];
</span><span class="cx">     m_pendingGeolocationPermissionListeners = nil;
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsGtkLaunchermainc"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/GtkLauncher/main.c (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/GtkLauncher/main.c        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/GtkLauncher/main.c        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx"> 
</span><span class="cx">     gtk_container_add(GTK_CONTAINER(scrolledWindow), GTK_WIDGET(webView));
</span><span class="cx"> 
</span><del>-    iconDatabasePath = g_build_filename(g_get_user_data_dir(), &quot;webkit&quot;, &quot;icondatabase&quot;, NULL);
</del><ins>+    iconDatabasePath = g_build_filename(g_get_user_cache_dir(), &quot;GtkLauncher&quot;, &quot;icondatabase&quot;, NULL);
</ins><span class="cx">     webkit_favicon_database_set_path(webkit_get_favicon_database(), iconDatabasePath);
</span><span class="cx">     g_free(iconDatabasePath);
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsMakefile"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/Makefile (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/Makefile        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/Makefile        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3,7 +3,7 @@
</span><span class="cx"> ifneq (,$(findstring iphone,$(SDKROOT)))
</span><span class="cx">         # FIXME: Build projects ../Source/ThirdParty/gtest/xcode, TestWebKitAPI for both device and simulator
</span><span class="cx">         # and build project DumpRenderTree for simulator.
</span><del>-        MODULES =
</del><ins>+        MODULES = WebKitTestRunner
</ins><span class="cx"> endif
</span><span class="cx"> 
</span><span class="cx"> all:
</span></span></pre></div>
<a id="branchesjsCStackToolsScriptswebkitpycommonconfigcontributorsjson"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/Scripts/webkitpy/common/config/contributors.json (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/Scripts/webkitpy/common/config/contributors.json        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/Scripts/webkitpy/common/config/contributors.json        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -3017,6 +3017,14 @@
</span><span class="cx">             &quot;molnarp&quot;
</span><span class="cx">          ]
</span><span class="cx">       },
</span><ins>+      &quot;Philip J\u00E4genstedt&quot; : {
+         &quot;emails&quot; : [
+            &quot;philipj@opera.com&quot;
+         ],
+         &quot;nicks&quot; : [
+            &quot;philipj&quot;
+         ]
+      },
</ins><span class="cx">       &quot;Radar WebKit Bug Importer&quot; : {
</span><span class="cx">          &quot;emails&quot; : [
</span><span class="cx">             &quot;webkit-bug-importer@group.apple.com&quot;
</span></span></pre></div>
<a id="branchesjsCStackToolsScriptswebkitpycommonconfigwatchlist"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/Scripts/webkitpy/common/config/watchlist (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/Scripts/webkitpy/common/config/watchlist        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/Scripts/webkitpy/common/config/watchlist        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -150,6 +150,15 @@
</span><span class="cx">         &quot;Media&quot;: {
</span><span class="cx">             &quot;filename&quot;: r&quot;(Source|LayoutTests)/.*([Mm]edia|[Aa]udio|[Vv]ideo)&quot;,
</span><span class="cx">         },
</span><ins>+        &quot;Track&quot;: {
+            &quot;filename&quot;: r&quot;Source/WebCore/html/track/&quot;
+                        r&quot;|Source/WebCore/loader/*Track*.*&quot;
+                        r&quot;|Source/WebCore/html/HTMLMediaElement*&quot;
+                        r&quot;|Source/WebCore/html/HTMLTrackElement*&quot;
+                        r&quot;|Source/WebCore/Modules/mediacontrols*&quot;
+                        r&quot;|Source/WebCore/css/mediaControl*&quot;
+                        r&quot;|LayoutTests/media/track/&quot;,
+        },
</ins><span class="cx">         &quot;MathML&quot;: {
</span><span class="cx">             &quot;filename&quot;: r&quot;(Source|LayoutTests|Websites)/.*mathml&quot;,
</span><span class="cx">         },
</span><span class="lines">@@ -311,7 +320,8 @@
</span><span class="cx">         &quot;IndexedDB&quot;: [ &quot;alecflett@chromium.org&quot;, &quot;jsbell@chromium.org&quot; ],
</span><span class="cx">         &quot;Loader&quot;: [ &quot;japhet@chromium.org&quot; ],
</span><span class="cx">         &quot;MathML&quot;: [ &quot;dbarton@mathscribe.com&quot;, &quot;mrobinson@webkit.org&quot;, &quot;fred.wang@free.fr&quot; ],
</span><del>-        &quot;Media&quot;: [ &quot;eric.carlson@apple.com&quot;, &quot;jer.noble@apple.com&quot;, &quot;glenn@skynav.com&quot; ],
</del><ins>+        &quot;Media&quot;: [ &quot;eric.carlson@apple.com&quot;, &quot;jer.noble@apple.com&quot;, &quot;glenn@skynav.com&quot;, &quot;philipj@opera.com&quot; ],
+        &quot;Track&quot;: [ &quot;eric.carlson@apple.com&quot;, &quot;philipj@opera.com&quot; ],
</ins><span class="cx">         &quot;MediaStream&quot;: [ &quot;tommyw@google.com&quot;, &quot;hta@google.com&quot; ],
</span><span class="cx">         &quot;NetworkInfo&quot;: [ &quot;gyuyoung.kim@webkit.org&quot;, &quot;dchris@gmail.com&quot; ],
</span><span class="cx">         &quot;OpenGL&quot; : [ &quot;noam@webkit.org&quot;, &quot;dino@apple.com&quot;, &quot;kondapallykalyan@gmail.com&quot;, &quot;roger_fong@apple.com&quot; ],
</span></span></pre></div>
<a id="branchesjsCStackToolsTestWebKitAPITestsWTFStringBuildercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringBuilder.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -38,14 +38,14 @@
</span><span class="cx"> {
</span><span class="cx">     // Not using builder.toString() or builder.toStringPreserveCapacity() because they all
</span><span class="cx">     // change internal state of builder.
</span><del>-    EXPECT_EQ(expected, String(builder.characters(), builder.length()));
</del><ins>+    EXPECT_EQ(expected, String(builder.deprecatedCharacters(), builder.length()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void expectEmpty(const StringBuilder&amp; builder)
</span><span class="cx"> {
</span><span class="cx">     EXPECT_EQ(0U, builder.length());
</span><span class="cx">     EXPECT_TRUE(builder.isEmpty());
</span><del>-    EXPECT_EQ(0, builder.characters());
</del><ins>+    EXPECT_EQ(0, builder.deprecatedCharacters());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> TEST(StringBuilderTest, DefaultConstructor)
</span><span class="lines">@@ -72,20 +72,20 @@
</span><span class="cx">     StringBuilder builder1;
</span><span class="cx">     builder.append(&quot;&quot;, 0);
</span><span class="cx">     expectBuilderContent(&quot;0123456789abcdefg#&quot;, builder);
</span><del>-    builder1.append(builder.characters(), builder.length());
</del><ins>+    builder1.append(builder.deprecatedCharacters(), builder.length());
</ins><span class="cx">     builder1.append(&quot;XYZ&quot;);
</span><del>-    builder.append(builder1.characters(), builder1.length());
</del><ins>+    builder.append(builder1.deprecatedCharacters(), builder1.length());
</ins><span class="cx">     expectBuilderContent(&quot;0123456789abcdefg#0123456789abcdefg#XYZ&quot;, builder);
</span><span class="cx"> 
</span><span class="cx">     StringBuilder builder2;
</span><span class="cx">     builder2.reserveCapacity(100);
</span><span class="cx">     builder2.append(&quot;xyz&quot;);
</span><del>-    const UChar* characters = builder2.characters();
</del><ins>+    const UChar* characters = builder2.deprecatedCharacters();
</ins><span class="cx">     builder2.append(&quot;0123456789&quot;);
</span><del>-    ASSERT_EQ(characters, builder2.characters());
</del><ins>+    ASSERT_EQ(characters, builder2.deprecatedCharacters());
</ins><span class="cx">     builder2.toStringPreserveCapacity(); // Test after reifyString with buffer preserved.
</span><span class="cx">     builder2.append(&quot;abcd&quot;);
</span><del>-    ASSERT_EQ(characters, builder2.characters());
</del><ins>+    ASSERT_EQ(characters, builder2.deprecatedCharacters());
</ins><span class="cx"> 
</span><span class="cx">     // Test appending UChar32 characters to StringBuilder.
</span><span class="cx">     StringBuilder builderForUChar32Append;
</span><span class="lines">@@ -140,7 +140,7 @@
</span><span class="cx">     ASSERT_EQ(capacity, builder.capacity());
</span><span class="cx">     ASSERT_EQ(String(&quot;0123456789&quot;), string);
</span><span class="cx">     ASSERT_EQ(string.impl(), builder.toStringPreserveCapacity().impl());
</span><del>-    ASSERT_EQ(string.characters(), builder.characters());
</del><ins>+    ASSERT_EQ(string.deprecatedCharacters(), builder.deprecatedCharacters());
</ins><span class="cx"> 
</span><span class="cx">     // Changing the StringBuilder should not affect the original result of toStringPreserveCapacity().
</span><span class="cx">     builder.append(&quot;abcdefghijklmnopqrstuvwxyz&quot;);
</span><span class="lines">@@ -151,7 +151,7 @@
</span><span class="cx">     capacity = builder.capacity();
</span><span class="cx">     string = builder.toStringPreserveCapacity();
</span><span class="cx">     ASSERT_EQ(capacity, builder.capacity());
</span><del>-    ASSERT_EQ(string.characters(), builder.characters());
</del><ins>+    ASSERT_EQ(string.deprecatedCharacters(), builder.deprecatedCharacters());
</ins><span class="cx">     ASSERT_EQ(String(&quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;), string);
</span><span class="cx">     builder.append(&quot;ABC&quot;);
</span><span class="cx">     ASSERT_EQ(String(&quot;0123456789abcdefghijklmnopqrstuvwxyz&quot;), string);
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">     capacity = builder.capacity();
</span><span class="cx">     String string1 = builder.toStringPreserveCapacity();
</span><span class="cx">     ASSERT_EQ(capacity, builder.capacity());
</span><del>-    ASSERT_EQ(string1.characters(), builder.characters());
</del><ins>+    ASSERT_EQ(string1.deprecatedCharacters(), builder.deprecatedCharacters());
</ins><span class="cx">     ASSERT_EQ(String(&quot;0123456789abcdefghijklmnopqrstuvwxyzABC&quot;), string1);
</span><span class="cx">     string1.append(&quot;DEF&quot;);
</span><span class="cx">     ASSERT_EQ(String(&quot;0123456789abcdefghijklmnopqrstuvwxyzABC&quot;), builder.toStringPreserveCapacity());
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">     capacity = builder.capacity();
</span><span class="cx">     string1 = builder.toStringPreserveCapacity();
</span><span class="cx">     ASSERT_EQ(capacity, builder.capacity());
</span><del>-    ASSERT_EQ(string.characters(), builder.characters());
</del><ins>+    ASSERT_EQ(string.deprecatedCharacters(), builder.deprecatedCharacters());
</ins><span class="cx">     builder.resize(10);
</span><span class="cx">     builder.append(&quot;###&quot;);
</span><span class="cx">     ASSERT_EQ(String(&quot;0123456789abcdefghijklmnopqrstuvwxyzABC&quot;), string1);
</span></span></pre></div>
<a id="branchesjsCStackToolsTestWebKitAPITestsWTFStringImplcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/TestWebKitAPI/Tests/WTF/StringImpl.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     for (size_t i = 0; i &lt; 10; ++i) {
</span><span class="cx">         RefPtr&lt;StringImpl&gt; string = StringImpl::createFromLiteral(&quot;Template Literal&quot;);
</span><span class="cx"> 
</span><del>-        ASSERT_EQ(0, memcmp(controlString-&gt;characters(), string-&gt;characters(), controlString-&gt;length() * sizeof(UChar)));
</del><ins>+        ASSERT_EQ(0, memcmp(controlString-&gt;deprecatedCharacters(), string-&gt;deprecatedCharacters(), controlString-&gt;length() * sizeof(UChar)));
</ins><span class="cx">         ASSERT_TRUE(string-&gt;has16BitShadow());
</span><span class="cx">     }
</span><span class="cx"> }
</span></span></pre></div>
<a id="branchesjsCStackToolsTestWebKitAPITestsWebKit2GtkTestWebKitWebContextcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -146,7 +146,8 @@
</span><span class="cx">         test-&gt;m_uriSchemeRequest = request;
</span><span class="cx">         test-&gt;assertObjectIsDeletedWhenTestFinishes(G_OBJECT(request));
</span><span class="cx"> 
</span><del>-        g_assert(webkit_uri_scheme_request_get_web_view(request) == test-&gt;m_webView);
</del><ins>+        // FIXME: webkit_uri_scheme_request_get_web_view doesn't work with custom protocols.
+        // g_assert(webkit_uri_scheme_request_get_web_view(request) == test-&gt;m_webView);
</ins><span class="cx"> 
</span><span class="cx">         GRefPtr&lt;GInputStream&gt; inputStream = adoptGRef(g_memory_input_stream_new());
</span><span class="cx">         test-&gt;assertObjectIsDeletedWhenTestFinishes(G_OBJECT(inputStream.get()));
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerConfigurationsBasexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/Configurations/Base.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/Configurations/Base.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/Configurations/Base.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -21,6 +21,8 @@
</span><span class="cx"> // (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>+#include &quot;iOS.xcconfig&quot;
+
</ins><span class="cx"> CLANG_CXX_LANGUAGE_STANDARD = gnu++0x;
</span><span class="cx"> CLANG_CXX_LIBRARY = libc++;
</span><span class="cx"> CLANG_WARN_CXX0X_EXTENSIONS = NO;
</span><span class="lines">@@ -37,6 +39,8 @@
</span><span class="cx"> GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO
</span><span class="cx"> GCC_WARN_UNUSED_FUNCTION = YES
</span><span class="cx"> GCC_WARN_UNUSED_VARIABLE = YES
</span><ins>+GCC_WARN_64_TO_32_BIT_CONVERSION[arch=arm64] = NO;
+GCC_WARN_64_TO_32_BIT_CONVERSION[arch=x86_64] = NO;
</ins><span class="cx"> WARNING_CFLAGS = -Wall -W -Wno-unused-parameter -Wundef
</span><span class="cx"> LINKER_DISPLAYS_MANGLED_NAMES = YES;
</span><span class="cx"> GCC_PREFIX_HEADER = WebKitTestRunnerPrefix.h
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerConfigurationsInjectedBundlexcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/Configurations/InjectedBundle.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -28,4 +28,14 @@
</span><span class="cx"> 
</span><span class="cx"> INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Resources;
</span><span class="cx"> SKIP_INSTALL = NO;
</span><del>-OTHER_LDFLAGS = $(inherited) -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY);
</del><ins>+
+OTHER_LDFLAGS_BASE = $(inherited) -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY) -framework QuartzCore;
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_iphoneos = $(OTHER_LDFLAGS_BASE) -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework UIKit;
+OTHER_LDFLAGS_iphonesimulator = $(OTHER_LDFLAGS_iphoneos);
+OTHER_LDFLAGS_macosx = $(OTHER_LDFLAGS_BASE) -framework Carbon -framework Cocoa;
+
+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = AccessibilityControllerMac.mm AccessibilityTextMarkerMac.mm AccessibilityUIElementMac.mm ActivateFonts.mm InjectedBundleMac.mm InjectedBundlePageMac.mm WebArchiveDumpSupportMac.mm;
+EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
+EXCLUDED_SOURCE_FILE_NAMES_macosx = *IOS.*;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerConfigurationsWebKitTestRunnerxcconfig"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/Configurations/WebKitTestRunner.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,5 +26,16 @@
</span><span class="cx"> PRODUCT_NAME = WebKitTestRunner
</span><span class="cx"> GCC_ENABLE_OBJC_EXCEPTIONS = YES
</span><span class="cx"> 
</span><ins>+OTHER_LDFLAGS_BASE = -l$(WEBKIT_SYSTEM_INTERFACE_LIBRARY) -framework WebKit2;
+OTHER_LDFLAGS = $(OTHER_LDFLAGS_$(PLATFORM_NAME));
+OTHER_LDFLAGS_iphoneos = $(OTHER_LDFLAGS_BASE) -framework JavaScriptCore -framework CoreGraphics -framework ImageIO -framework UIKit;
+OTHER_LDFLAGS_iphonesimulator = $(OTHER_LDFLAGS_iphoneos);
+OTHER_LDFLAGS_macosx = $(OTHER_LDFLAGS_BASE) -framework Carbon -framework Cocoa;
+
</ins><span class="cx"> INSTALL_PATH = $(SYSTEM_LIBRARY_DIR)/Frameworks/WebKit.framework/Versions/A/Resources;
</span><span class="cx"> SKIP_INSTALL = NO;
</span><ins>+
+EXCLUDED_SOURCE_FILE_NAMES = $(EXCLUDED_SOURCE_FILE_NAMES_$(PLATFORM_NAME));
+EXCLUDED_SOURCE_FILE_NAMES_iphoneos = EventSenderProxy.mm main.mm PlatformWebViewMac.mm TestControllerMac.mm mac/*;
+EXCLUDED_SOURCE_FILE_NAMES_iphonesimulator = $(EXCLUDED_SOURCE_FILE_NAMES_iphoneos);
+EXCLUDED_SOURCE_FILE_NAMES_macosx = AccessibilityUIElementIPhone.mm;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleEventSendingControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/EventSendingController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     WKRetainPtr&lt;WKContextMenuItemRef&gt; m_item;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-
</del><ins>+#if ENABLE(CONTEXT_MENUS)
</ins><span class="cx"> static JSValueRef menuItemClickCallback(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
</span><span class="cx"> {
</span><span class="cx">     MenuItemPrivateData* privateData = static_cast&lt;MenuItemPrivateData*&gt;(JSObjectGetPrivate(thisObject));
</span><span class="lines">@@ -104,6 +104,7 @@
</span><span class="cx"> 
</span><span class="cx">     return menuItemClass;
</span><span class="cx"> }
</span><ins>+#endif
</ins><span class="cx"> 
</span><span class="cx"> static WKEventModifiers parseModifier(JSStringRef modifier)
</span><span class="cx"> {
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityControllerIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,86 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;AccessibilityCommonMac.h&quot;
+#import &quot;AccessibilityController.h&quot;
+#import &quot;AccessibilityNotificationHandler.h&quot;
+#import &quot;InjectedBundle.h&quot;
+#import &quot;InjectedBundlePage.h&quot;
+
+#import &lt;JavaScriptCore/JSRetainPtr.h&gt;
+#import &lt;JavaScriptCore/JSStringRef.h&gt;
+#import &lt;JavaScriptCore/JSStringRefCF.h&gt;
+#import &lt;WebKit2/WKBundle.h&gt;
+#import &lt;WebKit2/WKBundlePage.h&gt;
+#import &lt;WebKit2/WKBundlePagePrivate.h&gt;
+
+namespace WTR {
+
+bool AccessibilityController::addNotificationListener(JSValueRef functionCallback)
+{
+    return false;
+}
+
+bool AccessibilityController::removeNotificationListener()
+{
+    return false;
+}
+
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityController::platformName()
+{
+    JSRetainPtr&lt;JSStringRef&gt; platformName(Adopt, JSStringCreateWithUTF8CString(&quot;ios&quot;));
+    return platformName;
+}
+
+void AccessibilityController::logAccessibilityEvents()
+{
+}
+
+void AccessibilityController::resetToConsistentState()
+{
+    if (m_globalNotificationHandler)
+        removeNotificationListener();
+}
+
+static id findAccessibleObjectById(id obj, NSString *idAttribute)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityController::accessibleElementById(JSStringRef idAttribute)
+{
+    WKBundlePageRef page = InjectedBundle::shared().page()-&gt;page();
+    id root = static_cast&lt;PlatformUIElement&gt;(WKAccessibilityRootObject(page));
+
+    id result = findAccessibleObjectById(root, [NSString stringWithJSStringRef:idAttribute]);
+    if (result)
+        return AccessibilityUIElement::create(result);
+
+    return 0;
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityNotificationHandlerh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityNotificationHandler.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityNotificationHandler.h                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityNotificationHandler.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+/*
+ * Copyright (C) 2011 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
+ * &quot;AS IS&quot; 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 AccessibilityNotificationHandler_h
+#define AccessibilityNotificationHandler_h
+
+#import &lt;JavaScriptCore/JSObjectRef.h&gt;
+
+@interface AccessibilityNotificationHandler : NSObject {
+    id m_platformElement;
+    JSValueRef m_notificationFunctionCallback;
+}
+
+- (id)init;
+- (void)setPlatformElement:(id)platformElement;
+- (void)setCallback:(JSValueRef)callback;
+- (void)startObserving;
+- (void)stopObserving;
+
+@end
+
+#endif // AccessibilityNotificationHandler_h
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityTextMarkerIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityTextMarkerIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,36 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;AccessibilityTextMarker.h&quot;
+
+namespace WTR {
+
+bool AccessibilityTextMarker::isEqual(AccessibilityTextMarker* other)
+{
+    return [(id)platformTextMarker() isEqual:(id)other-&gt;platformTextMarker()];
+}
+
+} // namespace WTR
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosAccessibilityUIElementIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,778 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;AccessibilityNotificationHandler.h&quot;
+#import &quot;AccessibilityUIElement.h&quot;
+#import &quot;InjectedBundle.h&quot;
+#import &quot;InjectedBundlePage.h&quot;
+#import &lt;UIKit/UIKit.h&gt;
+
+namespace WTR {
+
+AccessibilityUIElement::AccessibilityUIElement(PlatformUIElement element)
+    : m_element(element)
+{
+    // FIXME: ap@webkit.org says ObjC objects need to be CFRetained/CFRelease to be GC-compliant on the mac.
+    [m_element retain];
+}
+
+AccessibilityUIElement::AccessibilityUIElement(const AccessibilityUIElement&amp; other)
+    : JSWrappable()
+    , m_element(other.m_element)
+{
+    [m_element retain];
+}
+
+AccessibilityUIElement::~AccessibilityUIElement()
+{
+    [m_element release];
+}
+
+bool AccessibilityUIElement::isEqual(AccessibilityUIElement* otherElement)
+{
+    if (!otherElement)
+        return false;
+    return platformUIElement() == otherElement-&gt;platformUIElement();
+}
+
+void AccessibilityUIElement::getLinkedUIElements(Vector&lt;RefPtr&lt;AccessibilityUIElement&gt; &gt;&amp; elementVector)
+{
+}
+
+void AccessibilityUIElement::getDocumentLinks(Vector&lt;RefPtr&lt;AccessibilityUIElement&gt; &gt;&amp; elementVector)
+{
+}
+
+void AccessibilityUIElement::getChildren(Vector&lt;RefPtr&lt;AccessibilityUIElement&gt; &gt;&amp; elementVector)
+{
+    NSInteger childCount = [m_element accessibilityElementCount];
+    for (NSInteger k = 0; k &lt; childCount; ++k)
+        elementVector.append(AccessibilityUIElement::create([m_element accessibilityElementAtIndex:k]));
+}
+
+void AccessibilityUIElement::getChildrenWithRange(Vector&lt;RefPtr&lt;AccessibilityUIElement&gt; &gt;&amp; elementVector, unsigned location, unsigned length)
+{
+    NSUInteger childCount = [m_element accessibilityElementCount];
+    for (NSUInteger k = location; k &lt; childCount &amp;&amp; k &lt; (location+length); ++k)
+        elementVector.append(AccessibilityUIElement::create([m_element accessibilityElementAtIndex:k]));
+}
+
+int AccessibilityUIElement::childrenCount()
+{
+    Vector&lt;RefPtr&lt;AccessibilityUIElement&gt;&gt; children;
+    getChildren(children);
+
+    return children.size();
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::elementAtPoint(int x, int y)
+{
+    return 0;
+}
+
+unsigned AccessibilityUIElement::indexOfChild(AccessibilityUIElement* element)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::childAtIndex(unsigned index)
+{
+    Vector&lt;RefPtr&lt;AccessibilityUIElement&gt; &gt; children;
+    getChildrenWithRange(children, index, 1);
+
+    if (children.size() == 1)
+        return children[0];
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::linkedUIElementAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::ariaOwnsElementAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::ariaFlowToElementAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::disclosedRowAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::rowAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::selectedChildAtIndex(unsigned index) const
+{
+    return 0;
+}
+
+unsigned AccessibilityUIElement::selectedChildrenCount() const
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::selectedRowAtIndex(unsigned index)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::titleUIElement()
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::parentElement()
+{
+    return nil;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::disclosedByRow()
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfLinkedUIElements()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfDocumentLinks()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfChildren()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::allAttributes()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::stringAttributeValue(JSStringRef attribute)
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+double AccessibilityUIElement::numberAttributeValue(JSStringRef attribute)
+{
+    return 0;
+}
+
+JSValueRef AccessibilityUIElement::uiElementArrayAttributeValue(JSStringRef attribute) const
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::uiElementAttributeValue(JSStringRef attribute) const
+{
+    return 0;
+}
+
+bool AccessibilityUIElement::boolAttributeValue(JSStringRef attribute)
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isAttributeSettable(JSStringRef attribute)
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isAttributeSupported(JSStringRef attribute)
+{
+    return false;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::parameterizedAttributeNames()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::role()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::subrole()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::roleDescription()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::title()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::description()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::orientation() const
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::stringValue()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::language()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::helpText() const
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+double AccessibilityUIElement::x()
+{
+    CGRect frame = [m_element accessibilityFrame];
+    return frame.origin.x;
+}
+
+double AccessibilityUIElement::y()
+{
+    CGRect frame = [m_element accessibilityFrame];
+    return frame.origin.y;
+}
+
+double AccessibilityUIElement::width()
+{
+    CGRect frame = [m_element accessibilityFrame];
+    return frame.size.width;
+}
+
+double AccessibilityUIElement::height()
+{
+    CGRect frame = [m_element accessibilityFrame];
+    return frame.size.height;
+}
+
+double AccessibilityUIElement::clickPointX()
+{
+    return 0;
+}
+
+double AccessibilityUIElement::clickPointY()
+{
+    return 0;
+}
+
+double AccessibilityUIElement::intValue() const
+{
+    return 0;
+}
+
+double AccessibilityUIElement::minValue()
+{
+    return 0;
+}
+
+double AccessibilityUIElement::maxValue()
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::valueDescription()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+int AccessibilityUIElement::insertionPointLineNumber()
+{
+    return -1;
+}
+
+bool AccessibilityUIElement::isPressActionSupported()
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isIncrementActionSupported()
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isDecrementActionSupported()
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isEnabled()
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isRequired() const
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isFocused() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isSelected() const
+{
+    UIAccessibilityTraits traits = [m_element accessibilityTraits];
+    return (traits &amp; UIAccessibilityTraitSelected);
+}
+
+bool AccessibilityUIElement::isSelectedOptionActive() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isIndeterminate() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isExpanded() const
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isChecked() const
+{
+    return false;
+}
+
+int AccessibilityUIElement::hierarchicalLevel() const
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::classList() const
+{
+    return nullptr;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::speak()
+{
+    return nullptr;
+}
+
+bool AccessibilityUIElement::ariaIsGrabbed() const
+{
+    return false;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::ariaDropEffects() const
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+// parameterized attributes
+int AccessibilityUIElement::lineForIndex(int index)
+{
+    return -1;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::rangeForLine(int line)
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::rangeForPosition(int x, int y)
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::boundsForRange(unsigned location, unsigned length)
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::stringForRange(unsigned location, unsigned length)
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributedStringForRange(unsigned location, unsigned length)
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+bool AccessibilityUIElement::attributedStringRangeIsMisspelled(unsigned location, unsigned length)
+{
+    return false;
+}
+
+unsigned uiElementCountForSearchPredicate(JSContextRef, AccessibilityUIElement* startElement, bool isDirectionNext, JSValueRef searchKey, JSStringRef searchText, bool visibleOnly)
+{
+    return 0;
+}
+
+unsigned AccessibilityUIElement::uiElementCountForSearchPredicate(JSContextRef context, AccessibilityUIElement* startElement, bool isDirectionNext, JSValueRef searchKey, JSStringRef searchText, bool visibleOnly)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::uiElementForSearchPredicate(JSContextRef context, AccessibilityUIElement* startElement, bool isDirectionNext, JSValueRef searchKey, JSStringRef searchText, bool visibleOnly)
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfColumnHeaders()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfRowHeaders()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfColumns()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfRows()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfVisibleCells()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::attributesOfHeader()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+int AccessibilityUIElement::rowCount()
+{
+    return -1;
+}
+
+int AccessibilityUIElement::columnCount()
+{
+    return -1;
+}
+
+int AccessibilityUIElement::indexInTable()
+{
+    return -1;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::rowIndexRange()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::columnIndexRange()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::cellForColumnAndRow(unsigned col, unsigned row)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::horizontalScrollbar() const
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::verticalScrollbar() const
+{
+    return 0;
+}
+
+void AccessibilityUIElement::scrollToMakeVisible()
+{
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::selectedTextRange()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+void AccessibilityUIElement::setSelectedTextRange(unsigned location, unsigned length)
+{
+}
+
+void AccessibilityUIElement::increment()
+{
+    [m_element accessibilityIncrement];
+}
+
+void AccessibilityUIElement::decrement()
+{
+    [m_element accessibilityDecrement];
+}
+
+void AccessibilityUIElement::showMenu()
+{
+}
+
+void AccessibilityUIElement::press()
+{
+}
+
+void AccessibilityUIElement::setSelectedChild(AccessibilityUIElement* element) const
+{
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::accessibilityValue() const
+{
+    // FIXME: implement
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::documentEncoding()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::documentURI()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::url()
+{
+    return JSStringCreateWithCharacters(0, 0);
+}
+
+bool AccessibilityUIElement::addNotificationListener(JSValueRef functionCallback)
+{
+    return false;
+}
+
+bool AccessibilityUIElement::removeNotificationListener()
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isFocusable() const
+{
+    return false;
+}
+
+bool AccessibilityUIElement::isSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isMultiSelectable() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isVisible() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isOffScreen() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isCollapsed() const
+{
+    // FIXME: implement
+    return false;
+}
+
+bool AccessibilityUIElement::isIgnored() const
+{
+    return false;
+}
+
+bool AccessibilityUIElement::hasPopup() const
+{
+    return false;
+}
+
+void AccessibilityUIElement::takeFocus()
+{
+    // FIXME: implement
+}
+
+void AccessibilityUIElement::takeSelection()
+{
+    // FIXME: implement
+}
+
+void AccessibilityUIElement::addSelection()
+{
+    // FIXME: implement
+}
+
+void AccessibilityUIElement::removeSelection()
+{
+    // FIXME: implement
+}
+
+// Text markers
+PassRefPtr&lt;AccessibilityTextMarkerRange&gt; AccessibilityUIElement::textMarkerRangeForElement(AccessibilityUIElement* element)
+{
+    return 0;
+}
+
+int AccessibilityUIElement::textMarkerRangeLength(AccessibilityTextMarkerRange* range)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::previousTextMarker(AccessibilityTextMarker* textMarker)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::nextTextMarker(AccessibilityTextMarker* textMarker)
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::stringForTextMarkerRange(AccessibilityTextMarkerRange* markerRange)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarkerRange&gt; AccessibilityUIElement::textMarkerRangeForMarkers(AccessibilityTextMarker* startMarker, AccessibilityTextMarker* endMarker)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::startTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange* range)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::endTextMarkerForTextMarkerRange(AccessibilityTextMarkerRange* range)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::endTextMarkerForBounds(int x, int y, int width, int height)
+{
+    return nullptr;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::startTextMarkerForBounds(int x, int y, int width, int height)
+{
+    return nullptr;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::textMarkerForPoint(int x, int y)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityUIElement&gt; AccessibilityUIElement::accessibilityElementForTextMarker(AccessibilityTextMarker* marker)
+{
+    return 0;
+}
+
+bool AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute(JSStringRef attribute, AccessibilityTextMarkerRange* range)
+{
+    return false;
+}
+
+int AccessibilityUIElement::indexForTextMarker(AccessibilityTextMarker* marker)
+{
+    return -1;
+}
+
+bool AccessibilityUIElement::isTextMarkerValid(AccessibilityTextMarker* textMarker)
+{
+    return false;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::textMarkerForIndex(int textIndex)
+{
+    return 0;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::startTextMarker()
+{
+    return nullptr;
+}
+
+PassRefPtr&lt;AccessibilityTextMarker&gt; AccessibilityUIElement::endTextMarker()
+{
+    return nullptr;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::mathPostscriptsDescription() const
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::mathPrescriptsDescription() const
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::pathDescription() const
+{
+    return 0;
+}
+
+JSRetainPtr&lt;JSStringRef&gt; AccessibilityUIElement::supportedActions() const
+{
+    return 0;
+}
+
+} // namespace WTR
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosActivateFontsIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/ActivateFontsIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,37 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;ActivateFonts.h&quot;
+
+namespace WTR {
+
+void activateFonts()
+{
+    // Write me.
+}
+
+}
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosEventSenderProxyIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,163 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;EventSenderProxy.h&quot;
+
+#import &quot;PlatformWebView.h&quot;
+#import &quot;StringFunctions.h&quot;
+#import &quot;TestController.h&quot;
+#import &lt;wtf/RetainPtr.h&gt;
+#import &lt;WebKit2/WKString.h&gt;
+
+namespace WTR {
+
+EventSenderProxy::EventSenderProxy(TestController* testController)
+    : m_testController(testController)
+    , m_time(0)
+    , m_position()
+    , m_leftMouseButtonDown(false)
+    , m_clickCount(0)
+    , m_clickTime(0)
+    , m_clickPosition()
+    , m_clickButton(kWKEventMouseButtonNoButton)
+    , eventNumber(0)
+{
+    UNUSED_PARAM(m_testController);
+    UNUSED_PARAM(m_leftMouseButtonDown);
+    UNUSED_PARAM(eventNumber);
+}
+
+EventSenderProxy::~EventSenderProxy()
+{
+}
+
+void EventSenderProxy::updateClickCountForButton(int button)
+{
+    if (m_time - m_clickTime &lt; 1 &amp;&amp; m_position == m_clickPosition &amp;&amp; button == m_clickButton) {
+        ++m_clickCount;
+        m_clickTime = m_time;
+        return;
+    }
+
+    m_clickCount = 1;
+    m_clickTime = m_time;
+    m_clickPosition = m_position;
+    m_clickButton = button;
+}
+
+void EventSenderProxy::mouseDown(unsigned buttonNumber, WKEventModifiers modifiers)
+{
+    // Write me.
+}
+
+void EventSenderProxy::mouseUp(unsigned buttonNumber, WKEventModifiers modifiers)
+{
+    // Write me.
+}
+
+void EventSenderProxy::mouseMoveTo(double x, double y)
+{
+    // Write me.
+}
+
+void EventSenderProxy::leapForward(int milliseconds)
+{
+    m_time += milliseconds / 1000.0;
+}
+
+void EventSenderProxy::keyDown(WKStringRef key, WKEventModifiers modifiers, unsigned keyLocation)
+{
+    // Write me.
+}
+
+void EventSenderProxy::mouseScrollBy(int x, int y)
+{
+    // Write me.
+}
+
+void EventSenderProxy::continuousMouseScrollBy(int x, int y, bool paged)
+{
+    // Write me.
+}
+
+#if ENABLE(TOUCH_EVENTS)
+void EventSenderProxy::addTouchPoint(int x, int y)
+{
+    // Write me.
+}
+
+void EventSenderProxy::updateTouchPoint(int index, int x, int y)
+{
+    // Write me.
+}
+
+void EventSenderProxy::setTouchModifier(WKEventModifiers, bool enable)
+{
+    // Write me.
+}
+
+void EventSenderProxy::setTouchPointRadius(int radiusX, int radiusY)
+{
+    // Write me.
+}
+
+void EventSenderProxy::touchStart()
+{
+    // Write me.
+}
+
+void EventSenderProxy::touchMove()
+{
+    // Write me.
+}
+
+void EventSenderProxy::touchEnd()
+{
+    // Write me.
+}
+
+void EventSenderProxy::touchCancel()
+{
+    // Write me.
+}
+
+void EventSenderProxy::clearTouchPoints()
+{
+    // Write me.
+}
+
+void EventSenderProxy::releaseTouchPoint(int index)
+{
+    // Write me.
+}
+
+void EventSenderProxy::cancelTouchPoint(int index)
+{
+    // Write me.
+}
+#endif
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosInjectedBundleIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,47 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;InjectedBundle.h&quot;
+
+#import &lt;Foundation/Foundation.h&gt;
+
+@interface NSURLRequest (PrivateThingsWeShouldntReallyUse)
++(void)setAllowsAnyHTTPSCertificate:(BOOL)allow forHost:(NSString *)host;
+@end
+
+namespace WTR {
+
+void InjectedBundle::platformInitialize(WKTypeRef)
+{
+    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
+        nil];
+
+    [[NSUserDefaults standardUserDefaults] setVolatileDomain:dict forName:NSArgumentDomain];
+
+    [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:@&quot;localhost&quot;];
+    [NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:@&quot;127.0.0.1&quot;];
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerInjectedBundleiosInjectedBundlePageIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/InjectedBundle/ios/InjectedBundlePageIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;InjectedBundlePage.h&quot;
+
+#import &quot;StringFunctions.h&quot;
+#import &lt;WebKit2/WKBundleFrame.h&gt;
+#import &lt;WebKit2/WKURLCF.h&gt;
+#import &lt;WebKitSystemInterface.h&gt;
+#import &lt;wtf/RetainPtr.h&gt;
+#import &lt;wtf/text/StringBuilder.h&gt;
+#import &lt;wtf/text/WTFString.h&gt;
+
+namespace WTR {
+
+using namespace WTF;
+
+void InjectedBundlePage::platformDidStartProvisionalLoadForFrame(WKBundleFrameRef)
+{
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerMakefile"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/Makefile (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/Makefile        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/Makefile        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -5,6 +5,10 @@
</span><span class="cx"> 
</span><span class="cx"> ifeq &quot;$(BUILD_WEBKITTESTRUNNER)&quot; &quot;YES&quot;
</span><span class="cx"> 
</span><ins>+ifneq (,$(findstring iphone,$(SDKROOT)))
+        OTHER_OPTIONS += -target WebKitTestRunnerApp
+endif
+
</ins><span class="cx"> SCRIPTS_PATH = ../Scripts
</span><span class="cx"> include ../../Makefile.shared
</span><span class="cx"> 
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/TestController.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -311,7 +311,7 @@
</span><span class="cx">     m_context.adopt(WKContextCreateWithInjectedBundlePath(injectedBundlePath()));
</span><span class="cx">     m_geolocationProvider = adoptPtr(new GeolocationProviderMock(m_context.get()));
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; 1080
</del><ins>+#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt; 1080)
</ins><span class="cx">     WKContextSetUsesNetworkProcess(m_context.get(), true);
</span><span class="cx">     WKContextSetProcessModel(m_context.get(), kWKProcessModelMultipleSecondaryProcesses);
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerTestControllerh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/TestController.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/TestController.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/TestController.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -26,9 +26,9 @@
</span><span class="cx"> #ifndef TestController_h
</span><span class="cx"> #define TestController_h
</span><span class="cx"> 
</span><ins>+#include &quot;GeolocationProviderMock.h&quot;
</ins><span class="cx"> #include &quot;WebNotificationProvider.h&quot;
</span><span class="cx"> #include &quot;WorkQueueManager.h&quot;
</span><del>-#include &lt;GeolocationProviderMock.h&gt;
</del><span class="cx"> #include &lt;WebKit2/WKRetainPtr.h&gt;
</span><span class="cx"> #include &lt;string&gt;
</span><span class="cx"> #include &lt;vector&gt;
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerTestInvocationcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/TestInvocation.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/TestInvocation.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/TestInvocation.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -42,7 +42,9 @@
</span><span class="cx"> #include &lt;wtf/text/CString.h&gt;
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><ins>+#if !PLATFORM(IOS)
</ins><span class="cx"> #include &lt;Carbon/Carbon.h&gt;
</span><ins>+#endif
</ins><span class="cx"> #include &lt;WebKit2/WKPagePrivateMac.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="lines">@@ -129,7 +131,7 @@
</span><span class="cx">     return strstr(pathOrURL, &quot;loading/&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if ENABLE(INSPECTOR)
</del><ins>+#if ENABLE(INSPECTOR) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> static bool shouldOpenWebInspector(const char* pathOrURL)
</span><span class="cx"> {
</span><span class="cx">     return strstr(pathOrURL, &quot;inspector/&quot;) || strstr(pathOrURL, &quot;inspector\\&quot;);
</span><span class="lines">@@ -226,7 +228,7 @@
</span><span class="cx">     if (m_error)
</span><span class="cx">         goto end;
</span><span class="cx"> 
</span><del>-#if ENABLE(INSPECTOR)
</del><ins>+#if ENABLE(INSPECTOR) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     if (shouldOpenWebInspector(m_pathOrURL.c_str()))
</span><span class="cx">         WKInspectorShow(WKPageGetInspector(TestController::shared().mainWebView()-&gt;page()));
</span><span class="cx"> #endif // ENABLE(INSPECTOR)        
</span><span class="lines">@@ -251,7 +253,7 @@
</span><span class="cx">     dumpResults();
</span><span class="cx"> 
</span><span class="cx"> end:
</span><del>-#if ENABLE(INSPECTOR)
</del><ins>+#if ENABLE(INSPECTOR) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">     if (m_gotInitialResponse)
</span><span class="cx">         WKInspectorClose(WKPageGetInspector(TestController::shared().mainWebView()-&gt;page()));
</span><span class="cx"> #endif // ENABLE(INSPECTOR)
</span><span class="lines">@@ -676,7 +678,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (WKStringIsEqualToUTF8CString(messageName, &quot;SecureEventInputIsEnabled&quot;)) {
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx">         WKRetainPtr&lt;WKBooleanRef&gt; result(AdoptWK, WKBooleanCreate(IsSecureEventInputEnabled()));
</span><span class="cx"> #else
</span><span class="cx">         WKRetainPtr&lt;WKBooleanRef&gt; result(AdoptWK, WKBooleanCreate(false));
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerxcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -37,6 +37,39 @@
</span><span class="cx">                 29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */; };
</span><span class="cx">                 29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */; };
</span><span class="cx">                 29A8FCE5145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */; };
</span><ins>+                2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */; };
+                2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */; };
+                2E63ED8D1891AD7E002A7AFC /* ActivateFontsIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */; };
+                2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
+                2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */; };
+                2E63ED901891AD7E002A7AFC /* InjectedBundlePageIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */; };
+                2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */; };
+                2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */; };
+                2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D161890A9FB0010ED21 /* mainIOS.mm */; };
+                2E63ED951891ADC7002A7AFC /* CyclicRedundancyCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */; };
+                2E63ED961891ADC7002A7AFC /* GeolocationProviderMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */; };
+                2E63ED971891ADC7002A7AFC /* PixelDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */; };
+                2E63ED981891ADC7002A7AFC /* TestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC793430118F7F19005EA8E2 /* TestController.cpp */; };
+                2E63ED991891ADC7002A7AFC /* TestInvocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD7D2F711921278006DB7EE /* TestInvocation.cpp */; };
+                2E63ED9A1891ADC7002A7AFC /* WebNotificationProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */; };
+                2E63ED9B1891ADC7002A7AFC /* WorkQueueManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */; };
+                2E63ED9C1891ADC7002A7AFC /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52CF21890A9A80010ED21 /* AppDelegate.m */; };
+                2E63ED9E1891AEC1002A7AFC /* WebArchiveDumpSupportIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */; };
+                2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */; };
+                2E63EDA51891BD8E002A7AFC /* TestInvocationCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC9192041333E4F8003011DC /* TestInvocationCG.cpp */; };
+                2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */; };
+                2E749BEF1891E939007FC175 /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 841CC00D181185BF0042E9B6 /* Options.cpp */; };
+                2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
+                2EE52CE31890A9A80010ED21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE21890A9A80010ED21 /* Foundation.framework */; };
+                2EE52CE51890A9A80010ED21 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */; };
+                2EE52CE71890A9A80010ED21 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE61890A9A80010ED21 /* UIKit.framework */; };
+                2EE52CED1890A9A80010ED21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2EE52CEB1890A9A80010ED21 /* InfoPlist.strings */; };
+                2EE52CFC1890A9A90010ED21 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CFB1890A9A90010ED21 /* XCTest.framework */; };
+                2EE52CFD1890A9A90010ED21 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE21890A9A80010ED21 /* Foundation.framework */; };
+                2EE52CFE1890A9A90010ED21 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2EE52CE61890A9A80010ED21 /* UIKit.framework */; };
+                2EE52D061890A9A90010ED21 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2EE52D041890A9A90010ED21 /* InfoPlist.strings */; };
+                2EE52D081890A9A90010ED21 /* WebKitTestRunnerAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */; };
+                2EE52D111890A9BB0010ED21 /* WebKitTestRunnerInjectedBundle.bundle in Resources */ = {isa = PBXBuildFile; fileRef = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */; };
</ins><span class="cx">                 3164C8F015D1ADA100EF1FE0 /* WebNotificationProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */; };
</span><span class="cx">                 4429FC5F1627089600F66D8B /* WorkQueueManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */; };
</span><span class="cx">                 5322FB4313FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */; };
</span><span class="lines">@@ -64,13 +97,11 @@
</span><span class="cx">                 A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */; };
</span><span class="cx">                 BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4D9120E02D000826C0C /* GCController.cpp */; };
</span><span class="cx">                 BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4E8120E03D800826C0C /* JSGCController.cpp */; };
</span><del>-                BC25193E11D15D8B002EBC01 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934A411906584005EA8E2 /* Cocoa.framework */; };
</del><span class="cx">                 BC25193F11D15D8B002EBC01 /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934AB1190658C005EA8E2 /* WebKit2.framework */; };
</span><span class="cx">                 BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */; };
</span><span class="cx">                 BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */; };
</span><span class="cx">                 BC793400118F7C84005EA8E2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7933FF118F7C84005EA8E2 /* main.mm */; };
</span><span class="cx">                 BC793431118F7F19005EA8E2 /* TestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC793430118F7F19005EA8E2 /* TestController.cpp */; };
</span><del>-                BC7934A511906584005EA8E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934A411906584005EA8E2 /* Cocoa.framework */; };
</del><span class="cx">                 BC7934AC1190658C005EA8E2 /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC7934AB1190658C005EA8E2 /* WebKit2.framework */; };
</span><span class="cx">                 BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */; };
</span><span class="cx">                 BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8C795B11D2785D004535A1 /* TestControllerMac.mm */; };
</span><span class="lines">@@ -82,18 +113,30 @@
</span><span class="cx">                 BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */; };
</span><span class="cx">                 BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */; };
</span><span class="cx">                 BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */; };
</span><del>-                BCC9981811D3F51E0017BCA2 /* TestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */; };
</del><span class="cx">                 BCD7D2F811921278006DB7EE /* TestInvocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD7D2F711921278006DB7EE /* TestInvocation.cpp */; };
</span><span class="cx">                 BCDA2B9A1191051F00C3BC47 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */; };
</span><span class="cx">                 C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */; };
</span><span class="cx">                 E132AA3A17CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */; };
</span><span class="cx">                 E132AA3D17CE776F00611DF0 /* WebKitTestRunnerEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */; };
</span><del>-                E1BA671E1742DA6A00C20251 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E1BA671D1742DA5A00C20251 /* Carbon.framework */; };
</del><span class="cx">                 E1C642C317CBCC7300D66A3C /* PoseAsClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */; };
</span><span class="cx">                 E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */; };
</span><span class="cx"> /* End PBXBuildFile section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXContainerItemProxy section */
</span><ins>+                2E63ED881891AD47002A7AFC /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = BC25186111D15D54002EBC01;
+                        remoteInfo = WebKitTestRunnerInjectedBundle;
+                };
+                2EE52CFF1890A9A90010ED21 /* PBXContainerItemProxy */ = {
+                        isa = PBXContainerItemProxy;
+                        containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
+                        proxyType = 1;
+                        remoteGlobalIDString = 2EE52CDF1890A9A80010ED21;
+                        remoteInfo = WebKitTestRunnerApp;
+                };
</ins><span class="cx">                 BC25194111D15D94002EBC01 /* PBXContainerItemProxy */ = {
</span><span class="cx">                         isa = PBXContainerItemProxy;
</span><span class="cx">                         containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
</span><span class="lines">@@ -120,8 +163,8 @@
</span><span class="cx">                 29210EA8144CAB8800835BB5 /* AccessibilityController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityController.idl; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityUIElement.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityUIElement.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityUIElementMac.mm; path = mac/AccessibilityUIElementMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
-                29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityCommonMac.mm; path = mac/AccessibilityCommonMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityCommonMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarker.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29210EB2144CACD400835BB5 /* AccessibilityTextMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityTextMarker.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityTextMarkerMac.mm; path = mac/AccessibilityTextMarkerMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -136,7 +179,32 @@
</span><span class="cx">                 29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarkerRange.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSAccessibilityTextMarkerRange.cpp; path = DerivedSources/WebKitTestRunner/JSAccessibilityTextMarkerRange.cpp; sourceTree = BUILT_PRODUCTS_DIR; };
</span><span class="cx">                 29A8FCE1345E7021006AA5A7 /* JSAccessibilityTextMarkerRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSAccessibilityTextMarkerRange.h; path = DerivedSources/WebKitTestRunner/JSAccessibilityTextMarkerRange.h; sourceTree = BUILT_PRODUCTS_DIR; };
</span><del>-                29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityTextMarkerRangeMac.mm; path = mac/AccessibilityTextMarkerRangeMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerRangeMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityNotificationHandler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFontsIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxyIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebKitTestRunnerApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
+                2EE52CE21890A9A80010ED21 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+                2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+                2EE52CE61890A9A80010ED21 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
+                2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = &quot;WebKitTestRunnerApp-Info.plist&quot;; path = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52CEC1890A9A80010ED21 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52CF11890A9A80010ED21 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52CF21890A9A80010ED21 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WebKitTestRunnerAppTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+                2EE52CFB1890A9A90010ED21 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
+                2EE52D031890A9A90010ED21 /* WebKitTestRunnerAppTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = &quot;WebKitTestRunnerAppTests-Info.plist&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D051890A9A90010ED21 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = WebKitTestRunnerAppTests.m; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebArchiveDumpSupportIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
+                2EE52D161890A9FB0010ED21 /* mainIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = mainIOS.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 3110BE0F15BA011400D216AC /* WebNotificationProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebNotificationProvider.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebNotificationProvider.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 378D442213346D00006A777B /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -172,7 +240,7 @@
</span><span class="cx">                 6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher900.ttf; path = fonts/WebKitWeightWatcher900.ttf; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 65EB859D11EC67CC0034D300 /* ActivateFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivateFonts.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFonts.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityControllerMac.mm; path = mac/AccessibilityControllerMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AccessibilityNotificationHandler.h; path = mac/AccessibilityNotificationHandler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityNotificationHandler.mm; path = mac/AccessibilityNotificationHandler.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 841CC00D181185BF0042E9B6 /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Options.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -238,14 +306,32 @@
</span><span class="cx"> /* End PBXFileReference section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXFrameworksBuildPhase section */
</span><ins>+                2EE52CDD1890A9A80010ED21 /* Frameworks */ = {
+                        isa = PBXFrameworksBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2EE52CE51890A9A80010ED21 /* CoreGraphics.framework in Frameworks */,
+                                2EE52CE71890A9A80010ED21 /* UIKit.framework in Frameworks */,
+                                2EE52CE31890A9A80010ED21 /* Foundation.framework in Frameworks */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
+                2EE52CF71890A9A80010ED21 /* Frameworks */ = {
+                        isa = PBXFrameworksBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2EE52CFC1890A9A90010ED21 /* XCTest.framework in Frameworks */,
+                                2EE52CFE1890A9A90010ED21 /* UIKit.framework in Frameworks */,
+                                2EE52CFD1890A9A90010ED21 /* Foundation.framework in Frameworks */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx">                 8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                BC7934A511906584005EA8E2 /* Cocoa.framework in Frameworks */,
</del><span class="cx">                                 BCDA2B9A1191051F00C3BC47 /* JavaScriptCore.framework in Frameworks */,
</span><span class="cx">                                 0F5169CB1445222D00E0A9D7 /* WebKit.framework in Frameworks */,
</span><del>-                                E1BA671E1742DA6A00C20251 /* Carbon.framework in Frameworks */,
</del><span class="cx">                                 BC7934AC1190658C005EA8E2 /* WebKit2.framework in Frameworks */,
</span><span class="cx">                         );
</span><span class="cx">                         runOnlyForDeploymentPostprocessing = 0;
</span><span class="lines">@@ -254,7 +340,6 @@
</span><span class="cx">                         isa = PBXFrameworksBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><del>-                                BC25193E11D15D8B002EBC01 /* Cocoa.framework in Frameworks */,
</del><span class="cx">                                 BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */,
</span><span class="cx">                                 A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */,
</span><span class="cx">                                 0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */,
</span><span class="lines">@@ -269,12 +354,16 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 BC952EC511F3C10F003398B4 /* DerivedSources.make */,
</span><ins>+                                2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */,
</ins><span class="cx">                                 BC99CBF11207642D00FDEE76 /* Shared */,
</span><span class="cx">                                 08FB7795FE84155DC02AAC07 /* TestRunner */,
</span><span class="cx">                                 BC25183511D1571D002EBC01 /* InjectedBundle */,
</span><span class="cx">                                 BC793401118F7C8A005EA8E2 /* Configurations */,
</span><span class="cx">                                 08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
</span><span class="cx">                                 BC25194411D15DBE002EBC01 /* Resources */,
</span><ins>+                                2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */,
+                                2EE52D011890A9A90010ED21 /* WebKitTestRunnerAppTests */,
+                                2EE52CE11890A9A80010ED21 /* Frameworks */,
</ins><span class="cx">                                 1AB674ADFE9D54B511CA2CBB /* Products */,
</span><span class="cx">                         );
</span><span class="cx">                         name = WebKitTestRunner;
</span><span class="lines">@@ -283,6 +372,7 @@
</span><span class="cx">                 08FB7795FE84155DC02AAC07 /* TestRunner */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                2EE52D121890A9FB0010ED21 /* ios */,
</ins><span class="cx">                                 841CC00D181185BF0042E9B6 /* Options.cpp */,
</span><span class="cx">                                 841CC00E181185BF0042E9B6 /* Options.h */,
</span><span class="cx">                                 BC9192021333E4CD003011DC /* cg */,
</span><span class="lines">@@ -327,6 +417,8 @@
</span><span class="cx">                         children = (
</span><span class="cx">                                 8DD76FA10486AA7600D96B5E /* WebKitTestRunner */,
</span><span class="cx">                                 BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */,
</span><ins>+                                2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */,
+                                2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */,
</ins><span class="cx">                         );
</span><span class="cx">                         name = Products;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="lines">@@ -334,10 +426,8 @@
</span><span class="cx">                 29A8FCE0145F035D009045A6 /* Accessibility */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><del>-                                29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */,
</del><span class="cx">                                 29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */,
</span><span class="cx">                                 29210EA3144CAAA500835BB5 /* AccessibilityController.h */,
</span><del>-                                8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */,
</del><span class="cx">                                 8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */,
</span><span class="cx">                                 8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */,
</span><span class="cx">                                 29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */,
</span><span class="lines">@@ -345,14 +435,77 @@
</span><span class="cx">                                 29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */,
</span><span class="cx">                                 29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */,
</span><span class="cx">                                 29A8FCDF145F0358009045A6 /* AccessibilityTextMarkerRange.h */,
</span><del>-                                29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */,
</del><span class="cx">                                 29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */,
</span><span class="cx">                                 29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */,
</span><del>-                                29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */,
</del><span class="cx">                         );
</span><span class="cx">                         name = Accessibility;
</span><span class="cx">                         sourceTree = &quot;&lt;group&gt;&quot;;
</span><span class="cx">                 };
</span><ins>+                2E63ED741891ACE9002A7AFC /* ios */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */,
+                                2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */,
+                                2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */,
+                                2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */,
+                                2E63ED791891ACE9002A7AFC /* ActivateFontsIOS.mm */,
+                                2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */,
+                                2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */,
+                                2E63ED7C1891ACE9002A7AFC /* InjectedBundlePageIOS.mm */,
+                        );
+                        path = ios;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52CE11890A9A80010ED21 /* Frameworks */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2EE52CE21890A9A80010ED21 /* Foundation.framework */,
+                                2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */,
+                                2EE52CE61890A9A80010ED21 /* UIKit.framework */,
+                                2EE52CFB1890A9A90010ED21 /* XCTest.framework */,
+                        );
+                        name = Frameworks;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2EE52CF11890A9A80010ED21 /* AppDelegate.h */,
+                                2EE52CF21890A9A80010ED21 /* AppDelegate.m */,
+                        );
+                        path = WebKitTestRunnerApp;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52D011890A9A90010ED21 /* WebKitTestRunnerAppTests */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2EE52D071890A9A90010ED21 /* WebKitTestRunnerAppTests.m */,
+                                2EE52D021890A9A90010ED21 /* Supporting Files */,
+                        );
+                        path = WebKitTestRunnerAppTests;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52D021890A9A90010ED21 /* Supporting Files */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2EE52D031890A9A90010ED21 /* WebKitTestRunnerAppTests-Info.plist */,
+                                2EE52D041890A9A90010ED21 /* InfoPlist.strings */,
+                        );
+                        name = &quot;Supporting Files&quot;;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52D121890A9FB0010ED21 /* ios */ = {
+                        isa = PBXGroup;
+                        children = (
+                                2EE52CEB1890A9A80010ED21 /* InfoPlist.strings */,
+                                2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */,
+                                2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */,
+                                2EE52D151890A9FB0010ED21 /* WebArchiveDumpSupportIOS.mm */,
+                                2EE52D161890A9FB0010ED21 /* mainIOS.mm */,
+                        );
+                        path = ios;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
</ins><span class="cx">                 5C45C31017398E370079714E /* cf */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="lines">@@ -365,6 +518,10 @@
</span><span class="cx">                 65EB859E11EC67CC0034D300 /* mac */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */,
+                                8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */,
+                                29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */,
+                                29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */,
</ins><span class="cx">                                 5C45C30E17398E290079714E /* WebArchiveDumpSupportMac.mm */,
</span><span class="cx">                                 65EB859F11EC67CC0034D300 /* ActivateFonts.mm */,
</span><span class="cx">                                 BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */,
</span><span class="lines">@@ -393,6 +550,7 @@
</span><span class="cx">                 BC25183511D1571D002EBC01 /* InjectedBundle */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                2E63ED741891ACE9002A7AFC /* ios */,
</ins><span class="cx">                                 5C45C31017398E370079714E /* cf */,
</span><span class="cx">                                 BC952C0A11F3B939003398B4 /* Bindings */,
</span><span class="cx">                                 BC14E4E0120E02F900826C0C /* Controllers */,
</span><span class="lines">@@ -519,6 +677,42 @@
</span><span class="cx"> /* End PBXGroup section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXNativeTarget section */
</span><ins>+                2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */ = {
+                        isa = PBXNativeTarget;
+                        buildConfigurationList = 2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerApp&quot; */;
+                        buildPhases = (
+                                2EE52CDC1890A9A80010ED21 /* Sources */,
+                                2EE52CDD1890A9A80010ED21 /* Frameworks */,
+                                2EE52CDE1890A9A80010ED21 /* Resources */,
+                        );
+                        buildRules = (
+                        );
+                        dependencies = (
+                                2E63ED891891AD47002A7AFC /* PBXTargetDependency */,
+                        );
+                        name = WebKitTestRunnerApp;
+                        productName = WebKitTestRunnerApp;
+                        productReference = 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */;
+                        productType = &quot;com.apple.product-type.application&quot;;
+                };
+                2EE52CF91890A9A80010ED21 /* WebKitTestRunnerAppTests */ = {
+                        isa = PBXNativeTarget;
+                        buildConfigurationList = 2EE52D101890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerAppTests&quot; */;
+                        buildPhases = (
+                                2EE52CF61890A9A80010ED21 /* Sources */,
+                                2EE52CF71890A9A80010ED21 /* Frameworks */,
+                                2EE52CF81890A9A80010ED21 /* Resources */,
+                        );
+                        buildRules = (
+                        );
+                        dependencies = (
+                                2EE52D001890A9A90010ED21 /* PBXTargetDependency */,
+                        );
+                        name = WebKitTestRunnerAppTests;
+                        productName = WebKitTestRunnerAppTests;
+                        productReference = 2EE52CFA1890A9A80010ED21 /* WebKitTestRunnerAppTests.xctest */;
+                        productType = &quot;com.apple.product-type.bundle.unit-test&quot;;
+                };
</ins><span class="cx">                 8DD76F960486AA7600D96B5E /* WebKitTestRunner */ = {
</span><span class="cx">                         isa = PBXNativeTarget;
</span><span class="cx">                         buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunner&quot; */;
</span><span class="lines">@@ -561,6 +755,11 @@
</span><span class="cx">                 08FB7793FE84155DC02AAC07 /* Project object */ = {
</span><span class="cx">                         isa = PBXProject;
</span><span class="cx">                         attributes = {
</span><ins>+                                TargetAttributes = {
+                                        2EE52CF91890A9A80010ED21 = {
+                                                TestTargetID = 2EE52CDF1890A9A80010ED21;
+                                        };
+                                };
</ins><span class="cx">                         };
</span><span class="cx">                         buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject &quot;WebKitTestRunner&quot; */;
</span><span class="cx">                         compatibilityVersion = &quot;Xcode 3.1&quot;;
</span><span class="lines">@@ -571,6 +770,7 @@
</span><span class="cx">                                 Japanese,
</span><span class="cx">                                 French,
</span><span class="cx">                                 German,
</span><ins>+                                en,
</ins><span class="cx">                         );
</span><span class="cx">                         mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
</span><span class="cx">                         projectDirPath = &quot;&quot;;
</span><span class="lines">@@ -579,11 +779,30 @@
</span><span class="cx">                                 8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
</span><span class="cx">                                 BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
</span><span class="cx">                                 BC952D7711F3BF5D003398B4 /* Derived Sources */,
</span><ins>+                                2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
+                                2EE52CF91890A9A80010ED21 /* WebKitTestRunnerAppTests */,
</ins><span class="cx">                         );
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXProject section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXResourcesBuildPhase section */
</span><ins>+                2EE52CDE1890A9A80010ED21 /* Resources */ = {
+                        isa = PBXResourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2EE52CED1890A9A80010ED21 /* InfoPlist.strings in Resources */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
+                2EE52CF81890A9A80010ED21 /* Resources */ = {
+                        isa = PBXResourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2EE52D111890A9BB0010ED21 /* WebKitTestRunnerInjectedBundle.bundle in Resources */,
+                                2EE52D061890A9A90010ED21 /* InfoPlist.strings in Resources */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx">                 BC25185E11D15D54002EBC01 /* Resources */ = {
</span><span class="cx">                         isa = PBXResourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -622,6 +841,35 @@
</span><span class="cx"> /* End PBXShellScriptBuildPhase section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXSourcesBuildPhase section */
</span><ins>+                2EE52CDC1890A9A80010ED21 /* Sources */ = {
+                        isa = PBXSourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2E63ED951891ADC7002A7AFC /* CyclicRedundancyCheck.cpp in Sources */,
+                                2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */,
+                                2E63ED961891ADC7002A7AFC /* GeolocationProviderMock.cpp in Sources */,
+                                2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */,
+                                2E63ED971891ADC7002A7AFC /* PixelDumpSupport.cpp in Sources */,
+                                2E63ED981891ADC7002A7AFC /* TestController.cpp in Sources */,
+                                2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */,
+                                2E63ED991891ADC7002A7AFC /* TestInvocation.cpp in Sources */,
+                                2E63EDA51891BD8E002A7AFC /* TestInvocationCG.cpp in Sources */,
+                                2E63ED9A1891ADC7002A7AFC /* WebNotificationProvider.cpp in Sources */,
+                                2E63ED9B1891ADC7002A7AFC /* WorkQueueManager.cpp in Sources */,
+                                2E749BEF1891E939007FC175 /* Options.cpp in Sources */,
+                                2E63ED9C1891ADC7002A7AFC /* AppDelegate.m in Sources */,
+                                2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
+                2EE52CF61890A9A80010ED21 /* Sources */ = {
+                        isa = PBXSourcesBuildPhase;
+                        buildActionMask = 2147483647;
+                        files = (
+                                2EE52D081890A9A90010ED21 /* WebKitTestRunnerAppTests.m in Sources */,
+                        );
+                        runOnlyForDeploymentPostprocessing = 0;
+                };
</ins><span class="cx">                 8DD76F990486AA7600D96B5E /* Sources */ = {
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="lines">@@ -650,6 +898,15 @@
</span><span class="cx">                         isa = PBXSourcesBuildPhase;
</span><span class="cx">                         buildActionMask = 2147483647;
</span><span class="cx">                         files = (
</span><ins>+                                2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */,
+                                2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */,
+                                2E63ED9E1891AEC1002A7AFC /* WebArchiveDumpSupportIOS.mm in Sources */,
+                                2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */,
+                                2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */,
+                                2E63ED8D1891AD7E002A7AFC /* ActivateFontsIOS.mm in Sources */,
+                                2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */,
+                                2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */,
+                                2E63ED901891AD7E002A7AFC /* InjectedBundlePageIOS.mm in Sources */,
</ins><span class="cx">                                 29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */,
</span><span class="cx">                                 29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */,
</span><span class="cx">                                 8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */,
</span><span class="lines">@@ -677,7 +934,6 @@
</span><span class="cx">                                 BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */,
</span><span class="cx">                                 5641E2D014335E95008307E5 /* JSTextInputController.cpp in Sources */,
</span><span class="cx">                                 BC952C0D11F3B965003398B4 /* JSWrapper.cpp in Sources */,
</span><del>-                                BCC9981811D3F51E0017BCA2 /* TestRunner.cpp in Sources */,
</del><span class="cx">                                 5C45C30F17398E290079714E /* WebArchiveDumpSupportMac.mm in Sources */,
</span><span class="cx">                                 5C45C31317398E480079714E /* WebArchiveDumpSupport.cpp in Sources */,
</span><span class="cx">                                 C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */,
</span><span class="lines">@@ -688,6 +944,16 @@
</span><span class="cx"> /* End PBXSourcesBuildPhase section */
</span><span class="cx"> 
</span><span class="cx"> /* Begin PBXTargetDependency section */
</span><ins>+                2E63ED891891AD47002A7AFC /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
+                        targetProxy = 2E63ED881891AD47002A7AFC /* PBXContainerItemProxy */;
+                };
+                2EE52D001890A9A90010ED21 /* PBXTargetDependency */ = {
+                        isa = PBXTargetDependency;
+                        target = 2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */;
+                        targetProxy = 2EE52CFF1890A9A90010ED21 /* PBXContainerItemProxy */;
+                };
</ins><span class="cx">                 BC25194211D15D94002EBC01 /* PBXTargetDependency */ = {
</span><span class="cx">                         isa = PBXTargetDependency;
</span><span class="cx">                         target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
</span><span class="lines">@@ -700,6 +966,26 @@
</span><span class="cx">                 };
</span><span class="cx"> /* End PBXTargetDependency section */
</span><span class="cx"> 
</span><ins>+/* Begin PBXVariantGroup section */
+                2EE52CEB1890A9A80010ED21 /* InfoPlist.strings */ = {
+                        isa = PBXVariantGroup;
+                        children = (
+                                2EE52CEC1890A9A80010ED21 /* en */,
+                        );
+                        name = InfoPlist.strings;
+                        path = ../WebKitTestRunnerApp;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+                2EE52D041890A9A90010ED21 /* InfoPlist.strings */ = {
+                        isa = PBXVariantGroup;
+                        children = (
+                                2EE52D051890A9A90010ED21 /* en */,
+                        );
+                        name = InfoPlist.strings;
+                        sourceTree = &quot;&lt;group&gt;&quot;;
+                };
+/* End PBXVariantGroup section */
+
</ins><span class="cx"> /* Begin XCBuildConfiguration section */
</span><span class="cx">                 1DEB927508733DD40010E9CD /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><span class="lines">@@ -731,6 +1017,187 @@
</span><span class="cx">                         };
</span><span class="cx">                         name = Release;
</span><span class="cx">                 };
</span><ins>+                2EE52D091890A9A90010ED21 /* Debug */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunner.xcconfig */;
+                        buildSettings = {
+                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+                                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+                                GCC_DYNAMIC_NO_PIC = NO;
+                                GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                TARGETED_DEVICE_FAMILY = &quot;1,2&quot;;
+                                WRAPPER_EXTENSION = app;
+                        };
+                        name = Debug;
+                };
+                2EE52D0A1890A9A90010ED21 /* Release */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunner.xcconfig */;
+                        buildSettings = {
+                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+                                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                TARGETED_DEVICE_FAMILY = &quot;1,2&quot;;
+                                WRAPPER_EXTENSION = app;
+                        };
+                        name = Release;
+                };
+                2EE52D0B1890A9A90010ED21 /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunner.xcconfig */;
+                        buildSettings = {
+                                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+                                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                TARGETED_DEVICE_FAMILY = &quot;1,2&quot;;
+                                WRAPPER_EXTENSION = app;
+                        };
+                        name = Production;
+                };
+                2EE52D0C1890A9A90010ED21 /* Debug */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                                ALWAYS_SEARCH_USER_PATHS = NO;
+                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
+                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
+                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
+                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
+                                CLANG_ENABLE_MODULES = YES;
+                                CLANG_ENABLE_OBJC_ARC = YES;
+                                CLANG_WARN_BOOL_CONVERSION = YES;
+                                CLANG_WARN_CONSTANT_CONVERSION = YES;
+                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+                                CLANG_WARN_EMPTY_BODY = YES;
+                                CLANG_WARN_ENUM_CONVERSION = YES;
+                                CLANG_WARN_INT_CONVERSION = YES;
+                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                                COPY_PHASE_STRIP = NO;
+                                FRAMEWORK_SEARCH_PATHS = (
+                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
+                                        &quot;$(inherited)&quot;,
+                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
+                                );
+                                GCC_C_LANGUAGE_STANDARD = gnu99;
+                                GCC_DYNAMIC_NO_PIC = NO;
+                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
+                                GCC_PREPROCESSOR_DEFINITIONS = (
+                                        &quot;DEBUG=1&quot;,
+                                        &quot;$(inherited)&quot;,
+                                );
+                                GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+                                GCC_WARN_UNDECLARED_SELECTOR = YES;
+                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                                GCC_WARN_UNUSED_FUNCTION = YES;
+                                GCC_WARN_UNUSED_VARIABLE = YES;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                ONLY_ACTIVE_ARCH = YES;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                SDKROOT = iphoneos;
+                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
+                                WRAPPER_EXTENSION = xctest;
+                        };
+                        name = Debug;
+                };
+                2EE52D0D1890A9A90010ED21 /* Release */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                                ALWAYS_SEARCH_USER_PATHS = NO;
+                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
+                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
+                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
+                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
+                                CLANG_ENABLE_MODULES = YES;
+                                CLANG_ENABLE_OBJC_ARC = YES;
+                                CLANG_WARN_BOOL_CONVERSION = YES;
+                                CLANG_WARN_CONSTANT_CONVERSION = YES;
+                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+                                CLANG_WARN_EMPTY_BODY = YES;
+                                CLANG_WARN_ENUM_CONVERSION = YES;
+                                CLANG_WARN_INT_CONVERSION = YES;
+                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                                COPY_PHASE_STRIP = YES;
+                                ENABLE_NS_ASSERTIONS = NO;
+                                FRAMEWORK_SEARCH_PATHS = (
+                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
+                                        &quot;$(inherited)&quot;,
+                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
+                                );
+                                GCC_C_LANGUAGE_STANDARD = gnu99;
+                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
+                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+                                GCC_WARN_UNDECLARED_SELECTOR = YES;
+                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                                GCC_WARN_UNUSED_FUNCTION = YES;
+                                GCC_WARN_UNUSED_VARIABLE = YES;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                SDKROOT = iphoneos;
+                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
+                                VALIDATE_PRODUCT = YES;
+                                WRAPPER_EXTENSION = xctest;
+                        };
+                        name = Release;
+                };
+                2EE52D0E1890A9A90010ED21 /* Production */ = {
+                        isa = XCBuildConfiguration;
+                        buildSettings = {
+                                ALWAYS_SEARCH_USER_PATHS = NO;
+                                ARCHS = &quot;$(ARCHS_STANDARD_INCLUDING_64_BIT)&quot;;
+                                BUNDLE_LOADER = &quot;$(BUILT_PRODUCTS_DIR)/WebKitTestRunnerApp.app/WebKitTestRunnerApp&quot;;
+                                CLANG_CXX_LANGUAGE_STANDARD = &quot;gnu++0x&quot;;
+                                CLANG_CXX_LIBRARY = &quot;libc++&quot;;
+                                CLANG_ENABLE_MODULES = YES;
+                                CLANG_ENABLE_OBJC_ARC = YES;
+                                CLANG_WARN_BOOL_CONVERSION = YES;
+                                CLANG_WARN_CONSTANT_CONVERSION = YES;
+                                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+                                CLANG_WARN_EMPTY_BODY = YES;
+                                CLANG_WARN_ENUM_CONVERSION = YES;
+                                CLANG_WARN_INT_CONVERSION = YES;
+                                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+                                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                                COPY_PHASE_STRIP = YES;
+                                ENABLE_NS_ASSERTIONS = NO;
+                                FRAMEWORK_SEARCH_PATHS = (
+                                        &quot;$(SDKROOT)/Developer/Library/Frameworks&quot;,
+                                        &quot;$(inherited)&quot;,
+                                        &quot;$(DEVELOPER_FRAMEWORKS_DIR)&quot;,
+                                );
+                                GCC_C_LANGUAGE_STANDARD = gnu99;
+                                GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                                GCC_PREFIX_HEADER = &quot;WebKitTestRunnerApp/WebKitTestRunnerApp-Prefix.pch&quot;;
+                                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+                                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+                                GCC_WARN_UNDECLARED_SELECTOR = YES;
+                                GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                                GCC_WARN_UNUSED_FUNCTION = YES;
+                                GCC_WARN_UNUSED_VARIABLE = YES;
+                                INFOPLIST_FILE = &quot;WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist&quot;;
+                                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+                                PRODUCT_NAME = &quot;$(TARGET_NAME)&quot;;
+                                SDKROOT = iphoneos;
+                                TEST_HOST = &quot;$(BUNDLE_LOADER)&quot;;
+                                VALIDATE_PRODUCT = YES;
+                                WRAPPER_EXTENSION = xctest;
+                        };
+                        name = Production;
+                };
</ins><span class="cx">                 BC25186411D15D55002EBC01 /* Debug */ = {
</span><span class="cx">                         isa = XCBuildConfiguration;
</span><span class="cx">                         baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
</span><span class="lines">@@ -810,6 +1277,26 @@
</span><span class="cx">                         defaultConfigurationIsVisible = 0;
</span><span class="cx">                         defaultConfigurationName = Production;
</span><span class="cx">                 };
</span><ins>+                2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerApp&quot; */ = {
+                        isa = XCConfigurationList;
+                        buildConfigurations = (
+                                2EE52D091890A9A90010ED21 /* Debug */,
+                                2EE52D0A1890A9A90010ED21 /* Release */,
+                                2EE52D0B1890A9A90010ED21 /* Production */,
+                        );
+                        defaultConfigurationIsVisible = 0;
+                        defaultConfigurationName = Production;
+                };
+                2EE52D101890A9A90010ED21 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerAppTests&quot; */ = {
+                        isa = XCConfigurationList;
+                        buildConfigurations = (
+                                2EE52D0C1890A9A90010ED21 /* Debug */,
+                                2EE52D0D1890A9A90010ED21 /* Release */,
+                                2EE52D0E1890A9A90010ED21 /* Production */,
+                        );
+                        defaultConfigurationIsVisible = 0;
+                        defaultConfigurationName = Production;
+                };
</ins><span class="cx">                 BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget &quot;WebKitTestRunnerInjectedBundle&quot; */ = {
</span><span class="cx">                         isa = XCConfigurationList;
</span><span class="cx">                         buildConfigurations = (
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppAppDelegateh"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,15 @@
</span><ins>+//
+//  AppDelegate.h
+//  WebKitTestRunnerApp
+//
+//  Created by David Farler on 1/22/14.
+//
+//
+
+#import &lt;UIKit/UIKit.h&gt;
+
+@interface AppDelegate : UIResponder &lt;UIApplicationDelegate&gt;
+
+@property (strong, nonatomic) UIWindow *window;
+
+@end
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppAppDelegatem"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/AppDelegate.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,49 @@
</span><ins>+//
+//  AppDelegate.m
+//  WebKitTestRunnerApp
+//
+//  Created by David Farler on 1/22/14.
+//
+//
+
+#import &quot;AppDelegate.h&quot;
+
+@implementation AppDelegate
+
+- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
+{
+    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
+    // Override point for customization after application launch.
+    self.window.backgroundColor = [UIColor whiteColor];
+    [self.window makeKeyAndVisible];
+    return YES;
+}
+
+- (void)applicationWillResignActive:(UIApplication *)application
+{
+    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
+    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
+}
+
+- (void)applicationDidEnterBackground:(UIApplication *)application
+{
+    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
+    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
+}
+
+- (void)applicationWillEnterForeground:(UIApplication *)application
+{
+    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
+}
+
+- (void)applicationDidBecomeActive:(UIApplication *)application
+{
+    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
+}
+
+- (void)applicationWillTerminate:(UIApplication *)application
+{
+    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
+}
+
+@end
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppWebKitTestRunnerAppInfoplist"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
+&lt;plist version=&quot;1.0&quot;&gt;
+&lt;dict&gt;
+        &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
+        &lt;string&gt;en&lt;/string&gt;
+        &lt;key&gt;CFBundleDisplayName&lt;/key&gt;
+        &lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundleExecutable&lt;/key&gt;
+        &lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+        &lt;string&gt;org.webkit.${PRODUCT_NAME:rfc1034identifier}&lt;/string&gt;
+        &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
+        &lt;string&gt;6.0&lt;/string&gt;
+        &lt;key&gt;CFBundleName&lt;/key&gt;
+        &lt;string&gt;${PRODUCT_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundlePackageType&lt;/key&gt;
+        &lt;string&gt;APPL&lt;/string&gt;
+        &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
+        &lt;string&gt;1.0&lt;/string&gt;
+        &lt;key&gt;CFBundleSignature&lt;/key&gt;
+        &lt;string&gt;????&lt;/string&gt;
+        &lt;key&gt;CFBundleVersion&lt;/key&gt;
+        &lt;string&gt;1.0&lt;/string&gt;
+        &lt;key&gt;LSRequiresIPhoneOS&lt;/key&gt;
+        &lt;true/&gt;
+        &lt;key&gt;UIRequiredDeviceCapabilities&lt;/key&gt;
+        &lt;array&gt;
+                &lt;string&gt;armv7&lt;/string&gt;
+        &lt;/array&gt;
+        &lt;key&gt;UISupportedInterfaceOrientations&lt;/key&gt;
+        &lt;array&gt;
+                &lt;string&gt;UIInterfaceOrientationPortrait&lt;/string&gt;
+                &lt;string&gt;UIInterfaceOrientationLandscapeLeft&lt;/string&gt;
+                &lt;string&gt;UIInterfaceOrientationLandscapeRight&lt;/string&gt;
+        &lt;/array&gt;
+        &lt;key&gt;UISupportedInterfaceOrientations~ipad&lt;/key&gt;
+        &lt;array&gt;
+                &lt;string&gt;UIInterfaceOrientationPortrait&lt;/string&gt;
+                &lt;string&gt;UIInterfaceOrientationPortraitUpsideDown&lt;/string&gt;
+                &lt;string&gt;UIInterfaceOrientationLandscapeLeft&lt;/string&gt;
+                &lt;string&gt;UIInterfaceOrientationLandscapeRight&lt;/string&gt;
+        &lt;/array&gt;
+&lt;/dict&gt;
+&lt;/plist&gt;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppenlprojInfoPliststrings"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerApp/en.lproj/InfoPlist.strings        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+/* Localized versions of Info.plist keys */
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsInfoplist"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests-Info.plist        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
+&lt;plist version=&quot;1.0&quot;&gt;
+&lt;dict&gt;
+        &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
+        &lt;string&gt;en&lt;/string&gt;
+        &lt;key&gt;CFBundleExecutable&lt;/key&gt;
+        &lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+        &lt;string&gt;org.webkit.${PRODUCT_NAME:rfc1034identifier}&lt;/string&gt;
+        &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
+        &lt;string&gt;6.0&lt;/string&gt;
+        &lt;key&gt;CFBundlePackageType&lt;/key&gt;
+        &lt;string&gt;BNDL&lt;/string&gt;
+        &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
+        &lt;string&gt;1.0&lt;/string&gt;
+        &lt;key&gt;CFBundleSignature&lt;/key&gt;
+        &lt;string&gt;????&lt;/string&gt;
+        &lt;key&gt;CFBundleVersion&lt;/key&gt;
+        &lt;string&gt;1&lt;/string&gt;
+&lt;/dict&gt;
+&lt;/plist&gt;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsWebKitTestRunnerAppTestsm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/WebKitTestRunnerAppTests.m        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,34 @@
</span><ins>+//
+//  WebKitTestRunnerAppTests.m
+//  WebKitTestRunnerAppTests
+//
+//  Created by David Farler on 1/22/14.
+//
+//
+
+#import &lt;XCTest/XCTest.h&gt;
+
+@interface WebKitTestRunnerAppTests : XCTestCase
+
+@end
+
+@implementation WebKitTestRunnerAppTests
+
+- (void)setUp
+{
+    [super setUp];
+    // Put setup code here. This method is called before the invocation of each test method in the class.
+}
+
+- (void)tearDown
+{
+    // Put teardown code here. This method is called after the invocation of each test method in the class.
+    [super tearDown];
+}
+
+- (void)testExample
+{
+    XCTFail(@&quot;No implementation for \&quot;%s\&quot;&quot;, __PRETTY_FUNCTION__);
+}
+
+@end
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsenlprojInfoPliststrings"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests/en.lproj/InfoPlist.strings        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,2 @@
</span><ins>+/* Localized versions of Info.plist keys */
+
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerAppTestsInfoplist"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests-Info.plist (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests-Info.plist                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerAppTests-Info.plist        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,22 @@
</span><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
+&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;
+&lt;plist version=&quot;1.0&quot;&gt;
+&lt;dict&gt;
+        &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
+        &lt;string&gt;en&lt;/string&gt;
+        &lt;key&gt;CFBundleExecutable&lt;/key&gt;
+        &lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;
+        &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
+        &lt;string&gt;org.webkit.${PRODUCT_NAME:rfc1034identifier}&lt;/string&gt;
+        &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
+        &lt;string&gt;6.0&lt;/string&gt;
+        &lt;key&gt;CFBundlePackageType&lt;/key&gt;
+        &lt;string&gt;BNDL&lt;/string&gt;
+        &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
+        &lt;string&gt;1.0&lt;/string&gt;
+        &lt;key&gt;CFBundleSignature&lt;/key&gt;
+        &lt;string&gt;????&lt;/string&gt;
+        &lt;key&gt;CFBundleVersion&lt;/key&gt;
+        &lt;string&gt;1&lt;/string&gt;
+&lt;/dict&gt;
+&lt;/plist&gt;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnerWebKitTestRunnerPrefixh"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/WebKitTestRunnerPrefix.h        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -24,7 +24,7 @@
</span><span class="cx">  */
</span><span class="cx"> 
</span><span class="cx"> #ifdef __OBJC__
</span><del>-#include &lt;Cocoa/Cocoa.h&gt;
</del><ins>+#import &lt;Foundation/Foundation.h&gt;
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> #if defined(BUILDING_GTK__)
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunnercgTestInvocationCGcpp"></a>
<div class="modfile"><h4>Modified: branches/jsCStack/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/Tools/WebKitTestRunner/cg/TestInvocationCG.cpp        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -35,10 +35,15 @@
</span><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> #include &lt;wtf/StringExtras.h&gt;
</span><span class="cx"> 
</span><del>-#if PLATFORM(MAC)
</del><ins>+#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS)
</ins><span class="cx"> #include &lt;LaunchServices/UTCoreTypes.h&gt;
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><ins>+#if PLATFORM(IOS)
+// FIXME: get kUTTypePNG from MobileCoreServices on iOS
+static const CFStringRef kUTTypePNG = CFSTR(&quot;public.png&quot;);
+#endif
+
</ins><span class="cx"> namespace WTR {
</span><span class="cx"> 
</span><span class="cx"> enum FlipGraphicsContextOrNot {
</span></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunneriOSxcconfig"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/iOS.xcconfig (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/iOS.xcconfig                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/iOS.xcconfig        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1 @@
</span><ins>+#include &quot;&lt;DEVELOPER_DIR&gt;/AppleInternal/XcodeConfig/AspenFamily.xcconfig&quot;
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunneriosPlatformWebViewIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,224 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;PlatformWebView.h&quot;
+#include &quot;TestController.h&quot;
+
+#import &lt;WebKit2/WKImageCG.h&gt;
+#import &lt;WebKit2/WKViewPrivate.h&gt;
+#import &lt;WebKit2/WKPreferencesPrivate.h&gt;
+#import &lt;wtf/RetainPtr.h&gt;
+
+@interface WebKitTestRunnerWindow : UIWindow {
+    WTR::PlatformWebView* _platformWebView;
+    CGPoint _fakeOrigin;
+}
+@property (nonatomic, assign) WTR::PlatformWebView* platformWebView;
+@end
+
+@interface TestRunnerWKView : WKView {
+    BOOL _useTiledDrawing;
+}
+
+- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage useTiledDrawing:(BOOL)useTiledDrawing;
+
+@property (nonatomic, assign) BOOL useTiledDrawing;
+@end
+
+@implementation TestRunnerWKView
+
+@synthesize useTiledDrawing = _useTiledDrawing;
+
+- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage useTiledDrawing:(BOOL)useTiledDrawing
+{
+    _useTiledDrawing = useTiledDrawing;
+    return [super initWithFrame:frame contextRef:contextRef pageGroupRef:pageGroupRef];
+}
+
+- (BOOL)_shouldUseTiledDrawingArea
+{
+    return _useTiledDrawing;
+}
+
+@end
+
+@implementation WebKitTestRunnerWindow
+@synthesize platformWebView = _platformWebView;
+
+- (BOOL)isKeyWindow
+{
+    return _platformWebView ? _platformWebView-&gt;windowIsKey() : YES;
+}
+
+- (void)setFrameOrigin:(CGPoint)point
+{
+    _fakeOrigin = point;
+}
+
+// FIXME: these frame gyrations cause the window to go half offscreen.
+- (void)setFrame:(CGRect)windowFrame
+{
+    CGRect currentFrame = [super frame];
+
+    _fakeOrigin = windowFrame.origin;
+
+    [super setFrame:CGRectMake(currentFrame.origin.x, currentFrame.origin.y, windowFrame.size.width, windowFrame.size.height)];
+}
+
+- (CGRect)frameRespectingFakeOrigin
+{
+    CGRect currentFrame = [self frame];
+    return CGRectMake(_fakeOrigin.x, _fakeOrigin.y, currentFrame.size.width, currentFrame.size.height);
+}
+
+- (CGFloat)backingScaleFactor
+{
+    return 1;
+}
+
+@end
+
+@interface UIWindow (Details)
+
+- (void)_setWindowResolution:(CGFloat)resolution displayIfChanged:(BOOL)displayIfChanged;
+
+@end
+
+namespace WTR {
+
+PlatformWebView::PlatformWebView(WKContextRef contextRef, WKPageGroupRef pageGroupRef, WKPageRef relatedPage, WKDictionaryRef options)
+    : m_windowIsKey(true)
+    , m_options(options)
+{
+    WKRetainPtr&lt;WKStringRef&gt; useTiledDrawingKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;TiledDrawing&quot;));
+    WKTypeRef useTiledDrawingValue = options ? WKDictionaryGetItemForKey(options, useTiledDrawingKey.get()) : NULL;
+    bool useTiledDrawing = useTiledDrawingValue &amp;&amp; WKBooleanGetValue(static_cast&lt;WKBooleanRef&gt;(useTiledDrawingValue));
+
+    CGRect rect = CGRectMake(0, 0, TestController::viewWidth, TestController::viewHeight);
+    m_view = [[TestRunnerWKView alloc] initWithFrame:rect contextRef:contextRef pageGroupRef:pageGroupRef relatedToPage:relatedPage useTiledDrawing:useTiledDrawing];
+
+    WKPreferencesSetCompositingBordersVisible(WKPageGroupGetPreferences(pageGroupRef), YES);
+    WKPreferencesSetCompositingRepaintCountersVisible(WKPageGroupGetPreferences(pageGroupRef), YES);
+
+    CGRect windowRect = rect;
+    m_window = [[WebKitTestRunnerWindow alloc] initWithFrame:windowRect];
+    m_window.platformWebView = this;
+
+    [m_window addSubview:m_view];
+    [m_window makeKeyAndVisible];
+}
+
+void PlatformWebView::resizeTo(unsigned width, unsigned height)
+{
+    CGRect windowFrame = [m_window frame];
+    windowFrame.size.width = width;
+    windowFrame.size.height = height;
+    [m_window setFrame:windowFrame];
+    [m_view setFrame:CGRectMake(0, 0, width, height)];
+}
+
+PlatformWebView::~PlatformWebView()
+{
+    m_window.platformWebView = 0;
+//    [m_window close];
+    [m_view release];
+    [m_window release];
+}
+
+WKPageRef PlatformWebView::page()
+{
+    return [m_view pageRef];
+}
+
+void PlatformWebView::focus()
+{
+//    [m_window makeFirstResponder:m_view]; // FIXME: iOS equivalent?
+    setWindowIsKey(true);
+}
+
+WKRect PlatformWebView::windowFrame()
+{
+    CGRect frame = [m_window frameRespectingFakeOrigin];
+
+    WKRect wkFrame;
+    wkFrame.origin.x = frame.origin.x;
+    wkFrame.origin.y = frame.origin.y;
+    wkFrame.size.width = frame.size.width;
+    wkFrame.size.height = frame.size.height;
+    return wkFrame;
+}
+
+void PlatformWebView::setWindowFrame(WKRect frame)
+{
+    [m_window setFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height)];
+}
+
+void PlatformWebView::didInitializeClients()
+{
+    // Set a temporary 1x1 window frame to force a WindowAndViewFramesChanged notification. &lt;rdar://problem/13380145&gt;
+    WKRect wkFrame = windowFrame();
+    [m_window setFrame:CGRectMake(0, 0, 1, 1)];
+    setWindowFrame(wkFrame);
+}
+
+void PlatformWebView::addChromeInputField()
+{
+    UITextField* textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 100, 20)];
+    textField.tag = 1;
+    [m_window addSubview:textField];
+    [textField release];
+}
+
+void PlatformWebView::removeChromeInputField()
+{
+    UITextField* textField = (UITextField*)[m_window viewWithTag:1];
+    if (textField) {
+        [textField removeFromSuperview];
+        makeWebViewFirstResponder();
+        [textField release];
+    }
+}
+
+void PlatformWebView::makeWebViewFirstResponder()
+{
+//    [m_window makeFirstResponder:m_view];
+}
+
+WKRetainPtr&lt;WKImageRef&gt; PlatformWebView::windowSnapshotImage()
+{
+    return 0; // FIXME for iOS?
+}
+
+bool PlatformWebView::viewSupportsOptions(WKDictionaryRef options) const
+{
+    WKRetainPtr&lt;WKStringRef&gt; useTiledDrawingKey(AdoptWK, WKStringCreateWithUTF8CString(&quot;TiledDrawing&quot;));
+    WKTypeRef useTiledDrawingValue = WKDictionaryGetItemForKey(options, useTiledDrawingKey.get());
+    bool useTiledDrawing = useTiledDrawingValue &amp;&amp; WKBooleanGetValue(static_cast&lt;WKBooleanRef&gt;(useTiledDrawingValue));
+
+    return useTiledDrawing == [(TestRunnerWKView *)m_view useTiledDrawing];
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunneriosTestControllerIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/ios/TestControllerIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/ios/TestControllerIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/ios/TestControllerIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,88 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;TestController.h&quot;
+
+#import &quot;PlatformWebView.h&quot;
+#import &lt;WebKit2/WKStringCF.h&gt;
+#include &lt;wtf/MainThread.h&gt;
+
+namespace WTR {
+
+void TestController::notifyDone()
+{
+}
+
+void TestController::platformInitialize()
+{
+}
+
+void TestController::platformDestroy()
+{
+}
+
+void TestController::initializeInjectedBundlePath()
+{
+    NSString *nsBundlePath = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@&quot;WebKitTestRunnerInjectedBundle.bundle&quot;];
+    m_injectedBundlePath.adopt(WKStringCreateWithCFString((CFStringRef)nsBundlePath));
+}
+
+void TestController::initializeTestPluginDirectory()
+{
+    m_testPluginDirectory.adopt(WKStringCreateWithCFString((CFStringRef)[[NSBundle mainBundle] bundlePath]));
+}
+
+void TestController::platformRunUntil(bool&amp; done, double timeout)
+{
+    NSDate *endDate = (timeout &gt; 0) ? [NSDate dateWithTimeIntervalSinceNow:timeout] : [NSDate distantFuture];
+
+    while (!done &amp;&amp; [endDate compare:[NSDate date]] == NSOrderedDescending)
+        [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:endDate];
+}
+
+void TestController::platformInitializeContext()
+{
+}
+
+void TestController::runModal(PlatformWebView* view)
+{
+    UIWindow *window = [view-&gt;platformView() window];
+    if (!window)
+        return;
+    // FIXME: how to perform on iOS?
+//    [[UIApplication sharedApplication] runModalForWindow:window];
+}
+
+const char* TestController::platformLibraryPathForTesting()
+{
+    return [[@&quot;~/Library/Application Support/WebKitTestRunner&quot; stringByExpandingTildeInPath] UTF8String];
+}
+
+void TestController::setHidden(bool) {
+    // FIXME: implement for iOS
+}
+
+} // namespace WTR
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunneriosWebArchiveDumpSupportIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/ios/WebArchiveDumpSupportIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,41 @@
</span><ins>+/*
+f* Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+#import &quot;WebArchiveDumpSupport.h&quot;
+
+#if PLATFORM(IOS)
+
+CFURLResponseRef createCFURLResponseFromResponseData(CFDataRef /*responseData*/)
+{
+    return 0;
+}
+
+CFArrayRef supportedNonImageMIMETypes()
+{
+    return 0;
+}
+
+#endif // PLATFORM(IOS)
</ins></span></pre></div>
<a id="branchesjsCStackToolsWebKitTestRunneriosmainIOSmm"></a>
<div class="addfile"><h4>Added: branches/jsCStack/Tools/WebKitTestRunner/ios/mainIOS.mm (0 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/Tools/WebKitTestRunner/ios/mainIOS.mm                                (rev 0)
+++ branches/jsCStack/Tools/WebKitTestRunner/ios/mainIOS.mm        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2014 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.
+ */
+
+#import &quot;config.h&quot;
+
+#import &quot;TestController.h&quot;
+
+
+static int _argc;
+static const char **_argv;
+
+@interface WebKitTestRunnerApp : UIApplication
+@end
+
+@implementation WebKitTestRunnerApp
+
+- (void)_runTestController
+{
+    WTR::TestController controller(_argc, _argv);
+}
+
+- (void)applicationDidFinishLaunching:(NSNotification *)notification
+{
+    [self performSelectorOnMainThread:@selector(_runTestController) withObject:nil waitUntilDone:NO];
+}
+
+@end
+
+int main(int argc, const char* argv[])
+{
+    _argc = argc;
+    _argv = argv;
+
+    UIApplicationMain(argc, (char**)argv, NSStringFromClass([WebKitTestRunnerApp class]), nil);
+    return 0;
+}
</ins></span></pre></div>
<a id="branchesjsCStackouttxt"></a>
<div class="delfile"><h4>Deleted: branches/jsCStack/out.txt (162853 => 162854)</h4>
<pre class="diff"><span>
<span class="info">--- branches/jsCStack/out.txt        2014-01-27 20:21:21 UTC (rev 162853)
+++ branches/jsCStack/out.txt        2014-01-27 20:28:10 UTC (rev 162854)
</span><span class="lines">@@ -1,2973 +0,0 @@
</span><del>-Index: WebKitLibraries/LLVMIncludesMountainLion.tar.bz2
-Index: WebKitLibraries/libWebKitSystemInterfaceLion.a
-Index: WebKitLibraries/LLVMLibrariesMountainLion.tar.bz2
-Index: WebKitLibraries/libWebKitSystemInterfaceMavericks.a
-Index: WebKitLibraries/ChangeLog
-Index: WebKitLibraries/win/lib32/WebKitSystemInterface.lib
-Index: WebKitLibraries/libWebKitSystemInterfaceMountainLion.a
-Index: PerformanceTests/ChangeLog
-Index: PerformanceTests/SunSpider/ChangeLog
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/boot/page.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/data.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/css/custom.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/templates.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/LICENSE.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/package.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jquery/composer.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jquery/component.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/requirejs/require.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/index.html
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/karma.conf.js
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/README.md
-Index: PerformanceTests/DoYouEvenBench/flightjs-example-app/requireMain.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/license.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx
-Index: PerformanceTests/DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/router.js
-Index: PerformanceTests/DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png
-Index: PerformanceTests/DoYouEvenBench/resources/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png
-Index: PerformanceTests/DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png
-Index: Websites/bugs.webkit.org/ChangeLog
-Index: Websites/webkit.org/ChangeLog
-Index: Websites/test-results/ChangeLog
-Index: Websites/test-results/public/include/json-shared.php
-Index: ChangeLog
-Index: LayoutTests/media/media-controller-drag-crash-expected.txt
-Index: LayoutTests/media/media-controller-drag-crash.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-max-height.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-height-expected.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-max-height-2-expected.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-max-height-expected.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-max-height-2.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-height-2.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-height-2-expected.html
-Index: LayoutTests/fast/multicol/newmulticol/unresolvable-percent-height.html
-Index: LayoutTests/fast/dom/HTMLTableElement/empy-table-cell-with-background-color.html
-Index: LayoutTests/fast/dom/HTMLTableElement/empy-table-cell-with-background-color-expected.txt
-Index: LayoutTests/fast/dom/HTMLTableColElement/resize-table-width-using-col-width.html
-Index: LayoutTests/fast/dom/HTMLTableColElement/resize-table-width-using-col-width-expected.txt
-Index: LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute-expected.txt
-Index: LayoutTests/fast/dom/HTMLHrElement/hr-color-noshade-attribute.html
-Index: LayoutTests/fast/gradients/crash-on-no-position-separator-expected.txt
-Index: LayoutTests/fast/gradients/crash-on-no-position-separator.html
-Index: LayoutTests/fast/canvas/webgl/oes-texture-half-float-linear-expected.txt
-Index: LayoutTests/fast/canvas/webgl/oes-texture-half-float-linear.html
-Index: LayoutTests/fast/canvas/webgl/angle-instanced-arrays-expected.txt
-Index: LayoutTests/fast/canvas/webgl/angle-instanced-arrays.html
-Index: LayoutTests/fast/images/animate-list-item-image-assertion-expected.txt
-Index: LayoutTests/fast/images/animate-list-item-image-assertion.html
-Index: LayoutTests/fast/css-grid-layout/resources/grid-definitions-parsing-utils.js
-Index: LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
-Index: LayoutTests/fast/css-grid-layout/grid-columns-rows-get-set.html
-Index: LayoutTests/fast/css/scrollbar-image-crash-expected.txt
-Index: LayoutTests/fast/css/scrollbar-image-crash.html
-Index: LayoutTests/fast/css/pending-image-crash-expected.txt
-Index: LayoutTests/fast/frames/resources/viewsource-fake-image-file.png
-Index: LayoutTests/js/script-tests/large-expressions.js
-Index: LayoutTests/js/script-tests/dfg-add-not-number.js
-Index: LayoutTests/js/large-expressions-expected.txt
-Index: LayoutTests/js/regress/script-tests/stepanov_container.js
-Index: LayoutTests/js/regress/stepanov_container-expected.txt
-Index: LayoutTests/js/regress/stepanov_container.html
-Index: LayoutTests/plugins/resources/yellow.mov
-Index: LayoutTests/ChangeLog
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-mix-property-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-at-rule-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-geometry-property-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-mix-property-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-at-rule-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-src-property-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-geometry-property-invalid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-mix-property-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-at-rule-valid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-src-property-valid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-at-rule-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-src-property-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid.html
-Index: LayoutTests/css3/filters/custom-with-at-rule-syntax/parsing-geometry-property-valid.html
-Index: LayoutTests/css3/filters/custom/effect-custom-transform-parameters.html
-Index: LayoutTests/css3/filters/custom/effect-custom-parameters-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-property-parsing.html
-Index: LayoutTests/css3/filters/custom/custom-filter-transforms-animation-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-crash-inline-computed-style.html
-Index: LayoutTests/css3/filters/custom/custom-filter-animation-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-blend-modes.html
-Index: LayoutTests/css3/filters/custom/missing-custom-filter-shader-expected.png
-Index: LayoutTests/css3/filters/custom/missing-custom-filter-shader-expected.png
-Index: LayoutTests/css3/filters/custom/effect-custom-combined-missing.html
-Index: LayoutTests/css3/filters/custom/custom-filter-array-blending.html
-Index: LayoutTests/css3/filters/custom/custom-filter-unavailable-varying-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-color-matrix-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-unavailable-varying.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-color-matrix.html
-Index: LayoutTests/css3/filters/custom/custom-filter-mesh-column-row-order-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-a-tex-coord-optional-expected.html
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-uniform-types.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-mesh-size.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-tile-size.html
-Index: LayoutTests/css3/filters/custom/effect-custom-parameters.html
-Index: LayoutTests/css3/filters/custom/custom-filter-transforms-animation.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-rotated-expected.txt
-Index: LayoutTests/css3/filters/custom/effect-custom-combined-missing-expected.png
-Index: LayoutTests/css3/filters/custom/effect-custom-combined-missing-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-color.html
-Index: LayoutTests/css3/filters/custom/custom-filter-animation.html
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-cache-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-luminosity.html
-Index: LayoutTests/css3/filters/custom/custom-filter-blend-modes-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-operators-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-color.html
-Index: LayoutTests/css3/filters/custom/effect-custom-parameters-expected.png
-Index: LayoutTests/css3/filters/custom/effect-custom-parameters-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-change-blend-mode.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-mix-color.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-mix-color-negative.html
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-attribute-types.html
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-shader.html
-Index: LayoutTests/css3/filters/custom/custom-filter-array-uniform-indirect-index-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-no-element-texture-access-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-no-element-texture-access.html
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-reuse-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-fractional-source-alpha-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-mix-bindings-expected.txt
-Index: LayoutTests/css3/filters/custom/effect-color-check-expected.txt
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-rotated.html
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-uniform-types-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-blend-fractional-destination-alpha.html
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-cache.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-texture-size-expected.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-array-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-operators.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-rotated-expected.png
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-rotated-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-css-keyword-as-parameter-name-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-u-mesh-box-expected.html
-Index: LayoutTests/css3/filters/custom/effect-custom-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-u-mesh-box.html
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-cache-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-cache-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-shader-reuse.html
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-color-expected.html
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-attribute-types-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-change-blend-mode-expected.html
-Index: LayoutTests/css3/filters/custom/effect-color-check.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-mix-color-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-mix-color-negative-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-mix-bindings.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-clipped-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-color-matrix-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-hue-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-hue.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-operators-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-matN-expected.html
-Index: LayoutTests/css3/filters/custom/filter-fallback-to-software-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-array-uniform-indirect-index.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-fractional-source-alpha.html
-Index: LayoutTests/css3/filters/custom/custom-filter-detached-mesh-with-mesh-box-type.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-mesh-size-expected.html
-Index: LayoutTests/css3/filters/custom/effect-color-check-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-css-keyword-as-parameter-name.html
-Index: LayoutTests/css3/filters/custom/composited/custom-filter-blend-modes-expected.html
-Index: LayoutTests/css3/filters/custom/composited/custom-filter-blend-modes.html
-Index: LayoutTests/css3/filters/custom/effect-custom.html
-Index: LayoutTests/css3/filters/custom/custom-filter-property-computed-style-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-source-atop-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-color-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-color-matrix.html
-Index: LayoutTests/css3/filters/custom/custom-filter-reload-expected.txt
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-clipped.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-expected.png
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-expected.png
-Index: LayoutTests/css3/filters/custom/effect-custom-transform-parameters-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-property-parsing-invalid-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-css-keyword-as-parameter-name-expected.png
-Index: LayoutTests/css3/filters/custom/missing-custom-filter-shader-expected.txt
-Index: LayoutTests/css3/filters/custom/effect-custom-disabled-expected.txt
-Index: LayoutTests/css3/filters/custom/effect-custom-expected.png
-Index: LayoutTests/css3/filters/custom/effect-custom-expected.png
-Index: LayoutTests/css3/filters/custom/invalid-custom-filter-shader-expected.html
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-clipped-expected.png
-Index: LayoutTests/css3/filters/custom/filter-repaint-custom-clipped-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-color-matrix-expected.png
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-color-matrix-negative-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-matN.html
-Index: LayoutTests/css3/filters/custom/custom-filter-property-parsing-expected.txt
-Index: LayoutTests/css3/filters/custom/filter-fallback-to-software.html
-Index: LayoutTests/css3/filters/custom/custom-filter-clamp-css-color-matrix-negative.html
-Index: LayoutTests/css3/filters/custom/custom-filter-property-computed-style.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-source-atop.html
-Index: LayoutTests/css3/filters/custom/custom-filter-crash-inline-computed-style-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-nonseparable-blend-mode-saturation.html
-Index: LayoutTests/css3/filters/custom/custom-filter-blend-fractional-destination-alpha-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-a-tex-coord-optional.html
-Index: LayoutTests/css3/filters/custom/custom-filter-mesh-column-row-order.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-tile-size-expected.html
-Index: LayoutTests/css3/filters/custom/custom-filter-reload.html
-Index: LayoutTests/css3/filters/custom/custom-filter-array-blending-expected.txt
-Index: LayoutTests/css3/filters/custom/effect-custom-combined-missing-expected.txt
-Index: LayoutTests/css3/filters/custom/custom-filter-property-parsing-invalid.html
-Index: LayoutTests/css3/filters/custom/custom-filter-u-texture-size.html
-Index: LayoutTests/css3/filters/custom/missing-custom-filter-shader.html
-Index: LayoutTests/css3/filters/custom/custom-filter-array.html
-Index: LayoutTests/css3/filters/custom/effect-custom-disabled.html
-Index: LayoutTests/css3/filters/custom/custom-filter-composite-source-atop-expected.png
-Index: LayoutTests/css3/compositing/blend-mode-layers.html
-Index: LayoutTests/css3/compositing/blend-mode-should-not-have-compositing-layer.html
-Index: LayoutTests/css3/compositing/blend-mode-simple.html
-Index: LayoutTests/css3/compositing/blend-mode-reflection.html
-Index: LayoutTests/css3/compositing/blend-mode-overflow.html
-Index: LayoutTests/platform/blackberry/http/tests/websocket/tests/enable-disable-setting-expected.txt
-Index: LayoutTests/platform/blackberry/http/tests/websocket/tests/enable-disable-setting.html
-Index: LayoutTests/platform/blackberry/media/short-media-repeats-correctly.html
-Index: LayoutTests/platform/blackberry/media/video-controls-enlarged-fullscreen-nometa-expected.txt
-Index: LayoutTests/platform/blackberry/media/video-automatic-fullscreen-expected.txt
-Index: LayoutTests/platform/blackberry/media/video-controls-enlarged-fullscreen-meta-expected.txt
-Index: LayoutTests/platform/blackberry/media/media-can-play-ogg-expected.txt
-Index: LayoutTests/platform/blackberry/media/video-controls-enlarged-fullscreen-nometa.html
-Index: LayoutTests/platform/blackberry/media/video-automatic-fullscreen.html
-Index: LayoutTests/platform/blackberry/media/video-controls-enlarged-fullscreen-meta.html
-Index: LayoutTests/platform/blackberry/media/short-media-repeats-correctly-expected.txt
-Index: LayoutTests/platform/blackberry/plugins/swf-as-src-of-iframe-expected.txt
-Index: LayoutTests/platform/blackberry/plugins/swf-as-src-of-iframe.html
-Index: LayoutTests/platform/blackberry/external/search-provider/search-provider-installed-expected.txt
-Index: LayoutTests/platform/blackberry/external/search-provider/search-provider-installed.html
-Index: LayoutTests/platform/blackberry/editing/text-iterator/findString-markers-expected.txt
-Index: LayoutTests/platform/blackberry/editing/text-iterator/findString-markers.html
-Index: LayoutTests/platform/blackberry/js/dom/constructor-length-expected.txt
-Index: LayoutTests/platform/blackberry/fast/media/w3c/test_media_queries-expected.txt
-Index: LayoutTests/platform/blackberry/fast/forms/datalist/input-list-expected.txt
-Index: LayoutTests/platform/blackberry/fast/forms/number/number-validation-message-expected.txt
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/css-webkit-canvas-expected.txt
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/css-webkit-canvas-repaint-expected.txt
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/draw-elements-out-of-bounds-expected.txt
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/css-webkit-canvas-expected.png
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/css-webkit-canvas-repaint-expected.png
-Index: LayoutTests/platform/blackberry/fast/canvas/webgl/framebuffer-object-attachment-expected.txt
-Index: LayoutTests/platform/gtk/fast/text/basic/013-expected.png
-Index: LayoutTests/platform/gtk/svg/text/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/gtk/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/gtk/svg/custom/text-letter-spacing-expected.png
-Index: LayoutTests/platform/gtk/css1/text_properties/letter_spacing-expected.png
-Index: LayoutTests/platform/gtk/css1/text_properties/word_spacing-expected.png
-Index: LayoutTests/platform/gtk-wk1/fast/css/first-letter-block-change-expected.png
-Index: LayoutTests/platform/gtk-wk2/fast/css/first-letter-block-change-expected.png
-Index: LayoutTests/platform/gtk-wk2/fast/css/first-letter-block-change-expected.png
-Index: LayoutTests/platform/win/fast/css-generated-content/table-row-group-to-inline-expected.txt
-Index: LayoutTests/platform/mac/fast/text/basic/013-expected.png
-Index: LayoutTests/platform/mac/fast/images/pdf-as-image-landscape-expected.png
-Index: LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/tabbing-input-iframe-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-sizes-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-option-delete-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/search/search-size-with-decorations-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/textfield-overflow-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/color/input-appearance-color-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/formmove2-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-disabled-color-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-visibility-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-readonly-empty-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/basic-textareas-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-generated-content-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/indeterminate-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-readonly-autoscroll-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/007-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-table-styles-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-align-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-cannot-be-nested-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-height-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-spaces-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/001-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-value-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-focus-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/placeholder-pseudo-style-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/basic-buttons-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-white-space-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/linebox-overflow-in-textarea-padding-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/basic-textareas-quirks-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-drag-down-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/006-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-default-bkcolor-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-double-click-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-baseline-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/form-element-geometry-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-positioned-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/listbox-hit-test-zoomed-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-preventDefault-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/fieldset-legend-padding-unclipped-fieldset-border-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/search-rtl-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/blankbuttons-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-readonly-dimmed-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-width-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/visual-hebrew-text-field-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-style-color-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/textfield-focus-ring-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-readonly-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/fieldset-align-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/search-vertical-alignment-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/select-baseline-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-word-wrap-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/control-restrict-line-height-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/textAreaLineHeight-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/menulist-clip-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/formmove-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/search-display-none-cancel-button-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-button-sizes-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-text-transform-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/box-shadow-override-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-disabled-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/searchfield-heights-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/fieldset-with-float-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/basic-inputs-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/file/file-input-direction-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/file/input-file-re-render-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/file/file-input-disabled-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/float-before-fieldset-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/minWidthPercent-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/validation-message-appearance-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-click-inside-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-selection-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/number/number-appearance-spinbutton-layer-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/number/number-appearance-rtl-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/button-default-title-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/formmove3-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-click-outside-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/range/input-appearance-range-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/targeted-frame-submission-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/placeholder-position-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-table-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-text-self-emptying-click-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-appearance-bkcolor-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/encoding-test-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/input-double-click-selection-gap-bug-expected.txt
-Index: LayoutTests/platform/mac/fast/forms/text-style-color-expected.txt
-Index: LayoutTests/platform/mac/fast/invalid/014-expected.txt
-Index: LayoutTests/platform/mac/fast/invalid/junk-data-expected.txt
-Index: LayoutTests/platform/mac/fast/invalid/nestedh3s-expected.txt
-Index: LayoutTests/platform/mac/fast/invalid/missing-end-tag-expected.txt
-Index: LayoutTests/platform/mac/fast/invalid/010-expected.txt
-Index: LayoutTests/platform/mac/fast/clip/overflow-border-radius-composited-expected.txt
-Index: LayoutTests/platform/mac/fast/clip/overflow-border-radius-transformed-expected.txt
-Index: LayoutTests/platform/mac/fast/table/040-expected.txt
-Index: LayoutTests/platform/mac/fast/table/colspanMinWidth-vertical-expected.txt
-Index: LayoutTests/platform/mac/fast/table/percent-heights-expected.txt
-Index: LayoutTests/platform/mac/fast/table/mozilla-bug10296-vertical-align-1-expected.txt
-Index: LayoutTests/platform/mac/fast/table/append-cells2-expected.txt
-Index: LayoutTests/platform/mac/fast/table/dynamic-caption-add-before-child-expected.png
-Index: LayoutTests/platform/mac/fast/table/remove-td-display-none-expected.txt
-Index: LayoutTests/platform/mac/fast/table/overflowHidden-expected.txt
-Index: LayoutTests/platform/mac/fast/table/040-vertical-expected.txt
-Index: LayoutTests/platform/mac/fast/table/nested-percent-height-table-expected.txt
-Index: LayoutTests/platform/mac/fast/table/border-collapsing/004-expected.txt
-Index: LayoutTests/platform/mac/fast/table/border-collapsing/004-vertical-expected.txt
-Index: LayoutTests/platform/mac/fast/table/colspanMinWidth-expected.txt
-Index: LayoutTests/platform/mac/fast/table/014-expected.txt
-Index: LayoutTests/platform/mac/fast/table/table-display-types-strict-expected.txt
-Index: LayoutTests/platform/mac/fast/table/text-field-baseline-expected.txt
-Index: LayoutTests/platform/mac/fast/table/table-hspace-align-center-expected.txt
-Index: LayoutTests/platform/mac/fast/table/absolute-table-at-bottom-expected.txt
-Index: LayoutTests/platform/mac/fast/table/spanOverlapRepaint-expected.txt
-Index: LayoutTests/platform/mac/fast/table/041-expected.txt
-Index: LayoutTests/platform/mac/fast/table/009-expected.txt
-Index: LayoutTests/platform/mac/fast/table/mozilla-bug10296-vertical-align-2-expected.txt
-Index: LayoutTests/platform/mac/fast/table/frame-and-rules-expected.txt
-Index: LayoutTests/platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png
-Index: LayoutTests/platform/mac/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt
-Index: LayoutTests/platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt
-Index: LayoutTests/platform/mac/fast/css/hsla-color-expected.txt
-Index: LayoutTests/platform/mac/fast/css/line-height-expected.txt
-Index: LayoutTests/platform/mac/fast/css/first-line-text-decoration-expected.txt
-Index: LayoutTests/platform/mac/fast/css/only-of-type-pseudo-class-expected.txt
-Index: LayoutTests/platform/mac/fast/css/rtl-ordering-expected.txt
-Index: LayoutTests/platform/mac/fast/css/transform-default-parameter-expected.txt
-Index: LayoutTests/platform/mac/fast/css/hsl-color-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-expected.txt
-Index: LayoutTests/platform/mac/fast/css/css2-system-fonts-expected.txt
-Index: LayoutTests/platform/mac/fast/css/non-standard-checkbox-size-expected.txt
-Index: LayoutTests/platform/mac/fast/css/percentage-non-integer-expected.txt
-Index: LayoutTests/platform/mac/fast/css/word-space-extra-expected.txt
-Index: LayoutTests/platform/mac/fast/css/continuationCrash-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt
-Index: LayoutTests/platform/mac/fast/css/first-of-type-pseudo-class-expected.txt
-Index: LayoutTests/platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt
-Index: LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt
-Index: LayoutTests/platform/mac/fast/css/005-expected.txt
-Index: LayoutTests/platform/mac/fast/css/bidi-override-in-anonymous-block-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt
-Index: LayoutTests/platform/mac/fast/css/selector-set-attribute-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-strict-expected.txt
-Index: LayoutTests/platform/mac/fast/css/bug4860-absolute-block-child-does-not-inherit-alignment-expected.txt
-Index: LayoutTests/platform/mac/fast/css/preserve-user-specified-zoom-level-on-reload-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-align-expected.txt
-Index: LayoutTests/platform/mac/fast/css/ex-after-font-variant-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-input-expected.txt
-Index: LayoutTests/platform/mac/fast/css/margin-top-bottom-dynamic-expected.txt
-Index: LayoutTests/platform/mac/fast/css/invalid-percentage-property-expected.txt
-Index: LayoutTests/platform/mac/fast/css/last-of-type-pseudo-class-expected.txt
-Index: LayoutTests/platform/mac/fast/css/004-expected.txt
-Index: LayoutTests/platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt
-Index: LayoutTests/platform/mac/fast/css/background-shorthand-invalid-url-expected.txt
-Index: LayoutTests/platform/mac/fast/css/inline-properties-important-expected.txt
-Index: LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt
-Index: LayoutTests/platform/mac/fast/css/h1-in-section-elements-expected.txt
-Index: LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt
-Index: LayoutTests/platform/mac/fast/css/rgb-float-expected.txt
-Index: LayoutTests/platform/mac/fast/css/getComputedStyle/getComputedStyle-margin-percentage-expected.txt
-Index: LayoutTests/platform/mac/fast/css/003-expected.txt
-Index: LayoutTests/platform/mac/fast/css/input-search-padding-expected.txt
-Index: LayoutTests/platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt
-Index: LayoutTests/platform/mac/fast/box-sizing/box-sizing-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/014-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/016-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/fieldset-stretch-to-legend-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/001-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/011-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/015-expected.txt
-Index: LayoutTests/platform/mac/fast/block/basic/019-expected.txt
-Index: LayoutTests/platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt
-Index: LayoutTests/platform/mac/fast/block/positioning/051-expected.txt
-Index: LayoutTests/platform/mac/fast/block/positioning/047-expected.txt
-Index: LayoutTests/platform/mac/fast/block/positioning/inline-block-relposition-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/nopaint-after-layer-destruction2-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/026-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/centered-float-avoidance-complexity-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/float-in-float-painting-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/float-avoidance-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/shrink-to-avoid-float-complexity-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/032-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/028-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/013-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/025-expected.txt
-Index: LayoutTests/platform/mac/fast/block/float/027-expected.txt
-Index: LayoutTests/platform/mac/fast/block/margin-collapse/103-expected.txt
-Index: LayoutTests/platform/mac/fast/block/margin-collapse/100-expected.txt
-Index: LayoutTests/platform/mac/fast/parser/style-script-head-test-expected.txt
-Index: LayoutTests/platform/mac/fast/parser/entity-comment-in-style-expected.txt
-Index: LayoutTests/platform/mac/fast/parser/xhtml-alternate-entities-expected.txt
-Index: LayoutTests/platform/mac/fast/parser/bad-xml-slash-expected.txt
-Index: LayoutTests/platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt
-Index: LayoutTests/platform/mac/fast/layers/video-layer-expected.txt
-Index: LayoutTests/platform/mac/fast/backgrounds/size/contain-and-cover-zoomed-expected.txt
-Index: LayoutTests/platform/mac/fast/backgrounds/background-inherit-color-bug-expected.txt
-Index: LayoutTests/platform/mac/fast/backgrounds/background-position-parsing-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/repaint/region-painting-invalidation-expected.png
-Index: LayoutTests/platform/mac/fast/repaint/region-painting-via-layout-expected.png
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/search-field-cancel-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/subtree-root-skipped-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/transform-translate-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/repaint-during-scroll-with-zoom-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/renderer-destruction-by-invalidateSelection-crash-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/delete-into-nested-block-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt
-Index: LayoutTests/platform/mac/fast/repaint/control-clip-expected.txt
-Index: LayoutTests/platform/mac/fast/writing-mode/fieldsets-expected.txt
-Index: LayoutTests/platform/mac/fast/writing-mode/broken-ideographic-font-expected.txt
-Index: LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt
-Index: LayoutTests/platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.txt
-Index: LayoutTests/platform/mac/fast/regions/repaint/region-painting-via-layout-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/region-painting-via-layout-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/line-flow-with-floats-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/overflow-flipped-writing-mode-block-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/region-painting-invalidation-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/region-painting-invalidation-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/repaint/japanese-rl-selection-repaint-in-regions-expected.png
-Index: LayoutTests/platform/mac/fast/regions/multiple-directionality-changes-in-variable-width-regions-expected.txt
-Index: LayoutTests/platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt
-Index: LayoutTests/platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt
-Index: LayoutTests/platform/mac/fast/line-grid/line-align-left-edges-expected.txt
-Index: LayoutTests/platform/mac/fast/line-grid/line-grid-contains-value-expected.txt
-Index: LayoutTests/platform/mac/fast/frames/viewsource-on-image-file-expected.png
-Index: LayoutTests/platform/mac/fast/frames/viewsource-attribute-expected.png
-Index: LayoutTests/platform/mac/fast/frames/take-focus-from-iframe-expected.txt
-Index: LayoutTests/platform/mac/fast/frames/onlyCommentInIFrame-expected.txt
-Index: LayoutTests/platform/mac/fast/reflections/reflection-with-zoom-expected.txt
-Index: LayoutTests/platform/mac/transforms/2d/zoom-menulist-expected.txt
-Index: LayoutTests/platform/mac/transforms/2d/hindi-rotated-expected.txt
-Index: LayoutTests/platform/mac/transforms/3d/general/perspective-non-layer-expected.txt
-Index: LayoutTests/platform/mac/transforms/svg-vs-css-expected.txt
-Index: LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt
-Index: LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt
-Index: LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt
-Index: LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt
-Index: LayoutTests/platform/mac/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt
-Index: LayoutTests/platform/mac/svg/foreignObject/text-tref-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/clip-path/clip-path-pixelation-expected.txt
-Index: LayoutTests/platform/mac/svg/as-image/img-preserveAspectRatio-support-2-expected.txt
-Index: LayoutTests/platform/mac/svg/as-image/svg-non-integer-scaled-image-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/text/zoom-foreignObject-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-rendering-model-004-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/text/zoom-svg-float-border-padding-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/text/zoom-coords-viewattr-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/text/zoom-hixie-mixed-008-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-image-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-rendering-model-004-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-background-images-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-and-viewBox-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-relative-image-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-mask-with-percentages-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-auto-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-mixed-009-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-foreignObject-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-float-border-padding-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-coords-viewattr-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-background-image-tiled-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-as-object-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt
-Index: LayoutTests/platform/mac/svg/zoom/page/zoom-hixie-mixed-008-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-squeeze-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-tspan-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-tselect-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/selection-tripleclick-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-altglyph-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-midpoint-split-bug-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-overflow-ellipsis-svgfont-kerning-ligatures-expected.txt
-Index: LayoutTests/platform/mac/svg/text/small-fonts-in-html5-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-stretch-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/selection-doubleclick-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/mac/svg/text/select-x-list-with-tspans-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/bidi-reorder-value-lists-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-deco-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-squeeze-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-06-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-tref-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-tselect-02-f-expected.txt
-             chunk 1 text run 1 at (10.00,70.00) startOffset 0 endOffset 26 width 183.00: &quot;StartIndex: 0. NumChars: 9&quot;
-Index: LayoutTests/platform/mac/svg/text/text-text-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/small-fonts-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/small-fonts-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-stretch-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/font-size-below-point-five-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-path-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-with-tspans-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-05-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/modify-text-node-in-tspan-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-fonts-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-stretch-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-repaint-rects-expected.txt
-Index: LayoutTests/platform/mac/svg/text/scaling-font-with-geometric-precision-expected.txt
-Index: LayoutTests/platform/mac/svg/text/non-bmp-positioning-lists-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-spacing-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-squeeze-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-with-tspans-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-4-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-fonts-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/bidi-text-query-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-squeeze-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-text-08-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-squeeze-1-expected.txt
-Index: LayoutTests/platform/mac/svg/text/bidi-tspans-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-viewbox-rescale-expected.txt
-Index: LayoutTests/platform/mac/svg/text/remove-text-node-from-tspan-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-ws-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/small-fonts-2-expected.txt
-Index: LayoutTests/platform/mac/svg/text/scaled-font-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacing-stretch-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-path-middle-align-expected.txt
-Index: LayoutTests/platform/mac/svg/text/remove-tspan-from-text-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-textLength-spacingAndGlyphs-stretch-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-align-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-with-tspans-3-expected.txt
-Index: LayoutTests/platform/mac/svg/text/bidi-embedded-direction-expected.txt
-Index: LayoutTests/platform/mac/svg/text/append-text-node-to-tspan-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-hkern-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-ws-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/text/text-overflow-ellipsis-svgfont-expected.txt
-Index: LayoutTests/platform/mac/svg/text/select-x-list-2-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/test-scalable-background-image2-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/rightsizing-grid-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/test-rightsizing-a-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/test-rightsizing-b-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/sizing-flakiness-expected.txt
-Index: LayoutTests/platform/mac/svg/wicd/test-scalable-background-image1-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-pattern-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-09-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-desc-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-a-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-deco-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-22-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-fill-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-light-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/styling-css-04-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-felem-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-09-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-08-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/types-basicDOM-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-render-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-19-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-39-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-08-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-07-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-68-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-tselect-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-dom-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-17-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-37-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-77-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-stroke-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-altglyph-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-08-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-26-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-66-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-15-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-14-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-stroke-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-tile-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-06-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-24-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-turb-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-44-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-64-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-tselect-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-84-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/script-handle-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-fonts-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-06-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-29-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-13-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-order-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-color-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-33-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-12-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-group-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-07-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/styling-css-06-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-62-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-82-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-fonts-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-11-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-31-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-10-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-20-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-60-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-cursor-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-ws-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-tspan-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-light-04-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-opacity-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-intro-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-groups-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/metadata-example-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-08-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-units-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-a-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-comptran-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-image-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-morph-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-path-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/extend-namespace-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/color-prop-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-cond-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-example-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/paths-data-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-09-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-08-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-69-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-18-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-17-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-78-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-stroke-04-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-07-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-27-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-06-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-67-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-kern-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-16-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-36-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-viewattr-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/coords-trans-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-stroke-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-use-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-groups-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-turb-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-65-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-events-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-order-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-14-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-34-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-13-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/filters-blend-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-zoom-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-05-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-23-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-frag-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-63-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-83-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-05-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-text-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-08-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/interact-order-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-12-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/pservers-grad-11-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-52-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/fonts-elem-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-align-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-21-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/styling-css-05-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-41-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-61-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-81-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/linking-uri-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/painting-marker-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-ws-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/render-elems-06-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-10-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/masking-path-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1/animate-elem-70-t-expected.txt
-Index: LayoutTests/platform/mac/svg/css/shadow-changes-expected.txt
-Index: LayoutTests/platform/mac/svg/css/text-shadow-multiple-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textAnchor3-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textOnPath2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textLayout-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/smallFonts-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textFeatures-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textEffect3-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textOnPathSpaces-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textPCDATA-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textAnchor2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textLayout2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/xmlSpace-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textGlyphOrientationHorizontal-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textDecoration2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textAnchor-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textOnPath3-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textEffect2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textProperties2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textStyles-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textPosition2-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/text/textProperties-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/filters/filterRegions-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/paints/patternRegionA-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/paints/patternRegions-expected.txt
-Index: LayoutTests/platform/mac/svg/batik/paints/patternPreserveAspectRatioA-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/interact-pointer-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-04-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/struct-dom-11-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-04-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/struct-use-11-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tref-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-04-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-07-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/painting-marker-07-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/styling-pres-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-03-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-20-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-09-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/struct-use-14-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/linking-uri-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-06-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/pservers-pattern-03-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/coords-units-03-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/paths-dom-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-tspan-02-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/coords-dom-02-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/color-prop-05-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/types-dom-05-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/styling-css-04-f-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/pservers-grad-17-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-felem-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/window-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/combobox-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/button-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/selectionlist-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/slider-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/scrollbar-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/tabgroup-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/textbox-expected.txt
-Index: LayoutTests/platform/mac/svg/carto.net/colourpicker-expected.txt
-Index: LayoutTests/platform/mac/svg/transforms/text-with-mask-with-svg-transform-expected.txt
-Index: LayoutTests/platform/mac/svg/transforms/animated-path-inside-transformed-html-expected.txt
-Index: LayoutTests/platform/mac/svg/transforms/svg-css-transforms-clip-path-expected.txt
-Index: LayoutTests/platform/mac/svg/transforms/svg-css-transforms-expected.txt
-Index: LayoutTests/platform/mac/svg/as-border-image/svg-as-border-image-2-expected.txt
-Index: LayoutTests/platform/mac/svg/as-border-image/svg-as-border-image-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/001-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/viewbox/preserveAspectRatio/002-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/text/003-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/text/003a-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/text/003b-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/text/001-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/error/012-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/error/013-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/error/002-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/003-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/004-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/005-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/006-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/007-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/001-expected.txt
-Index: LayoutTests/platform/mac/svg/hixie/perf/002-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirNone-anchorStart-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-no-markup-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirNone-anchorMiddle-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirRTL-anchorEnd-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirLTR-anchorEnd-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-direction-rtl-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-direction-ltr-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirRTL-anchorStart-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirLTR-anchorStart-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-dirNone-anchorEnd-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt
-Index: LayoutTests/platform/mac/svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/image-small-width-height-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/path-textPath-simulation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-recursion-2-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-filter-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/glyph-setting-d-attribute-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-font-face-crash-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/svg-fonts-with-no-element-reference-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/svg-fonts-in-html-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/object-sizing-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/marker-default-width-height-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-modify-target-container-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/shapes-supporting-markers-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/js-late-gradient-creation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/SVGPoint-matrixTransform-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-zoomAndPan-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-clip-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-standalone-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/dominant-baseline-hanging-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/tref-update-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/fractional-rects-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/mouse-move-on-svg-container-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/font-face-cascade-order-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/dominant-baseline-modes-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/pointer-events-text-css-transform-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/feComponentTransfer-Discrete-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-tref-03-b-change-href-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-modify-target-symbol-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-recursion-3-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-ctm-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/js-late-pattern-creation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-viewBox-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/rootmost-svg-xy-attrs-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-x-override-in-tspan-child-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/pattern-with-transformation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-x-dy-lists-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-repaint-including-stroke-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/viewBox-hit-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/image-parent-translation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/feComponentTransfer-Linear-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/bug45331-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-hit-test-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/path-bad-data-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-letter-spacing-expected.png
-Index: LayoutTests/platform/mac/svg/custom/invalid-css-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-preserveAspectRatio-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-recursion-1-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-css-no-effect-on-shadow-tree-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-viewBox-transform-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/feComponentTransfer-Table-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/svg-fonts-without-missing-glyph-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-transform-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/js-update-container-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/junk-data-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-dynamic-append-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/feComponentTransfer-Gamma-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/missing-xlink-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/pattern-rotate-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-rotation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-detach-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/gradient-with-1d-boundingbox-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/getTransformToElement-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-dom-01-f-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-tref-03-b-referenced-element-removal-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-whitespace-handling-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-tref-03-b-change-href-dom-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-recursion-4-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/font-face-simple-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/pattern-rotate-gaps-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/inline-svg-in-xhtml-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/stroked-pattern-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/use-modify-container-in-target-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-x-dx-lists-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-uri-01-b-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/pattern-incorrect-tiling-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/tref-own-content-removal-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/style-attribute-font-size-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/text-tref-03-b-tref-removal-expected.txt
-Index: LayoutTests/platform/mac/svg/custom/linking-a-03-b-viewTarget-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t090501-c414-flt-03-b-g-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t1205-c565-list-pos-00-b-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t100801-c544-valgn-00-a-ag-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0804-c5509-padn-l-00-b-ag-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t100801-c544-valgn-03-d-agi-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t1506-c525-font-wt-00-b-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t1602-c43-center-00-d-ag-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t09-c5526c-display-00-e-expected.txt
-Index: LayoutTests/platform/mac/css2.1/20110323/floating-replaced-height-008-expected.txt
-Index: LayoutTests/platform/mac/css2.1/20110323/inline-replaced-height-008-expected.txt
-Index: LayoutTests/platform/mac/css2.1/20110323/inline-block-replaced-height-008-expected.txt
-Index: LayoutTests/platform/mac/css2.1/20110323/block-replaced-width-001-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t080301-c411-vt-mrgn-00-b-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0804-c5509-padn-l-03-f-g-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0905-c5525-fltwidth-00-c-g-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0804-c5510-padn-00-b-ag-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t100801-c544-valgn-02-d-agi-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t1002-c5523-width-02-b-g-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0905-c414-flt-wrap-00-e-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t100801-c544-valgn-04-d-agi-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t1508-c527-font-09-b-expected.txt
-Index: LayoutTests/platform/mac/css2.1/t0804-c5507-padn-r-00-c-ag-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug1725-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug3166-16-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10140-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug104898-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug3166-13-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug61042-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug3166-18-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug72393-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug91057-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug10216-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug46268-4-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug1128-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug61042-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug3166-17-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug89315-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/bugs/bug3166-14-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/other/test4-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions3-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/core/standards1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/core/captions1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-column-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-column-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-row-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_layers-show-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-cell-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-row-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-quirks-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-row-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_layers-hide-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_position-table-cell-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla_expected_failures/marvin/backgr_border-table-column-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/dom/tableDom-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug106816-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug13118-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug4382-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug1188-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-4-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug55545-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug51037-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug138725-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug11384s-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug59354-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug7112-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug28928-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug159108-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug52506-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug46480-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug126742-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug1055-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug131020-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug69187-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug99948-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug17130-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug10296-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug6304-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug11384q-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug3309-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug9271-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug4284-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug4527-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug46368-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug2886-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug19061-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug39209-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug67915-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug33137-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug18359-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug26553-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug8381-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug10269-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug46480-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug26178-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-3-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug60749-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug73321-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug4429-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug5538-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug42187-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug113424-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug7112-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug3309-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug7342-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug83786-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug24200-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug8032-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug52505-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug2479-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug12384-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug17138-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug33855-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug46368-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug19061-2-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug1318-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug17130-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug96334-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug30692-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug51727-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/bugs/bug9271-1-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/other/test3-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/other/test6-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/other/move_row-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/core/misc-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/core/bloomberg-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/core/margins-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/collapsing_borders/bug41262-4-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_position-table-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-column-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-row-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_layers-opacity-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt
-Index: LayoutTests/platform/mac/tables/mozilla/marvin/backgr_index-expected.txt
-Index: LayoutTests/platform/mac/plugins/mouse-click-plugin-clears-selection-expected.txt
-Index: LayoutTests/platform/mac/editing/inserting/before-after-input-element-expected.txt
-Index: LayoutTests/platform/mac/editing/inserting/editing-empty-divs-expected.txt
-Index: LayoutTests/platform/mac/editing/pasteboard/input-field-1-expected.txt
-Index: LayoutTests/platform/mac/editing/pasteboard/4806874-expected.txt
-Index: LayoutTests/platform/mac/editing/pasteboard/drop-text-without-selection-expected.txt
-Index: LayoutTests/platform/mac/editing/pasteboard/drag-image-to-contenteditable-in-iframe-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/4397952-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-across-readonly-input-3-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/4895428-3-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-across-readonly-input-2-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-text-overflow-ellipsis-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/drag-select-1-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/collapse-selection-in-bidi-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-rtl-2-left-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/3690703-2-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-rtl-2-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-rtl-right-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-across-readonly-input-1-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/5240265-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-rtl-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/3690719-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/drag-start-event-client-x-y-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-ltr-2-left-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-ltr-2-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-ltr-right-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-across-readonly-input-5-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/3690703-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/5354455-2-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/caret-ltr-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/mixed-editability-10-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/4975120-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/select-across-readonly-input-4-expected.txt
-Index: LayoutTests/platform/mac/editing/selection/selection-button-text-expected.txt
-Index: LayoutTests/platform/mac/compositing/contents-opaque/control-layer-expected.txt
-Index: LayoutTests/platform/mac/compositing/direct-image-compositing-expected.txt
-Index: LayoutTests/platform/mac/compositing/overflow/theme-affects-visual-overflow-expected.txt
-Index: LayoutTests/platform/mac/compositing/shadows/shadow-drawing-expected.txt
-Index: LayoutTests/platform/mac/compositing/layer-creation/overlap-animation-container-expected.txt
-Index: LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-dynamic-expected.txt
-Index: LayoutTests/platform/mac/css1/color_and_background/background_attachment-expected.txt
-Index: LayoutTests/platform/mac/css1/text_properties/letter_spacing-expected.png
-Index: LayoutTests/platform/mac/css1/text_properties/vertical_align-expected.txt
-Index: LayoutTests/platform/mac/css1/text_properties/word_spacing-expected.png
-Index: LayoutTests/platform/mac/css1/text_properties/text_indent-expected.txt
-Index: LayoutTests/platform/mac/css1/basic/inheritance-expected.txt
-Index: LayoutTests/platform/mac/css1/font_properties/font-expected.txt
-Index: LayoutTests/platform/mac/css1/font_properties/font_weight-expected.txt
-Index: LayoutTests/platform/mac/css1/font_properties/font_size-expected.txt
-Index: LayoutTests/platform/mac/css1/units/percentage_units-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/margin_right-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/acid_test-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/padding_right-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/padding_bottom-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/float_on_text_elements-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/clear_float-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/margin_top-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/margin-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/width-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/padding_left-expected.txt
-Index: LayoutTests/platform/mac/css1/box_properties/margin_bottom-expected.txt
-Index: LayoutTests/platform/mac/css1/formatting_model/horizontal_formatting-expected.txt
-Index: LayoutTests/platform/mac/css1/formatting_model/inline_elements-expected.txt
-Index: LayoutTests/platform/mac/css1/formatting_model/replaced_elements-expected.txt
-Index: LayoutTests/platform/mac/css1/formatting_model/floating_elements-expected.txt
-Index: LayoutTests/platform/mac/css3/unicode-bidi-isolate-basic-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-24-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-68-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-25-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-70-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-23-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xml/css3-modsel-69-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-68-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-25-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-24-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-70-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-23-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/html/css3-modsel-69-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-24-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-68-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-25-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-70-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-23-expected.txt
-Index: LayoutTests/platform/mac/css3/selectors3/xhtml/css3-modsel-69-expected.txt
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-bounding-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-bounding-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-padding-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-padding-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-content-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-content-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-margin-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-margin-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-border-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/clip-path-circle-border-box-expected.png
-Index: LayoutTests/platform/mac/css3/masking/mask-luminance-png-expected.png
-Index: LayoutTests/platform/mac/css3/masking/mask-luminance-png-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-simple-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-simple-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-reflection-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-reflection-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-layers-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-layers-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-overflow-expected.png
-Index: LayoutTests/platform/mac/css3/compositing/blend-mode-overflow-expected.png
-Index: LayoutTests/platform/mac/css3/flexbox/flexbox-baseline-expected.txt
-Index: LayoutTests/platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt
-Index: LayoutTests/platform/efl/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt
-Index: LayoutTests/platform/efl/editing/inserting/break-blockquote-after-delete-expected.png
-Index: LayoutTests/platform/efl/editing/inserting/break-blockquote-after-delete-expected.png
-Index: LayoutTests/platform/efl/fast/text/basic/013-expected.png
-Index: LayoutTests/platform/efl/fast/table/empty-cells-expected.png
-Index: LayoutTests/platform/efl/fast/table/dynamic-caption-add-before-child-expected.png
-Index: LayoutTests/platform/efl/fast/block/float/016-expected.png
-Index: LayoutTests/platform/efl/fast/parser/entity-comment-in-textarea-expected.png
-Index: LayoutTests/platform/efl/fast/backgrounds/background-position-parsing-expected.png
-Index: LayoutTests/platform/efl/fast/backgrounds/size/contain-and-cover-zoomed-expected.png
-Index: LayoutTests/platform/efl/fast/frames/viewsource-on-image-file-expected.png
-Index: LayoutTests/platform/efl/fast/frames/viewsource-attribute-expected.png
-Index: LayoutTests/platform/efl/svg/text/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/efl/svg/W3C-SVG-1.1/text-spacing-01-b-expected.png
-Index: LayoutTests/platform/efl/svg/custom/text-letter-spacing-expected.png
-Index: LayoutTests/platform/efl/svg/custom/text-letter-spacing-expected.png
-Index: LayoutTests/platform/efl/TestExpectations
-Index: LayoutTests/platform/efl/css2.1/t1604-c542-letter-sp-00-b-a-expected.png
-Index: LayoutTests/platform/efl/css2.1/t0905-c414-flt-wrap-00-e-expected.png
-Index: LayoutTests/platform/efl/css1/text_properties/letter_spacing-expected.png
-Index: LayoutTests/platform/efl/css1/text_properties/word_spacing-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-bounding-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-bounding-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-padding-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-padding-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-content-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-content-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-margin-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-margin-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-border-box-expected.png
-Index: LayoutTests/platform/efl/css3/masking/clip-path-circle-border-box-expected.png
-Index: LayoutTests/platform/efl-wk1/fast/forms/validation-message-appearance-expected.png
-Index: LayoutTests/platform/efl-wk2/fast/forms/validation-message-appearance-expected.png
-Index: LayoutTests/platform/efl-wk2/TestExpectations
-Index: LayoutTests/platform/mac-mountainlion/fast/canvas/webgl/angle-instanced-arrays-expected.txt
-Index: LayoutTests/crypto/subtle/unwrapKey-check-usage-expected.txt
-Index: LayoutTests/crypto/subtle/rsa-postMessage.html
-Index: LayoutTests/crypto/subtle/rsa-oaep-generate-non-extractable-key-expected.txt
-Index: LayoutTests/crypto/subtle/wrapKey-check-usage.html
-Index: LayoutTests/crypto/subtle/unwrapKey-check-usage.html
-Index: LayoutTests/crypto/subtle/rsa-oaep-generate-non-extractable-key.html
-Index: LayoutTests/crypto/subtle/hmac-postMessage-expected.txt
-Index: LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-decrypt-expected.txt
-Index: LayoutTests/crypto/subtle/hmac-postMessage.html
-Index: LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes-expected.txt
-Index: LayoutTests/crypto/subtle/aes-postMessage-expected.txt
-Index: LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-decrypt.html
-Index: LayoutTests/crypto/subtle/rsaes-pkcs1-v1_5-wrap-unwrap-aes.html
-Index: LayoutTests/crypto/subtle/aes-postMessage.html
-Index: LayoutTests/crypto/subtle/postMessage-worker-expected.txt
-Index: LayoutTests/crypto/subtle/rsa-postMessage-expected.txt
-Index: LayoutTests/crypto/subtle/postMessage-worker.html
-Index: LayoutTests/crypto/subtle/resources/postMessage-worker.js
-Index: LayoutTests/crypto/subtle/wrapKey-check-usage-expected.txt
-Index: LayoutTests/inspector-protocol/dom-debugger/node-removed-expected.txt
-Index: LayoutTests/inspector-protocol/dom-debugger/node-removed.html
-Index: LayoutTests/inspector-protocol/debugger/removeBreakpoint.html
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-strict.html
-Index: LayoutTests/inspector-protocol/debugger/call-frame-function-name-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none.html
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception.html
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict.html
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-host-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-condition.html
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-action-detach.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-inside-conditons-and-actions.html
-Index: LayoutTests/inspector-protocol/debugger/call-frame-function-name.html
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-condition-detach.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpointByUrl-sourceURL.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-action-with-exception.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-column-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-actions-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-host.html
-Index: LayoutTests/inspector-protocol/debugger/nested-inspectors-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-autoContinue.html
-Index: LayoutTests/inspector-protocol/debugger/removeBreakpoint-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-condition-with-exception.html
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-strict-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-all.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-options-exception.html
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-none-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/call-frame-this-nonstrict-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setPauseOnExceptions-uncaught.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-column.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-actions.html
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint-condition-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/nested-inspectors.html
-Index: LayoutTests/inspector-protocol/debugger/breakpoint-action-detach-expected.txt
-Index: LayoutTests/inspector-protocol/debugger/setBreakpoint.html
-Index: LayoutTests/inspector-protocol/debugger/didSampleProbe-multiple-probes.html
-Index: ManualTests/blackberry/clear-cookie-refresh.php
-Index: ManualTests/blackberry/meta-viewport-initial-scale-wide-content.html
-Index: ManualTests/blackberry/http-auth-challenge.php
-Index: ManualTests/blackberry/selection-touch-override.html
-Index: ManualTests/blackberry/http-auth-private-mode-changed.php
-Index: ManualTests/blackberry/head-xhr-nonexistant-file.html
-Index: ManualTests/blackberry/select-popup-items-unicode-display.html
-Index: ManualTests/blackberry/notification.html
-Index: ManualTests/blackberry/clear-cookie-refresh-result.php
-Index: ManualTests/blackberry/http-cookie-database-update.php
-Index: ManualTests/blackberry/video-hls-controls.html
-Index: ManualTests/blackberry/http-auth-challenge.html
-Index: ManualTests/blackberry/http-auth-private-mode-changed.html
-Index: ManualTests/blackberry/clear-localstorage.html
-Index: ManualTests/blackberry/http-cookie-database-set.php
-Index: ManualTests/blackberry/slider-thumb-consumes-event.html
-Index: ManualTests/blackberry/video-load-with-authentication.html
-Index: ManualTests/blackberry/http-auth-on-200.php
-Index: Source/JavaScriptCore/docs
-Index: Source/JavaScriptCore/docs/make-bytecode-docs.pl
-Index: Source/JavaScriptCore/runtime/ErrorHandlingScope.h
-Index: Source/JavaScriptCore/runtime/ArityCheckMode.h
-Index: Source/JavaScriptCore/runtime/RegisterPreservationMode.h
-Index: Source/JavaScriptCore/runtime/ErrorHandlingScope.cpp
-Index: Source/JavaScriptCore/runtime/Executable.cpp
-Index: Source/JavaScriptCore/runtime/VM.cpp
-Index: Source/JavaScriptCore/runtime/JSLock.h
-Index: Source/JavaScriptCore/runtime/Options.h
-Index: Source/JavaScriptCore/runtime/VM.h
-Index: Source/JavaScriptCore/runtime/Options.cpp
-Index: Source/JavaScriptCore/runtime/Executable.h
-Index: Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.h
-Index: Source/JavaScriptCore/runtime/JSGlobalObject.h
-Index: Source/JavaScriptCore/runtime/VMEntryScope.cpp
-Index: Source/JavaScriptCore/runtime/CommonSlowPaths.h
-Index: Source/JavaScriptCore/runtime/StringRecursionChecker.cpp
-Index: Source/JavaScriptCore/runtime/JSLock.cpp
-Index: Source/JavaScriptCore/runtime/StackAlignment.h
-Index: Source/JavaScriptCore/runtime/JSONObject.cpp
-Index: Source/JavaScriptCore/runtime/JSGlobalObjectDebuggable.cpp
-Index: Source/JavaScriptCore/runtime/CommonSlowPaths.cpp
-Index: Source/JavaScriptCore/runtime/JSCJSValue.h
-Index: Source/JavaScriptCore/runtime/ExceptionHelpers.cpp
-Index: Source/JavaScriptCore/runtime/RegExp.cpp
-Index: Source/JavaScriptCore/runtime/VMEntryScope.h
-Index: Source/JavaScriptCore/GNUmakefile.list.am
-Index: Source/JavaScriptCore/interpreter/JSStack.cpp
-Index: Source/JavaScriptCore/interpreter/Interpreter.cpp
-Index: Source/JavaScriptCore/interpreter/JSStack.h
-Index: Source/JavaScriptCore/interpreter/Interpreter.h
-Index: Source/JavaScriptCore/interpreter/ProtoCallFrame.cpp
-Index: Source/JavaScriptCore/interpreter/ProtoCallFrame.h
-Index: Source/JavaScriptCore/interpreter/CallFrame.cpp
-Index: Source/JavaScriptCore/interpreter/JSStackInlines.h
-Index: Source/JavaScriptCore/interpreter/CallFrame.h
-Index: Source/JavaScriptCore/assembler/MaxFrameExtentForSlowPathCall.h
-Index: Source/JavaScriptCore/assembler/ARMv7Assembler.h
-Index: Source/JavaScriptCore/assembler/MacroAssembler.h
-Index: Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
-Index: Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
-Index: Source/JavaScriptCore/assembler/LinkBuffer.cpp
-Index: Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
-Index: Source/JavaScriptCore/assembler/LinkBuffer.h
-Index: Source/JavaScriptCore/assembler/ARM64Assembler.h
-Index: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
-Index: Source/JavaScriptCore/yarr/RegularExpression.cpp
-Index: Source/JavaScriptCore/yarr/RegularExpression.h
-Index: Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
-Index: Source/JavaScriptCore/llint/LowLevelInterpreter.asm
-Index: Source/JavaScriptCore/llint/LLIntData.cpp
-Index: Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
-Index: Source/JavaScriptCore/llint/LLIntEntrypoint.cpp
-Index: Source/JavaScriptCore/llint/LLIntCLoop.cpp
-Index: Source/JavaScriptCore/llint/LLIntThunks.cpp
-Index: Source/JavaScriptCore/llint/LLIntOpcode.h
-Index: Source/JavaScriptCore/llint/LLIntCLoop.h
-Index: Source/JavaScriptCore/llint/LLIntThunks.h
-Index: Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
-Index: Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
-Index: Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
-Index: Source/JavaScriptCore/llint/LLIntSlowPaths.h
-Index: Source/JavaScriptCore/ChangeLog
-Index: Source/JavaScriptCore/JavaScriptCore.order
-Index: Source/JavaScriptCore/parser/ParserError.h
-Index: Source/JavaScriptCore/bytecode/CallLinkInfo.cpp
-Index: Source/JavaScriptCore/bytecode/StructureStubInfo.h
-Index: Source/JavaScriptCore/bytecode/PutByIdStatus.h
-Index: Source/JavaScriptCore/bytecode/CodeBlock.h
-Index: Source/JavaScriptCore/bytecode/VirtualRegister.h
-Index: Source/JavaScriptCore/bytecode/CallLinkStatus.h
-Index: Source/JavaScriptCore/bytecode/CodeBlock.cpp
-Index: Source/JavaScriptCore/bytecode/CallLinkStatus.cpp
-Index: Source/JavaScriptCore/bytecode/ValueRecovery.h
-Index: Source/JavaScriptCore/bytecode/GetByIdStatus.h
-Index: Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
-Index: Source/JavaScriptCore/bytecode/CallLinkInfo.h
-Index: Source/JavaScriptCore/bytecode/StructureSet.h
-Index: Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
-Index: Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
-Index: Source/JavaScriptCore/profiler/ProfilerCompilation.h
-Index: Source/JavaScriptCore/profiler/ProfilerCompilationKind.cpp
-Index: Source/JavaScriptCore/profiler/ProfilerCompilation.cpp
-Index: Source/JavaScriptCore/profiler/ProfilerCompilationKind.h
-Index: Source/JavaScriptCore/debugger/Debugger.cpp
-Index: Source/JavaScriptCore/debugger/Debugger.h
-Index: Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
-Index: Source/JavaScriptCore/ftl/FTLValueRange.h
-Index: Source/JavaScriptCore/ftl/FTLAvailableRecovery.cpp
-Index: Source/JavaScriptCore/ftl/FTLJSCall.cpp
-Index: Source/JavaScriptCore/ftl/FTLRecoveryOpcode.cpp
-Index: Source/JavaScriptCore/ftl/FTLValueRange.cpp
-Index: Source/JavaScriptCore/ftl/FTLJSCall.h
-Index: Source/JavaScriptCore/ftl/FTLUnwindInfo.cpp
-Index: Source/JavaScriptCore/ftl/FTLRegisterAtOffset.cpp
-Index: Source/JavaScriptCore/ftl/FTLRecoveryOpcode.h
-Index: Source/JavaScriptCore/ftl/FTLUnwindInfo.h
-Index: Source/JavaScriptCore/ftl/FTLRegisterAtOffset.h
-Index: Source/JavaScriptCore/ftl/FTLAvailableRecovery.h
-Index: Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp
-Index: Source/JavaScriptCore/ftl/FTLStackMaps.h
-Index: Source/JavaScriptCore/ftl/FTLAbbreviations.h
-Index: Source/JavaScriptCore/ftl/FTLJITFinalizer.h
-Index: Source/JavaScriptCore/ftl/FTLAbstractHeap.cpp
-Index: Source/JavaScriptCore/ftl/FTLInlineCacheSize.h
-Index: Source/JavaScriptCore/ftl/FTLSlowPathCall.h
-Index: Source/JavaScriptCore/ftl/FTLOutput.h
-Index: Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.h
-Index: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp
-Index: Source/JavaScriptCore/ftl/FTLExitValue.h
-Index: Source/JavaScriptCore/ftl/FTLThunks.cpp
-Index: Source/JavaScriptCore/ftl/FTLCommonValues.h
-Index: Source/JavaScriptCore/ftl/FTLSlowPathCall.cpp
-Index: Source/JavaScriptCore/ftl/FTLInlineCacheSize.cpp
-Index: Source/JavaScriptCore/ftl/FTLAbstractHeapRepository.cpp
-Index: Source/JavaScriptCore/ftl/FTLThunks.h
-Index: Source/JavaScriptCore/ftl/FTLCompile.cpp
-Index: Source/JavaScriptCore/ftl/FTLState.cpp
-Index: Source/JavaScriptCore/ftl/FTLJITCode.h
-Index: Source/JavaScriptCore/ftl/FTLStackMaps.cpp
-Index: Source/JavaScriptCore/ftl/FTLCapabilities.cpp
-Index: Source/JavaScriptCore/ftl/FTLJITFinalizer.cpp
-Index: Source/JavaScriptCore/ftl/FTLLink.cpp
-Index: Source/JavaScriptCore/ftl/FTLExitValue.cpp
-Index: Source/JavaScriptCore/ftl/FTLAbstractHeap.h
-Index: Source/JavaScriptCore/ftl/FTLIntrinsicRepository.h
-Index: Source/JavaScriptCore/ftl/FTLCommonValues.cpp
-Index: Source/JavaScriptCore/ftl/FTLJITCode.cpp
-Index: Source/JavaScriptCore/ftl/FTLState.h
-Index: Source/JavaScriptCore/ftl/FTLOSREntry.cpp
-Index: Source/JavaScriptCore/bindings/ScriptObject.h
-Index: Source/JavaScriptCore/bindings/ScriptValue.cpp
-Index: Source/JavaScriptCore/bindings/ScriptFunctionCall.cpp
-Index: Source/JavaScriptCore/bindings/ScriptValue.h
-Index: Source/JavaScriptCore/bindings/ScriptFunctionCall.h
-Index: Source/JavaScriptCore/bindings/ScriptObject.cpp
-Index: Source/JavaScriptCore/tests/stress/ftl-arithsqrt.js
-Index: Source/JavaScriptCore/tests/stress/invalidation-point.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-value.js
-Index: Source/JavaScriptCore/tests/stress/add-constant-overflow-recovery.js
-Index: Source/JavaScriptCore/tests/stress/make-rope-2.js
-Index: Source/JavaScriptCore/tests/stress/exit-from-ftl-with-arity-check-fail.js
-Index: Source/JavaScriptCore/tests/stress/add-small-constant-overflow-recovery.js
-Index: Source/JavaScriptCore/tests/stress/recurse-infinitely-on-getter.js
-Index: Source/JavaScriptCore/tests/stress/ic-throw-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/add-overflow-recovery.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-string-or-string-object-then-object.js
-Index: Source/JavaScriptCore/tests/stress/throw-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-value-or-string.js
-Index: Source/JavaScriptCore/tests/stress/exit-after-llvm-folds-large-int-constant.js
-Index: Source/JavaScriptCore/tests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js
-Index: Source/JavaScriptCore/tests/stress/exit-after-int52-to-value.js
-Index: Source/JavaScriptCore/tests/stress/inline-closure-call.js
-Index: Source/JavaScriptCore/tests/stress/int16-put-by-val-in-and-out-of-bounds.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-object.js
-Index: Source/JavaScriptCore/tests/stress/ftl-arithsin.js
-Index: Source/JavaScriptCore/tests/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-string-object.js
-Index: Source/JavaScriptCore/tests/stress/add-int52-constant-overflow-recovery.js
-Index: Source/JavaScriptCore/tests/stress/runtime-throw-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js
-Index: Source/JavaScriptCore/tests/stress/make-rope-3.js
-Index: Source/JavaScriptCore/tests/stress/empty-function.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-object-or-string.js
-Index: Source/JavaScriptCore/tests/stress/to-string-on-string-or-string-object.js
-Index: Source/JavaScriptCore/tests/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js
-Index: Source/JavaScriptCore/tests/stress/exit-after-int32-to-double.js
-Index: Source/JavaScriptCore/tests/stress/ftl-arithcos.js
-Index: Source/JavaScriptCore/tests/stress/exit-after-int52-to-double.js
-Index: Source/JavaScriptCore/tests/stress/get-by-id-throw-from-getter-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/add-int52-large-constant-overflow-recovery.js
-Index: Source/JavaScriptCore/tests/stress/put-by-id-throw-through-optimized-code.js
-Index: Source/JavaScriptCore/tests/stress/repeated-arity-check-fail.js
-Index: Source/JavaScriptCore/inspector/agents/InspectorAgent.cpp
-Index: Source/JavaScriptCore/inspector/agents/InspectorAgent.h
-Index: Source/JavaScriptCore/inspector/ContentSearchUtilities.h
-Index: Source/JavaScriptCore/inspector/InjectedScriptManager.cpp
-Index: Source/JavaScriptCore/inspector/scripts/CodeGeneratorInspector.py
-Index: Source/JavaScriptCore/inspector/scripts/generate-combined-inspector-json.py
-Index: Source/JavaScriptCore/inspector/scripts/inline-and-minify-stylesheets-and-scripts.py
-Index: Source/JavaScriptCore/inspector/InjectedScript.cpp
-Index: Source/JavaScriptCore/inspector/InjectedScriptBase.h
-Index: Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.cpp
-Index: Source/JavaScriptCore/inspector/InjectedScriptModule.cpp
-Index: Source/JavaScriptCore/inspector/InspectorAgentRegistry.h
-Index: Source/JavaScriptCore/inspector/InspectorAgentBase.h
-Index: Source/JavaScriptCore/inspector/ScriptDebugListener.h
-Index: Source/JavaScriptCore/inspector/ScriptBreakpoint.h
-Index: Source/JavaScriptCore/inspector/InspectorValues.h
-Index: Source/JavaScriptCore/inspector/ContentSearchUtilities.cpp
-Index: Source/JavaScriptCore/inspector/InjectedScriptBase.cpp
-Index: Source/JavaScriptCore/inspector/JSInjectedScriptHost.cpp
-Index: Source/JavaScriptCore/inspector/InjectedScriptManager.h
-Index: Source/JavaScriptCore/inspector/InspectorAgentRegistry.cpp
-Index: Source/JavaScriptCore/inspector/JSGlobalObjectInspectorController.h
-Index: Source/JavaScriptCore/inspector/InjectedScriptModule.h
-Index: Source/JavaScriptCore/inspector/InspectorValues.cpp
-Index: Source/JavaScriptCore/CMakeLists.txt
-Index: Source/JavaScriptCore/offlineasm/arm.rb
-Index: Source/JavaScriptCore/offlineasm/x86.rb
-Index: Source/JavaScriptCore/offlineasm/arm64.rb
-Index: Source/JavaScriptCore/offlineasm/instructions.rb
-Index: Source/JavaScriptCore/offlineasm/cloop.rb
-Index: Source/JavaScriptCore/jit/ArityCheckFailReturnThunks.h
-Index: Source/JavaScriptCore/jit/ArityCheckFailReturnThunks.cpp
-Index: Source/JavaScriptCore/jit/RegisterPreservationWrapperGenerator.cpp
-Index: Source/JavaScriptCore/jit/RegisterPreservationWrapperGenerator.h
-Index: Source/JavaScriptCore/jit/AssemblyHelpers.cpp
-Index: Source/JavaScriptCore/jit/CCallHelpers.h
-Index: Source/JavaScriptCore/jit/JITInlines.h
-Index: Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp
-Index: Source/JavaScriptCore/jit/JITStubsX86.h
-Index: Source/JavaScriptCore/jit/Repatch.cpp
-Index: Source/JavaScriptCore/jit/ThunkGenerators.h
-Index: Source/JavaScriptCore/jit/JITOperations.cpp
-Index: Source/JavaScriptCore/jit/JIT.h
-Index: Source/JavaScriptCore/jit/JITStubRoutine.h
-Index: Source/JavaScriptCore/jit/JITCall32_64.cpp
-Index: Source/JavaScriptCore/jit/AssemblyHelpers.h
-Index: Source/JavaScriptCore/jit/ThunkGenerators.cpp
-Index: Source/JavaScriptCore/jit/JITInlineCacheGenerator.h
-Index: Source/JavaScriptCore/jit/JITCode.h
-Index: Source/JavaScriptCore/jit/JITExceptions.cpp
-Index: Source/JavaScriptCore/jit/Repatch.h
-Index: Source/JavaScriptCore/jit/JITOperations.h
-Index: Source/JavaScriptCore/jit/JITStubsMSVC64.asm
-Index: Source/JavaScriptCore/jit/JITStubs.h
-Index: Source/JavaScriptCore/jit/JITPropertyAccess.cpp
-Index: Source/JavaScriptCore/jit/JITCode.cpp
-Index: Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
-Index: Source/JavaScriptCore/jit/JITCall.cpp
-Index: Source/JavaScriptCore/jit/SpecializedThunkJIT.h
-Index: Source/JavaScriptCore/jit/ExecutableAllocator.h
-Index: Source/JavaScriptCore/jit/JITThunks.h
-Index: Source/JavaScriptCore/jit/JITOpcodes.cpp
-Index: Source/JavaScriptCore/jit/JITThunks.cpp
-Index: Source/JavaScriptCore/jit/JIT.cpp
-Index: Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
-Index: Source/JavaScriptCore/dfg/DFGSSALoweringPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGJITFinalizer.cpp
-Index: Source/JavaScriptCore/dfg/DFGPlan.h
-Index: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGOperations.cpp
-Index: Source/JavaScriptCore/dfg/DFGOSREntry.cpp
-Index: Source/JavaScriptCore/dfg/DFGNode.h
-Index: Source/JavaScriptCore/dfg/DFGPlan.cpp
-Index: Source/JavaScriptCore/dfg/DFGOSREntrypointCreationPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
-Index: Source/JavaScriptCore/dfg/DFGJITCode.cpp
-Index: Source/JavaScriptCore/dfg/DFGArrayMode.h
-Index: Source/JavaScriptCore/dfg/DFGDriver.h
-Index: Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGTierUpCheckInjectionPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
-Index: Source/JavaScriptCore/dfg/DFGOSRExitCompiler64.cpp
-Index: Source/JavaScriptCore/dfg/DFGNodeFlags.cpp
-Index: Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
-Index: Source/JavaScriptCore/dfg/DFGWorklist.h
-Index: Source/JavaScriptCore/dfg/DFGGraph.cpp
-Index: Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
-Index: Source/JavaScriptCore/dfg/DFGWorklist.cpp
-Index: Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
-Index: Source/JavaScriptCore/dfg/DFGArrayMode.cpp
-Index: Source/JavaScriptCore/dfg/DFGCompilationMode.h
-Index: Source/JavaScriptCore/dfg/DFGDriver.cpp
-Index: Source/JavaScriptCore/dfg/DFGGraph.h
-Index: Source/JavaScriptCore/dfg/DFGOSRExitCompiler.cpp
-Index: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
-Index: Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
-Index: Source/JavaScriptCore/dfg/DFGValidate.cpp
-Index: Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
-Index: Source/JavaScriptCore/dfg/DFGCommon.h
-Index: Source/JavaScriptCore/dfg/DFGOSRExitCompiler32_64.cpp
-Index: Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters
-Index: Source/JavaScriptCore/JavaScriptCore.vcxproj/build-generated-files.sh
-Index: Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
-Index: Source/JavaScriptCore/llvm/library/LLVMExports.cpp
-Index: Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.cpp
-Index: Source/JavaScriptCore/disassembler/ARM64/A64DOpcode.h
-Index: Source/JavaScriptCore/heap/MachineStackMarker.cpp
-Index: Source/JavaScriptCore/heap/Heap.h
-Index: Source/JavaScriptCore/heap/ConservativeRoots.cpp
-Index: Source/JavaScriptCore/heap/MachineStackMarker.h
-Index: Source/JavaScriptCore/heap/Heap.cpp
-Index: Source/Platform/nix/src/DefaultWebThemeEngine.h
-Index: Source/Platform/nix/src/Platform.cpp
-Index: Source/Platform/nix/src/DefaultWebThemeEngine.cpp
-Index: Source/Platform/nix/public/FFTFrame.h
-Index: Source/Platform/nix/public/MediaStream.h
-Index: Source/Platform/nix/public/MediaStreamCenter.h
-Index: Source/Platform/nix/public/MediaPlayer.h
-Index: Source/Platform/nix/public/Rect.h
-Index: Source/Platform/nix/public/MediaStreamAudioSource.h
-Index: Source/Platform/nix/public/Gamepad.h
-Index: Source/Platform/nix/public/PrivatePtr.h
-Index: Source/Platform/nix/public/MediaConstraints.h
-Index: Source/Platform/nix/public/Size.h
-Index: Source/Platform/nix/public/Canvas.h
-Index: Source/Platform/nix/public/MediaStreamSource.h
-Index: Source/Platform/nix/public/MultiChannelPCMData.h
-Index: Source/Platform/nix/public/Color.h
-Index: Source/Platform/nix/public/AudioDestinationConsumer.h
-Index: Source/Platform/nix/public/Gamepads.h
-Index: Source/Platform/nix/public/AudioDevice.h
-Index: Source/Platform/nix/public/Platform.h
-Index: Source/Platform/nix/public/Common.h
-Index: Source/Platform/nix/public/ThemeEngine.h
-Index: Source/Platform/ChangeLog
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
-Index: Source/WebKit/blackberry/WebKitSupport/PagePopup.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/InputHandler.h
-Index: Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/ProximityDetector.h
-Index: Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/PagePopupClient.h
-Index: Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.h
-Index: Source/WebKit/blackberry/WebKitSupport/WebPopupType.h
-Index: Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/FrameLayers.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.h
-Index: Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.h
-Index: Source/WebKit/blackberry/WebKitSupport/DatePickerClient.h
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.h
-Index: Source/WebKit/blackberry/WebKitSupport/SpellingHandler.h
-Index: Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/NotificationManager.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.h
-Index: Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.h
-Index: Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
-Index: Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.h
-Index: Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/SelectionHandler.h
-Index: Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/RenderQueue.h
-Index: Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.h
-Index: Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/ProximityDetector.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/TileIndexHash.h
-Index: Source/WebKit/blackberry/WebKitSupport/PagePopupClient.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/WebKitThreadViewportAccessor.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/PagePopup.h
-Index: Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/SelectPopupClient.h
-Index: Source/WebKit/blackberry/WebKitSupport/AboutData.h
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreClient.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/DatePickerClient.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/ColorPickerClient.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/SpellingHandler.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/InspectorOverlayBlackBerry.h
-Index: Source/WebKit/blackberry/WebKitSupport/FrameLayers.h
-Index: Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
-Index: Source/WebKit/blackberry/WebKitSupport/DefaultTapHighlight.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/DumpRenderTreeSupport.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/BackingStoreVisualizationViewportAccessor.h
-Index: Source/WebKit/blackberry/WebKitSupport/GLES2Context.h
-Index: Source/WebKit/blackberry/WebKitSupport/NotificationManager.h
-Index: Source/WebKit/blackberry/WebKitSupport/SelectionOverlay.cpp
-Index: Source/WebKit/blackberry/WebKitSupport/TileIndex.h
-Index: Source/WebKit/blackberry/WebKitSupport/FatFingers.h
-Index: Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
-Index: Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
-Index: Source/WebKit/blackberry/WebCoreSupport/inspectorBB.js
-Index: Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/AboutTemplate.html.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/CredentialManager.h
-Index: Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/AutofillManager.h
-Index: Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.h
-Index: Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/AboutDataHaveFeatures.in
-Index: Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/GeolocationClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxHandler.h
-Index: Source/WebKit/blackberry/WebCoreSupport/AboutDataUseFeatures.in
-Index: Source/WebKit/blackberry/WebCoreSupport/CredentialTransformData.h
-Index: Source/WebKit/blackberry/WebCoreSupport/CredentialManager.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/NetworkInfoClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/NavigatorContentUtilsClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/generateAboutDataFeatures.pl
-Index: Source/WebKit/blackberry/WebCoreSupport/CacheClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/AutofillManager.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/SuggestionBoxElement.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/FrameNetworkingContextBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/DragClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/BatteryClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/DeviceOrientationClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/BackForwardListBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/DeviceMotionClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/PlatformStrategiesBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/NotificationClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/WebCoreSupport/EditorClientBlackBerry.h
-Index: Source/WebKit/blackberry/WebCoreSupport/VibrationClientBlackBerry.cpp
-Index: Source/WebKit/blackberry/ChangeLog
-Index: Source/WebKit/blackberry/Api/WebPageCompositor.h
-Index: Source/WebKit/blackberry/Api/WebOverlay_p.h
-Index: Source/WebKit/blackberry/Api/WebSettings.h
-Index: Source/WebKit/blackberry/Api/InRegionScroller_p.h
-Index: Source/WebKit/blackberry/Api/BlackBerryGlobal.h
-Index: Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.cpp
-Index: Source/WebKit/blackberry/Api/WebViewportArguments.h
-Index: Source/WebKit/blackberry/Api/WebCookieJar.h
-Index: Source/WebKit/blackberry/Api/WebPage.cpp
-Index: Source/WebKit/blackberry/Api/BackingStore.cpp
-Index: Source/WebKit/blackberry/Api/WebAnimation.cpp
-Index: Source/WebKit/blackberry/Api/WebPageClient.h
-Index: Source/WebKit/blackberry/Api/JavaScriptVariant_p.h
-Index: Source/WebKit/blackberry/Api/WebTapHighlight.h
-Index: Source/WebKit/blackberry/Api/WebOverlayOverride.h
-Index: Source/WebKit/blackberry/Api/WebOverlay.h
-Index: Source/WebKit/blackberry/Api/InRegionScroller.h
-Index: Source/WebKit/blackberry/Api/WebKitTextCodec.cpp
-Index: Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
-Index: Source/WebKit/blackberry/Api/WebPageCompositor.cpp
-Index: Source/WebKit/blackberry/Api/Version.h
-Index: Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.h
-Index: Source/WebKit/blackberry/Api/WebPageCompositorClient.h
-Index: Source/WebKit/blackberry/Api/WebPage_p.h
-Index: Source/WebKit/blackberry/Api/WebSettings.cpp
-Index: Source/WebKit/blackberry/Api/BackingStore_p.h
-Index: Source/WebKit/blackberry/Api/JavaScriptVariant.h
-Index: Source/WebKit/blackberry/Api/WebAnimation_p.h
-Index: Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
-Index: Source/WebKit/blackberry/Api/WebViewportArguments.cpp
-Index: Source/WebKit/blackberry/Api/WebCookieJar.cpp
-Index: Source/WebKit/blackberry/Api/WebPageGroupLoadDeferrer.h
-Index: Source/WebKit/blackberry/Api/WebPageCompositor_p.h
-Index: Source/WebKit/blackberry/Api/WebPage.h
-Index: Source/WebKit/blackberry/Api/WebOverlayOverride.cpp
-Index: Source/WebKit/blackberry/Api/WebOverlay.cpp
-Index: Source/WebKit/blackberry/Api/BackingStore.h
-Index: Source/WebKit/blackberry/Api/InRegionScroller.cpp
-Index: Source/WebKit/blackberry/Api/WebAnimation.h
-Index: Source/WebKit/blackberry/Api/WebSettings_p.h
-Index: Source/WebKit/blackberry/Api/WebOverlayClient.h
-Index: Source/WebKit/blackberry/Api/Version.cpp
-Index: Source/WebKit/blackberry/Api/WebKitMIMETypeConverter.cpp
-Index: Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
-Index: Source/WebKit/blackberry/Api/WebKitTextCodec.h
-Index: Source/WebKit/blackberry/ChangeLog-2013-04-24
-Index: Source/WebKit/WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in
-Index: Source/WebKit/gtk/tests/GNUmakefile.am
-Index: Source/WebKit/gtk/tests/testwindow.c
-Index: Source/WebKit/gtk/tests/testdomdomwindow.c
-Index: Source/WebKit/gtk/tests/testdownload.c
-Index: Source/WebKit/gtk/tests/testnetworkresponse.c
-Index: Source/WebKit/gtk/tests/testfavicondatabase.c
-Index: Source/WebKit/gtk/tests/testglobals.c
-Index: Source/WebKit/gtk/tests/testatkroles.c
-Index: Source/WebKit/gtk/tests/testwebresource.c
-Index: Source/WebKit/gtk/tests/testapplicationcache.c
-Index: Source/WebKit/gtk/tests/testwebdatasource.c
-Index: Source/WebKit/gtk/tests/testcopyandpaste.c
-Index: Source/WebKit/gtk/tests/testmimehandling.c
-Index: Source/WebKit/gtk/tests/testwebsettings.c
-Index: Source/WebKit/gtk/tests/test_utils.c
-Index: Source/WebKit/gtk/tests/testnetworkrequest.c
-Index: Source/WebKit/gtk/tests/testwebinspector.c
-Index: Source/WebKit/gtk/tests/test_utils.h
-Index: Source/WebKit/gtk/tests/testwebview.c
-Index: Source/WebKit/gtk/tests/testcontextmenu.c
-Index: Source/WebKit/gtk/tests/testloading.c
-Index: Source/WebKit/gtk/tests/testkeyevents.c
-Index: Source/WebKit/gtk/tests/testwebhistoryitem.c
-Index: Source/WebKit/gtk/tests/testdomdocument.c
-Index: Source/WebKit/gtk/tests/testwebbackforwardlist.c
-Index: Source/WebKit/gtk/tests/testatk.c
-Index: Source/WebKit/gtk/tests/testwebplugindatabase.c
-Index: Source/WebKit/gtk/tests/testhittestresult.c
-Index: Source/WebKit/gtk/tests/testdomnode.c
-Index: Source/WebKit/gtk/tests/testhttpbackend.c
-Index: Source/WebKit/gtk/tests/testwebframe.c
-Index: Source/WebKit/gtk/tests/resources/blank.ico
-Index: Source/WebKit/gtk/tests/resources/test.html
-Index: Source/WebKit/gtk/tests/resources/test.pdf
-Index: Source/WebKit/gtk/tests/resources/test.ogg
-Index: Source/WebKit/gtk/tests/resources/test.txt
-Index: Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
-Index: Source/WebKit/gtk/ChangeLog
-Index: Source/WebKit/ChangeLog
-Index: Source/WebKit/ios/ChangeLog
-Index: Source/WebKit/win/ChangeLog
-Index: Source/WebKit/win/WebCoreSupport/WebInspectorClient.cpp
-Index: Source/WebKit/win/WebFrame.cpp
-Index: Source/WebKit/win/WebHistoryItem.cpp
-Index: Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm
-Index: Source/WebKit/mac/ChangeLog
-Index: Source/WebKit/mac/Misc/WebNSPasteboardExtras.mm
-Index: Source/WebKit/mac/History/WebHistoryItem.mm
-Index: Source/WebKit/mac/Storage/WebDatabaseManagerInternal.h
-Index: Source/WebKit/mac/postprocess-headers.sh
-Index: Source/WebKit/mac/WebView/WebHTMLRepresentation.mm
-Index: Source/WebKit/mac/WebView/WebView.mm
-Index: Source/WebKit/wince/ChangeLog
-Index: Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
-Index: Source/WebKit/efl/ewk/ewk_frame.cpp
-Index: Source/WebKit/efl/ChangeLog
-Index: Source/WebCore/WebCore.exp.in
-Index: Source/WebCore/GNUmakefile.list.am
-Index: Source/WebCore/testing/Internals.cpp
-Index: Source/WebCore/dom/PseudoElement.cpp
-Index: Source/WebCore/dom/DOMImplementation.h
-Index: Source/WebCore/plugins/blackberry/NPCallbacksBlackBerry.cpp
-Index: Source/WebCore/plugins/blackberry/NPCallbacksBlackBerry.h
-Index: Source/WebCore/plugins/blackberry/PluginViewPrivateBlackBerry.cpp
-Index: Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
-Index: Source/WebCore/plugins/blackberry/PluginViewPrivateBlackBerry.h
-Index: Source/WebCore/plugins/blackberry/PluginPackageBlackBerry.cpp
-Index: Source/WebCore/editing/blackberry/SmartReplaceBlackBerry.cpp
-Index: Source/WebCore/editing/nix/EditorNix.cpp
-Index: Source/WebCore/editing/ios/EditorIOS.mm
-Index: Source/WebCore/editing/mac/EditorMac.mm
-Index: Source/WebCore/ChangeLog
-Index: Source/WebCore/history/blackberry/HistoryItemViewState.h
-Index: Source/WebCore/history/mac/HistoryItemMac.mm
-Index: Source/WebCore/history/HistoryItem.cpp
-Index: Source/WebCore/history/HistoryItem.h
-Index: Source/WebCore/page/blackberry/EventHandlerBlackBerry.cpp
-Index: Source/WebCore/page/blackberry/SettingsBlackBerry.cpp
-Index: Source/WebCore/page/blackberry/DragControllerBlackBerry.cpp
-Index: Source/WebCore/page/nix/EventHandlerNix.cpp
-Index: Source/WebCore/page/DragController.cpp
-Index: Source/WebCore/page/Frame.cpp
-Index: Source/WebCore/page/Frame.h
-Index: Source/WebCore/page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.cpp
-Index: Source/WebCore/page/scrolling/blackberry/ScrollingCoordinatorBlackBerry.h
-Index: Source/WebCore/page/scrolling/ios/ScrollingTreeIOS.cpp
-Index: Source/WebCore/page/PageDebuggable.cpp
-Index: Source/WebCore/platform/blackberry/PlatformMouseEventBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/CookieManager.cpp
-Index: Source/WebCore/platform/blackberry/ScrollbarThemeBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/SharedTimerBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h
-Index: Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
-Index: Source/WebCore/platform/blackberry/CookieMap.h
-Index: Source/WebCore/platform/blackberry/ParsedCookie.h
-Index: Source/WebCore/platform/blackberry/PageClientBlackBerry.h
-Index: Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp
-Index: Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h
-Index: Source/WebCore/platform/blackberry/MIMETypeRegistryBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/SearchPopupMenuBlackBerry.h
-Index: Source/WebCore/platform/blackberry/WidgetBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/PasteboardBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/SoundBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/CookieParser.h
-Index: Source/WebCore/platform/blackberry/PopupMenuBlackBerry.h
-Index: Source/WebCore/platform/blackberry/ScrollAnimatorBlackBerry.h
-Index: Source/WebCore/platform/blackberry/PlatformTouchPointBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/CookieMap.cpp
-Index: Source/WebCore/platform/blackberry/RenderThemeBlackBerry.h
-Index: Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/ParsedCookie.cpp
-Index: Source/WebCore/platform/blackberry/CookieManager.h
-Index: Source/WebCore/platform/blackberry/EventLoopBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
-Index: Source/WebCore/platform/blackberry/CursorBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/SearchPopupMenuBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/DragImageBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/PlatformScreenBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/CookieParser.cpp
-Index: Source/WebCore/platform/blackberry/LoggingBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/PopupMenuBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/ScrollAnimatorBlackBerry.cpp
-Index: Source/WebCore/platform/blackberry/PlatformTouchEventBlackBerry.cpp
-Index: Source/WebCore/platform/nix/LocalizedStringsNix.cpp
-Index: Source/WebCore/platform/nix/DragImageNix.cpp
-Index: Source/WebCore/platform/nix/GamepadsNix.cpp
-Index: Source/WebCore/platform/nix/ErrorsNix.h
-Index: Source/WebCore/platform/nix/MIMETypeRegistryNix.cpp
-Index: Source/WebCore/platform/nix/LanguageNix.cpp
-Index: Source/WebCore/platform/nix/WidgetNix.cpp
-Index: Source/WebCore/platform/nix/PlatformScreenNix.cpp
-Index: Source/WebCore/platform/nix/PasteboardNix.cpp
-Index: Source/WebCore/platform/nix/FileSystemNix.cpp
-Index: Source/WebCore/platform/nix/SoundNix.cpp
-Index: Source/WebCore/platform/nix/NixKeyboardUtilities.cpp
-Index: Source/WebCore/platform/nix/NixKeyboardUtilities.h
-Index: Source/WebCore/platform/nix/RenderThemeNix.cpp
-Index: Source/WebCore/platform/nix/TemporaryLinkStubs.cpp
-Index: Source/WebCore/platform/nix/ScrollbarThemeNix.cpp
-Index: Source/WebCore/platform/nix/PlatformKeyboardEventNix.cpp
-Index: Source/WebCore/platform/nix/DragDataNix.cpp
-Index: Source/WebCore/platform/nix/RenderThemeNix.h
-Index: Source/WebCore/platform/nix/SharedTimerNix.cpp
-Index: Source/WebCore/platform/nix/ScrollbarThemeNix.h
-Index: Source/WebCore/platform/nix/ErrorsNix.cpp
-Index: Source/WebCore/platform/nix/support/MultiChannelPCMData.cpp
-Index: Source/WebCore/platform/nix/CursorNix.cpp
-Index: Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h
-Index: Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp
-Index: Source/WebCore/platform/sql/SQLiteDatabase.cpp
-Index: Source/WebCore/platform/sql/ios/SQLiteDatabaseTrackerClient.h
-Index: Source/WebCore/platform/sql/ios/SQLiteDatabaseTracker.h
-Index: Source/WebCore/platform/sql/SQLiteDatabase.h
-Index: Source/WebCore/platform/graphics/blackberry/GradientBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/FloatSizeBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTexture.h
-Index: Source/WebCore/platform/graphics/blackberry/CanvasLayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerRenderer.h
-Index: Source/WebCore/platform/graphics/blackberry/IntRectBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerData.h
-Index: Source/WebCore/platform/graphics/blackberry/ImageBufferBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/IntSizeBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/FontCacheBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/TextureCacheCompositingThread.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerTexture.cpp
-Index: Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTile.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp
-Index: Source/WebCore/platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/IntPointBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/VideoLayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp
-Index: Source/WebCore/platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/CanvasLayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerRendererSurface.cpp
-Index: Source/WebCore/platform/graphics/blackberry/ImageBufferDataBlackBerry.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerAnimation.cpp
-Index: Source/WebCore/platform/graphics/blackberry/PatternBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/ITypeUtils.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h
-Index: Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/PathBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/VideoLayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h
-Index: Source/WebCore/platform/graphics/blackberry/FontBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerUtilities.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerRendererSurface.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerAnimation.h
-Index: Source/WebCore/platform/graphics/blackberry/ImageBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerCompositingThreadClient.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerMessage.h
-Index: Source/WebCore/platform/graphics/blackberry/DrawingBufferBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTileIndex.h
-Index: Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h
-Index: Source/WebCore/platform/graphics/blackberry/PluginLayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/WebGLLayerWebKitThread.h
-Index: Source/WebCore/platform/graphics/blackberry/FontCustomPlatformData.h
-Index: Source/WebCore/platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/GraphicsContextBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerRendererClient.h
-Index: Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/EGLImageLayerCompositingThreadClient.h
-Index: Source/WebCore/platform/graphics/blackberry/FloatPointBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTiler.h
-Index: Source/WebCore/platform/graphics/blackberry/FloatRectBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/TextureCacheCompositingThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/PluginLayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/blackberry/LayerTile.cpp
-Index: Source/WebCore/platform/graphics/blackberry/WebGLLayerWebKitThread.cpp
-Index: Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/nix/ImageNix.cpp
-Index: Source/WebCore/platform/graphics/nix/IconNix.cpp
-Index: Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp
-Index: Source/WebCore/platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h
-Index: Source/WebCore/platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp
-Index: Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
-Index: Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h
-Index: Source/WebCore/platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h
-Index: Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm
-Index: Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
-Index: Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm
-Index: Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h
-Index: Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm
-Index: Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
-Index: Source/WebCore/platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h
-Index: Source/WebCore/platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp
-Index: Source/WebCore/platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm
-Index: Source/WebCore/platform/graphics/ios/IconIOS.mm
-Index: Source/WebCore/platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h
-Index: Source/WebCore/platform/graphics/IntSize.h
-Index: Source/WebCore/platform/graphics/FormatConverter.cpp
-Index: Source/WebCore/platform/efl/DefaultTheme/widget/file/file_focus.png
-Index: Source/WebCore/platform/efl/DefaultTheme/widget/file/file_hover.png
-Index: Source/WebCore/platform/efl/DefaultTheme/widget/file/file.edc
-Index: Source/WebCore/platform/efl/DefaultTheme/widget/file/file_normal.png
-Index: Source/WebCore/platform/efl/DefaultTheme/widget/file/file_press.png
-Index: Source/WebCore/platform/soup/SharedBufferSoup.cpp
-Index: Source/WebCore/platform/RuntimeApplicationChecksIOS.h
-Index: Source/WebCore/platform/network/blackberry/BlobStream.h
-Index: Source/WebCore/platform/network/blackberry/CredentialStorageBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceRequestBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceErrorBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceHandleBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceRequest.h
-Index: Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceError.h
-Index: Source/WebCore/platform/network/blackberry/CookieJarBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/ProxyServerBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/DeferredData.cpp
-Index: Source/WebCore/platform/network/blackberry/CredentialBackingStore.h
-Index: Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp
-Index: Source/WebCore/platform/network/blackberry/ResourceResponse.h
-Index: Source/WebCore/platform/network/blackberry/DeferredData.h
-Index: Source/WebCore/platform/network/blackberry/AutofillBackingStore.h
-Index: Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/SocketStreamError.h
-Index: Source/WebCore/platform/network/blackberry/NetworkManager.cpp
-Index: Source/WebCore/platform/network/blackberry/NetworkJob.cpp
-Index: Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp
-Index: Source/WebCore/platform/network/blackberry/SocketStreamHandle.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSSFilterStream.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSSGenerator.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSSParserBase.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSSGenerator.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSSParserBase.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSS10Parser.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSS20Parser.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSSFilterStream.cpp
-Index: Source/WebCore/platform/network/blackberry/rss/RSS10Parser.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.h
-Index: Source/WebCore/platform/network/blackberry/rss/RSS20Parser.h
-Index: Source/WebCore/platform/network/blackberry/AuthenticationChallenge.h
-Index: Source/WebCore/platform/network/blackberry/NetworkManager.h
-Index: Source/WebCore/platform/network/blackberry/NetworkJob.h
-Index: Source/WebCore/platform/network/blackberry/BlobStream.cpp
-Index: Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
-Index: Source/WebCore/platform/network/mac/CertificateInfo.h
-Index: Source/WebCore/platform/network/mac/CertificateInfoMac.mm
-Index: Source/WebCore/platform/network/soup/CertificateInfo.cpp
-Index: Source/WebCore/platform/network/soup/CertificateInfo.h
-Index: Source/WebCore/platform/network/soup/GUniquePtrSoup.h
-Index: Source/WebCore/platform/network/ios/NetworkStateNotifierIOS.cpp
-Index: Source/WebCore/platform/network/ios/WebCoreURLResponseIOS.h
-Index: Source/WebCore/platform/ios/ThemeIOS.h
-Index: Source/WebCore/platform/ios/PlatformEventFactoryIOS.h
-Index: Source/WebCore/platform/ios/TileLayer.h
-Index: Source/WebCore/platform/ios/ThemeIOS.mm
-Index: Source/WebCore/platform/ios/ScrollAnimatorIOS.h
-Index: Source/WebCore/platform/ios/WebCoreMotionManager.h
-Index: Source/WebCore/platform/ios/SystemMemory.h
-Index: Source/WebCore/platform/ios/MIMETypeRegistryIOS.mm
-Index: Source/WebCore/platform/ios/SoundIOS.mm
-Index: Source/WebCore/platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp
-Index: Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp
-Index: Source/WebCore/platform/text/RegularExpression.cpp
-Index: Source/WebCore/platform/text/nix/TextBreakIteratorInternalICUNix.cpp
-Index: Source/WebCore/platform/text/RegularExpression.h
-Index: Source/WebCore/platform/text/mac/ios-encodings.txt
-Index: Source/WebCore/platform/text/ios/LocalizedDateCache.h
-Index: Source/WebCore/platform/gtk/GUniquePtrGtk.h
-Index: Source/WebCore/platform/gtk/ScrollViewGtk.cpp
-Index: Source/WebCore/platform/gtk/po/CMakeLists.txt
-Index: Source/WebCore/platform/gtk/po/ChangeLog
-Index: Source/WebCore/platform/audio/nix/AudioDestinationNix.cpp
-Index: Source/WebCore/platform/audio/nix/AudioDestinationNix.h
-Index: Source/WebCore/platform/audio/nix/FFTFrameNix.cpp
-Index: Source/WebCore/platform/audio/nix/AudioBusNix.cpp
-Index: Source/WebCore/platform/audio/ios/AudioFileReaderIOS.cpp
-Index: Source/WebCore/platform/audio/ios/AudioFileReaderIOS.h
-Index: Source/WebCore/platform/image-decoders/blackberry/JPEGImageDecoder.cpp
-Index: Source/WebCore/platform/image-decoders/blackberry/JPEGImageDecoder.h
-Index: Source/WebCore/generate-export-file
-Index: Source/WebCore/workers/WorkerMessagingProxy.cpp
-Index: Source/WebCore/bindings/js/ScriptGlobalObject.cpp
-Index: Source/WebCore/bindings/js/PageScriptDebugServer.h
-Index: Source/WebCore/bindings/js/WorkerScriptDebugServer.cpp
-Index: Source/WebCore/bindings/js/PageScriptDebugServer.cpp
-Index: Source/WebCore/bindings/js/ScriptDebugServer.cpp
-Index: Source/WebCore/bindings/js/JSDOMBinding.cpp
-Index: Source/WebCore/bindings/js/ScriptDebugServer.h
-Index: Source/WebCore/bindings/js/ScriptGlobalObject.h
-Index: Source/WebCore/bindings/js/WorkerScriptDebugServer.h
-Index: Source/WebCore/bindings/objc/PublicDOMInterfaces.h
-Index: Source/WebCore/html/BaseTextInputType.cpp
-Index: Source/WebCore/html/HTMLImageElement.cpp
-Index: Source/WebCore/html/InputType.cpp
-Index: Source/WebCore/html/HTMLAreaElement.cpp
-Index: Source/WebCore/html/parser/CSSPreloadScanner.cpp
-Index: Source/WebCore/html/BaseCheckableInputType.cpp
-Index: Source/WebCore/html/shadow/SliderThumbElement.cpp
-Index: Source/WebCore/html/canvas/ANGLEInstancedArrays.h
-Index: Source/WebCore/html/canvas/OESTextureHalfFloatLinear.cpp
-Index: Source/WebCore/html/canvas/ANGLEInstancedArrays.cpp
-Index: Source/WebCore/html/canvas/OESTextureHalfFloatLinear.h
-Index: Source/WebCore/html/EmailInputType.cpp
-Index: Source/WebCore/inspector/ContentSearchUtils.cpp
-Index: Source/WebCore/inspector/ScriptDebugListener.h
-Index: Source/WebCore/inspector/ScriptBreakpoint.h
-Index: Source/WebCore/inspector/ContentSearchUtils.h
-Index: Source/WebCore/inspector/Scripts
-Index: Source/WebCore/inspector/Scripts/cssmin.py
-Index: Source/WebCore/inspector/Scripts/jsmin.py
-Index: Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py
-Index: Source/WebCore/inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py
-Index: Source/WebCore/inspector/PageRuntimeAgent.cpp
-Index: Source/WebCore/inspector/PageDebuggerAgent.cpp
-Index: Source/WebCore/inspector/InspectorIndexedDBAgent.h
-Index: Source/WebCore/inspector/InspectorLayerTreeAgent.cpp
-Index: Source/WebCore/inspector/InspectorController.cpp
-Index: Source/WebCore/inspector/InspectorTimelineAgent.cpp
-Index: Source/WebCore/inspector/InspectorDatabaseAgent.h
-Index: Source/WebCore/inspector/InspectorMemoryAgent.h
-Index: Source/WebCore/inspector/InspectorProfilerAgent.cpp
-Index: Source/WebCore/inspector/InspectorLayerTreeAgent.h
-Index: Source/WebCore/inspector/CommandLineAPIHost.cpp
-Index: Source/WebCore/inspector/InspectorController.h
-Index: Source/WebCore/inspector/InspectorStyleSheet.cpp
-Index: Source/WebCore/inspector/InspectorHeapProfilerAgent.cpp
-Index: Source/WebCore/inspector/InspectorAllInOne.cpp
-Index: Source/WebCore/inspector/WorkerInspectorController.cpp
-Index: Source/WebCore/inspector/InspectorPageAgent.cpp
-Index: Source/WebCore/inspector/CommandLineAPIHost.h
-Index: Source/WebCore/inspector/InspectorCanvasAgent.h
-Index: Source/WebCore/inspector/InspectorDOMAgent.h
-Index: Source/WebCore/inspector/InspectorDebuggerAgent.cpp
-Index: Source/WebCore/inspector/InspectorHeapProfilerAgent.h
-Index: Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
-Index: Source/WebCore/inspector/InspectorCSSAgent.cpp
-Index: Source/WebCore/inspector/InspectorInputAgent.cpp
-Index: Source/WebCore/inspector/InspectorWorkerAgent.h
-Index: Source/WebCore/inspector/InspectorPageAgent.h
-Index: Source/WebCore/inspector/InspectorApplicationCacheAgent.cpp
-Index: Source/WebCore/inspector/InspectorResourceAgent.cpp
-Index: Source/WebCore/inspector/WorkerDebuggerAgent.cpp
-Index: Source/WebCore/inspector/InspectorDebuggerAgent.h
-Index: Source/WebCore/inspector/WorkerRuntimeAgent.h
-Index: Source/WebCore/inspector/InspectorCSSAgent.h
-Index: Source/WebCore/inspector/InspectorConsoleAgent.h
-Index: Source/WebCore/inspector/InspectorWorkerAgent.cpp
-Index: Source/WebCore/inspector/PageDebuggerAgent.h
-Index: Source/WebCore/inspector/InspectorDOMStorageAgent.cpp
-Index: Source/WebCore/inspector/InspectorTimelineAgent.h
-Index: Source/WebCore/inspector/InspectorDOMDebuggerAgent.cpp
-Index: Source/WebCore/inspector/InspectorProfilerAgent.h
-Index: Source/WebCore/inspector/InspectorInputAgent.h
-Index: Source/WebCore/inspector/InspectorDOMStorageAgent.h
-Index: Source/WebCore/inspector/WorkerRuntimeAgent.cpp
-Index: Source/WebCore/inspector/InspectorDOMDebuggerAgent.h
-Index: Source/WebCore/inspector/InspectorApplicationCacheAgent.h
-Index: Source/WebCore/inspector/InspectorResourceAgent.h
-Index: Source/WebCore/inspector/WorkerDebuggerAgent.h
-Index: Source/WebCore/inspector/PageRuntimeAgent.h
-Index: Source/WebCore/inspector/InspectorConsoleAgent.cpp
-Index: Source/WebCore/inspector/WorkerInspectorController.h
-Index: Source/WebCore/inspector/InspectorDatabaseAgent.cpp
-Index: Source/WebCore/inspector/InspectorMemoryAgent.cpp
-Index: Source/WebCore/inspector/InspectorCanvasAgent.cpp
-Index: Source/WebCore/inspector/InspectorDOMAgent.cpp
-Index: Source/WebCore/Resources/blackberry/colorControlBlackBerry.css
-Index: Source/WebCore/Resources/blackberry/timeControlBlackBerry.css
-Index: Source/WebCore/Resources/blackberry/selectControlBlackBerry.css
-Index: Source/WebCore/Resources/blackberry/colorControlBlackBerry.js
-Index: Source/WebCore/Resources/blackberry/timeControlBlackBerry.js
-Index: Source/WebCore/Resources/blackberry/popupControlBlackBerry.css
-Index: Source/WebCore/Resources/blackberry/selectControlBlackBerry.js
-Index: Source/WebCore/Resources/SpellingDot@2x.png
-Index: Source/WebCore/Resources/SpellingDot@2x.png
-Index: Source/WebCore/Resources/markedRight.png
-Index: Source/WebCore/Resources/markedRight.png
-Index: Source/WebCore/Resources/incrementArrow.tiff
-Index: Source/WebCore/Resources/DictationPhraseWithAlternativesDot.png
-Index: Source/WebCore/Resources/DictationPhraseWithAlternativesDot.png
-Index: Source/WebCore/Resources/vScrollControl_bottom.png
-Index: Source/WebCore/Resources/vScrollControl_bottom.png
-Index: Source/WebCore/Resources/DictationPhraseWithAlternativesDot@2x.png
-Index: Source/WebCore/Resources/DictationPhraseWithAlternativesDot@2x.png
-Index: Source/WebCore/Resources/markedMiddle.png
-Index: Source/WebCore/Resources/markedMiddle.png
-Index: Source/WebCore/Resources/decrementArrow.tiff
-Index: Source/WebCore/Resources/hScrollControl_middle.png
-Index: Source/WebCore/Resources/hScrollControl_middle.png
-Index: Source/WebCore/Resources/vScrollControl_middle.png
-Index: Source/WebCore/Resources/vScrollControl_middle.png
-Index: Source/WebCore/Resources/hScrollControl_right.png
-Index: Source/WebCore/Resources/hScrollControl_right.png
-Index: Source/WebCore/Resources/vScrollControl_top.png
-Index: Source/WebCore/Resources/vScrollControl_top.png
-Index: Source/WebCore/Resources/markedLeft.png
-Index: Source/WebCore/Resources/markedLeft.png
-Index: Source/WebCore/Resources/hScrollControl_left.png
-Index: Source/WebCore/Resources/hScrollControl_left.png
-Index: Source/WebCore/Resources/SpellingDot.png
-Index: Source/WebCore/Resources/SpellingDot.png
-Index: Source/WebCore/rendering/RenderMultiColumnSet.cpp
-Index: Source/WebCore/rendering/RenderThemeIOS.mm
-Index: Source/WebCore/rendering/RenderThemeIOS.h
-Index: Source/WebCore/rendering/RenderMultiColumnBlock.h
-Index: Source/WebCore/rendering/RenderMultiColumnBlock.cpp
-Index: Source/WebCore/rendering/TextAutoSizing.cpp
-Index: Source/WebCore/rendering/RenderMultiColumnFlowThread.cpp
-Index: Source/WebCore/rendering/RenderLayerBacking.cpp
-Index: Source/WebCore/rendering/TextAutoSizing.h
-Index: Source/WebCore/rendering/RenderBlockFlow.cpp
-Index: Source/WebCore/rendering/RenderBlockFlow.h
-Index: Source/WebCore/rendering/RenderMultiColumnFlowThread.h
-Index: Source/WebCore/CMakeLists.txt
-Index: Source/WebCore/WebCore.vcxproj/WebCore.vcxproj
-Index: Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters
-Index: Source/WebCore/WebCore.vcxproj/build-generated-files.sh
-Index: Source/WebCore/crypto/mac/CryptoAlgorithmRSAES_PKCS1_v1_5Mac.cpp
-Index: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp
-Index: Source/WebCore/crypto/algorithms/CryptoAlgorithmRSAES_PKCS1_v1_5.h
-Index: Source/WebCore/WebCore.xcodeproj/project.pbxproj
-Index: Source/WebCore/ForwardingHeaders/runtime/ErrorHandlingScope.h
-Index: Source/WebCore/ForwardingHeaders/inspector/ContentSearchUtilities.h
-Index: Source/WebCore/ForwardingHeaders/inspector/ScriptDebugListener.h
-Index: Source/WebCore/ForwardingHeaders/inspector/ScriptBreakpoint.h
-Index: Source/WebCore/ForwardingHeaders/yarr/RegularExpression.h
-Index: Source/WebCore/loader/ImageLoader.cpp
-Index: Source/WebCore/Modules/indexeddb/IDBKeyRangeData.cpp
-Index: Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.cpp
-Index: Source/WebCore/Modules/indexeddb/IDBKeyRangeData.h
-Index: Source/WebCore/Modules/indexeddb/IDBTransactionBackendOperations.h
-Index: Source/WebCore/Modules/indexeddb/IDBKeyData.h
-Index: Source/WebCore/Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp
-Index: Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp
-Index: Source/WebCore/Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl
-Index: Source/ThirdParty/ANGLE/ChangeLog
-Index: Source/ThirdParty/ChangeLog
-Index: Source/WTF/wtf/blackberry/RunLoopBlackBerry.cpp
-Index: Source/WTF/wtf/blackberry/MainThreadBlackBerry.cpp
-Index: Source/WTF/wtf/IteratorPair.h
-Index: Source/WTF/wtf/nix/PlatformNix.h
-Index: Source/WTF/wtf/nix/FeatureDefinesNix.h
-Index: Source/WTF/wtf/nix/RunLoopNix.cpp
-Index: Source/WTF/wtf/Compiler.h
-Index: Source/WTF/wtf/RetainPtr.h
-Index: Source/WTF/wtf/threads/BinarySemaphore.cpp
-Index: Source/WTF/wtf/threads/win/BinarySemaphoreWin.cpp
-Index: Source/WTF/wtf/threads/BinarySemaphore.h
-Index: Source/WTF/wtf/StackBounds.h
-Index: Source/WTF/wtf/Platform.h
-Index: Source/WTF/wtf/Assertions.h
-Index: Source/WTF/wtf/RefPtr.h
-Index: Source/WTF/ChangeLog
-Index: Source/WebInspectorUI/UserInterface/TimelineRecordBar.css
-Index: Source/WebInspectorUI/UserInterface/ScriptTimelineOverviewGraph.js
-Index: Source/WebInspectorUI/UserInterface/TimelineRecordBar.js
-Index: Source/WebInspectorUI/UserInterface/LayoutTimelineOverviewGraph.js
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarRed.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarOrange@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarPurple.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarYellow@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarGray.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarWhiteFlat.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarPurple@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarOrange.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarBlue.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarOrange.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarBlue@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarOrange@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarPurple.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarOrange@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarPurple@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarBlue.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarYellow.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarRed@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarYellow.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarPurple@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarRed@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarGreen.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarOrange.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarGreen@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarWhiteFlat@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarGray@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkBarRed.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarYellow@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/TimelineBarBlue@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkHollowBarPurple.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/NetworkLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ScriptLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/ScriptLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorsLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorsLarge.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorsLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorsLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ScriptLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ScriptLarge@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorIcon.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorIcon.png
-Index: Source/WebInspectorUI/UserInterface/Images/CloseTimeline.png
-Index: Source/WebInspectorUI/UserInterface/Images/CloseTimeline.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorIcon@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/ColorIcon@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/CloseTimeline@2x.png
-Index: Source/WebInspectorUI/UserInterface/Images/CloseTimeline@2x.png
-Index: Source/WebInspectorUI/UserInterface/NetworkTimelineOverviewGraph.css
-Index: Source/WebInspectorUI/UserInterface/TimelineDataGridNode.js
-Index: Source/WebInspectorUI/UserInterface/NetworkTimelineOverviewGraph.js
-Index: Source/WebInspectorUI/ChangeLog
-Index: Source/WebKit2/GNUmakefile.list.am
-Index: Source/WebKit2/UIProcess/WebPolicyClient.cpp
-Index: Source/WebKit2/UIProcess/WebPolicyClient.h
-Index: Source/WebKit2/UIProcess/WebLoaderClient.h
-Index: Source/WebKit2/UIProcess/API/mac/WKViewInternal.h
-Index: Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
-Index: Source/WebKit2/UIProcess/API/mac/WKView.mm
-Index: Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
-Index: Source/WebKit2/UIProcess/API/C/WKPage.cpp
-Index: Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h
-Index: Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
-Index: Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h
-Index: Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm
-Index: Source/WebKit2/UIProcess/API/APILoaderClient.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestSSL.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/GNUmakefile.am
-Index: Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestCookieManager.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestResources.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebExtensionTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/AccessibilityTestServer.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestMain.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitFindController.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestPrinting.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestDownloads.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebExtensions.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/InspectorTestServer.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestInspectorServer.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestBus.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestLoaderClient.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitSettings.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestInspector.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTestRunner.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/LoadTrackingTest.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebViewTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestContextMenu.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebKitTestServer.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebView.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebViewEditor.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/WebProcessTest.h
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestMain.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/DOMNodeTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestDOMNode.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/resources/test-key.pem
-Index: Source/WebKit2/UIProcess/API/gtk/tests/resources/link-title.js
-Index: Source/WebKit2/UIProcess/API/gtk/tests/resources/webkit2gtk-tests.gresource.xml
-Index: Source/WebKit2/UIProcess/API/gtk/tests/resources/test-cert.pem
-Index: Source/WebKit2/UIProcess/API/gtk/tests/FrameTest.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestFrame.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebViewGroup.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitVersion.cpp
-Index: Source/WebKit2/UIProcess/API/gtk/WebKit2InspectorGResourceBundle.xml
-Index: Source/WebKit2/UIProcess/API/APIPolicyClient.h
-Index: Source/WebKit2/UIProcess/WebLoaderClient.cpp
-Index: Source/WebKit2/UIProcess/cf/WebPageProxyCF.cpp
-Index: Source/WebKit2/UIProcess/cf/WebBackForwardListCF.cpp
-Index: Source/WebKit2/UIProcess/WebPageProxy.h
-Index: Source/WebKit2/UIProcess/PageClient.h
-Index: Source/WebKit2/UIProcess/WebPageProxy.cpp
-Index: Source/WebKit2/UIProcess/mac/ViewSnapshotStore.h
-Index: Source/WebKit2/UIProcess/mac/ViewSnapshotStore.mm
-Index: Source/WebKit2/UIProcess/WebInspectorProxy.cpp
-Index: Source/WebKit2/UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h
-Index: Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp
-Index: Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.h
-Index: Source/WebKit2/WebProcess/Databases/IndexedDB/WebIDBServerConnection.messages.in
-Index: Source/WebKit2/WebProcess/WebPage/WebInspector.cpp
-Index: Source/WebKit2/WebProcess/WebPage/ios/WebPageIOS.mm
-Index: Source/WebKit2/WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp
-Index: Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp
-Index: Source/WebKit2/CMakeLists.txt
-Index: Source/WebKit2/Platform/CoreIPC/Connection.cpp
-Index: Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
-Index: Source/WebKit2/Platform/CoreIPC/unix/AttachmentUnix.cpp
-Index: Source/WebKit2/Platform/CoreIPC/Connection.h
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h
-Index: Source/WebKit2/Platform/CoreIPC/HandleMessage.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageFlags.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.cpp
-Index: Source/WebKit2/Platform/CoreIPC/MessageDecoder.cpp
-Index: Source/WebKit2/Platform/CoreIPC/Arguments.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageReceiver.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageDecoder.h
-Index: Source/WebKit2/Platform/CoreIPC/mac/ImportanceAssertion.h
-Index: Source/WebKit2/Platform/CoreIPC/mac/ConnectionMac.cpp
-Index: Source/WebKit2/Platform/CoreIPC/mac/MachPort.h
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.cpp
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp
-Index: Source/WebKit2/Platform/CoreIPC/MessageEncoder.cpp
-Index: Source/WebKit2/Platform/CoreIPC/MessageSender.cpp
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h
-Index: Source/WebKit2/Platform/CoreIPC/ArgumentCoders.h
-Index: Source/WebKit2/Platform/CoreIPC/Attachment.cpp
-Index: Source/WebKit2/Platform/CoreIPC/MessageEncoder.h
-Index: Source/WebKit2/Platform/CoreIPC/MessageSender.h
-Index: Source/WebKit2/Platform/CoreIPC/Attachment.h
-Index: Source/WebKit2/Platform/IPC/Connection.cpp
-Index: Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp
-Index: Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp
-Index: Source/WebKit2/Platform/IPC/ArgumentCoder.h
-Index: Source/WebKit2/Platform/IPC/Connection.h
-Index: Source/WebKit2/Platform/IPC/HandleMessage.h
-Index: Source/WebKit2/Platform/IPC/MessageFlags.h
-Index: Source/WebKit2/Platform/IPC/MessageReceiverMap.cpp
-Index: Source/WebKit2/Platform/IPC/ArgumentDecoder.cpp
-Index: Source/WebKit2/Platform/IPC/Arguments.h
-Index: Source/WebKit2/Platform/IPC/MessageDecoder.cpp
-Index: Source/WebKit2/Platform/IPC/MessageReceiverMap.h
-Index: Source/WebKit2/Platform/IPC/ArgumentDecoder.h
-Index: Source/WebKit2/Platform/IPC/MessageReceiver.h
-Index: Source/WebKit2/Platform/IPC/mac/ImportanceAssertion.h
-Index: Source/WebKit2/Platform/IPC/mac/ConnectionMac.cpp
-Index: Source/WebKit2/Platform/IPC/mac/MachPort.h
-Index: Source/WebKit2/Platform/IPC/MessageDecoder.h
-Index: Source/WebKit2/Platform/IPC/ArgumentEncoder.cpp
-Index: Source/WebKit2/Platform/IPC/ArgumentCoders.cpp
-Index: Source/WebKit2/Platform/IPC/MessageEncoder.cpp
-Index: Source/WebKit2/Platform/IPC/ArgumentEncoder.h
-Index: Source/WebKit2/Platform/IPC/ArgumentCoders.h
-Index: Source/WebKit2/Platform/IPC/Attachment.cpp
-Index: Source/WebKit2/Platform/IPC/MessageEncoder.h
-Index: Source/WebKit2/Platform/IPC/MessageSender.h
-Index: Source/WebKit2/Platform/IPC/Attachment.h
-Index: Source/WebKit2/ChangeLog
-Index: Source/WebKit2/Scripts/webkit2/LegacyMessages-expected.h
-Index: Source/WebKit2/Scripts/webkit2/MessagesSuperclass-expected.h
-Index: Source/WebKit2/Scripts/webkit2/MessageReceiver-expected.cpp
-Index: Source/WebKit2/Scripts/webkit2/Messages-expected.h
-Index: Source/WebKit2/Scripts/webkit2/LegacyMessageReceiver-expected.cpp
-Index: Source/WebKit2/Scripts/webkit2/MessageReceiverSuperclass-expected.cpp
-Index: Source/WebKit2/Scripts/webkit2/messages.py
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.cpp
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/SQLiteIDBTransaction.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.messages.in
-Index: Source/WebKit2/DatabaseProcess/IndexedDB/IDBSerialization.cpp
-Index: Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
-Index: Source/WebKit2/Shared/SessionTracker.cpp
-Index: Source/WebKit2/Shared/APIURLRequest.h
-Index: Source/WebKit2/Shared/WebCrossThreadCopier.h
-Index: Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm
-Index: Source/WebKit2/Shared/cf/KeyedDecoder.h
-Index: Source/WebKit2/Shared/APIData.h
-Index: Source/WebKit2/Shared/APIString.h
-Index: Source/WebKit2/Shared/APINumber.h
-Index: Source/WebKit2/Shared/APIError.h
-Index: Source/WebKit2/Shared/APIError.cpp
-Index: Source/WebKit2/Shared/WebBackForwardListItem.h
-Index: Source/WebKit2/Shared/APIURLRequest.cpp
-Index: Source/WebKit2/Shared/Scrolling/RemoteScrollingCoordinatorTransaction.h
-Index: Source/WebKit2/Shared/WebCrossThreadCopier.cpp
-Index: Source/WebKit2/Shared/APIURLResponse.h
-Index: Source/WebKit2/Shared/APIURL.h
-Index: Source/WebKit2/Shared/APIURLResponse.cpp
-Index: Source
-Index: Tools/gtk/generate-inspector-gresource-manifest.py
-Index: Tools/gtk/ycm_extra_conf.py
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Popover.css
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitTestHistory.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Bugzilla.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Popover.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Geometry.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js
-Index: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js
-Index: Tools/QueueStatusServer/handlers/queuelengthjson.py
-Index: Tools/QueueStatusServer/handlers/queuestatusjson.py
-Index: Tools/QueueStatusServer/handlers
-Index: Tools/QueueStatusServer/model
-Index: Tools/QueueStatusServer/loggers
-Index: Tools/QueueStatusServer/config
-Index: Tools/QueueStatusServer/robots.txt
-Index: Tools/QueueStatusServer/filters
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.h
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.h
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.h
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp
-Index: Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwindow.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testdomdomwindow.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testdownload.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testnetworkresponse.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testfavicondatabase.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testglobals.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testatkroles.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebresource.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testapplicationcache.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebdatasource.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testcopyandpaste.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testmimehandling.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/CMakeLists.txt
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebsettings.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/test_utils.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testnetworkrequest.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/test_utils.h
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebinspector.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebview.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testcontextmenu.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testkeyevents.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testloading.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testdomdocument.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebhistoryitem.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testatk.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebbackforwardlist.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebplugindatabase.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testhittestresult.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testdomnode.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testhttpbackend.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/testwebframe.c
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/blank.ico
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/test.html
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/test.pdf
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/test.pdf
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/test.ogg
-Index: Tools/TestWebKitAPI/Tests/WebKitGtk/resources/test.txt
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp
-Index: Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp
-Index: Tools/DumpRenderTree/blackberry/GCControllerBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/build
-Index: Tools/DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/EventSender.cpp
-Index: Tools/DumpRenderTree/blackberry/DumpRenderTree.cpp
-Index: Tools/DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/EventSender.h
-Index: Tools/DumpRenderTree/blackberry/PNGImageEncoder.cpp
-Index: Tools/DumpRenderTree/blackberry/WorkQueueItemBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/PixelDumpSupportBlackBerry.h
-Index: Tools/DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/DumpRenderTreeBlackBerry.h
-Index: Tools/DumpRenderTree/blackberry/AccessibilityControllerBlackBerry.cpp
-Index: Tools/DumpRenderTree/blackberry/PNGImageEncoder.h
-Index: Tools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport_wrapPregenerated.c
-Index: Tools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupport.c
-Index: Tools/DumpRenderTree/mac/PerlSupport/DumpRenderTreeSupportPregenerated.pm
-Index: Tools/DumpRenderTree/mac/PerlSupport/Makefile
-Index: Tools/Scripts/display-profiler-output
-Index: Tools/Scripts/webkitpy/layout_tests/reftests
-Index: Tools/Scripts/webkitpy/layout_tests/reftests/__init__.py
-Index: Tools/Scripts/webkitpy/layout_tests/reftests/extract_reference_link_unittest.py
-Index: Tools/Scripts/webkitpy/layout_tests/reftests/extract_reference_link.py
-Index: Tools/Scripts/package-root
-Index: Tools/Scripts/run-jsc-stress-tests
-Index: Tools/Scripts/compare-webkit-configurations
-Index: Tools/ChangeLog
-Index: Tools/GtkLauncher/CMakeLists.txt
-Index: .
</del></span></pre>
</div>
</div>

</body>
</html>