Imported Upstream version 4.3.2.467

Former-commit-id: 9c2cb47f45fa221e661ab616387c9cda183f283d
This commit is contained in:
Xamarin Public Jenkins
2016-02-22 11:00:01 -05:00
parent f302175246
commit f3e3aab35a
4097 changed files with 122406 additions and 82300 deletions

View File

@@ -23,4 +23,4 @@ namespace System.Web.UI {
/// </devdoc>
CompareAllValues = 1
}
}
}

View File

@@ -1 +1 @@
1a9686a27e5ed415605485f8f16e5724c00e1b37
7a21a881ad31bc5c73e652ddcd35b79bf8875b50

View File

@@ -192,7 +192,6 @@ namespace System.Web.UI {
/// </para>
/// </devdoc>
public virtual int Count {
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
get {
return _size;
}
@@ -363,14 +362,12 @@ namespace System.Web.UI {
}
object IEnumerator.Current {
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
get {
return Current;
}
}
public Control Current {
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
get {
if (index == -1)
throw new InvalidOperationException(SR.GetString(SR.ListEnumCurrentOutOfRange));

View File

@@ -138,4 +138,4 @@ namespace System.Web.UI
}
}
}
#endif
#endif

View File

@@ -139,7 +139,9 @@ namespace System.Web.UI {
RegisterTag("big", HtmlTextWriterTag.Big, TagType.Inline);
RegisterTag("blockquote", HtmlTextWriterTag.Blockquote, TagType.Other);
RegisterTag("body", HtmlTextWriterTag.Body, TagType.Other);
RegisterTag("br", HtmlTextWriterTag.Br, TagType.Other);
// Devdiv 852940, BR is a self-closing tag
RegisterTag("br", HtmlTextWriterTag.Br,
BinaryCompatibility.Current.TargetsAtLeastFramework46 ? TagType.NonClosing : TagType.Other);
RegisterTag("button", HtmlTextWriterTag.Button, TagType.Inline);
RegisterTag("caption", HtmlTextWriterTag.Caption, TagType.Other);
RegisterTag("center", HtmlTextWriterTag.Center, TagType.Other);
@@ -373,7 +375,6 @@ namespace System.Web.UI {
}
//Writes a string to the text stream.
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public override void Write(string s) {
if (tabsPending) {
OutputTabs();
@@ -390,7 +391,6 @@ namespace System.Web.UI {
}
//Writes a character to the text stream.
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public override void Write(char value) {
if (tabsPending) {
OutputTabs();
@@ -1128,22 +1128,18 @@ namespace System.Web.UI {
}
}
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
protected virtual string RenderBeforeTag() {
return null;
}
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
protected virtual string RenderBeforeContent() {
return null;
}
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
protected virtual string RenderAfterContent() {
return null;
}
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
protected virtual string RenderAfterTag() {
return null;
}

View File

@@ -73,7 +73,6 @@ namespace System.Web.UI.HtmlControls {
DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
]
public AttributeCollection Attributes {
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
get {
if (_attributes == null)
_attributes = new AttributeCollection(ViewState);

View File

@@ -286,7 +286,9 @@ namespace System.Web.UI.HtmlControls {
action = clientFilePath.VirtualPathString;
int iPos = action.LastIndexOf('/');
if (iPos >= 0) {
action = action.Substring(iPos + 1);
// Ensure the segment is always a relative path, so prepend a dot-segment
// (RFC section 4.2 Relative Reference)
action = "./" + action.Substring(iPos + 1);
}
}
else {

View File

@@ -7,4 +7,4 @@
namespace System.Web.UI {
internal interface IUpdatePanel {
}
}
}

View File

@@ -74,7 +74,6 @@ namespace System.Web.UI {
/// <devdoc>
/// <para>Saves any state that was modified after mark.</para>
/// </devdoc>
[System.Runtime.TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
protected internal override void Render(HtmlTextWriter output) {
output.Write(_text);
}

View File

@@ -1 +1 @@
9f9f36cfd550af92e7788a1987855cb9b701618b
974680fd74222db0b425c15c2e38618f0c4c6439

View File

@@ -844,10 +844,8 @@ internal class ControlCachedVary {
public override int GetHashCode () {
HashCodeCombiner hashCodeCombiner = new HashCodeCombiner();
// Cast _varyByCustom to an object, since the HashCodeCombiner.AddObject(string)
// overload uses StringUtil.GetStringHashCode(). We want to use String.GetHashCode()
// in this method, since we do not require a stable hash code across architectures.
hashCodeCombiner.AddObject((object)_varyByCustom);
// We need non-randomized hash code for _varyByCustom
hashCodeCombiner.AddInt(StringUtil.GetNonRandomizedHashCode(_varyByCustom));
hashCodeCombiner.AddArray(_varyByParams);
hashCodeCombiner.AddArray(_varyByControls);

View File

@@ -194,7 +194,7 @@ public abstract class TemplateControl : Control, INamingContainer, IFilterResolu
/// <para>Occurs when an uncaught exception is thrown.</para>
/// </devdoc>
[
WebSysDescription(SR.Page_Error)
WebSysDescription(SR.Page_ErrorDescription)
]
public event EventHandler Error {
add {

View File

@@ -759,7 +759,7 @@ namespace System.Web {
private void InitRequest() {
// Master request is assumed to be initialized first
System.Web.Util.Debug.Assert(_masterRequest != null);
DataSet requestData = _masterRequest.Clone();
// request info
@@ -786,19 +786,19 @@ namespace System.Web {
AddRow(requestData, SR.Trace_Request, row);
// header info
int i;
String[] keys = _context.Request.Headers.AllKeys;
for (i=0; i<keys.Length; i++) {
row = NewRow(requestData, SR.Trace_Headers_Collection);
row[SR.Trace_Name] = keys[i];
row[SR.Trace_Value] = _context.Request.Headers[keys[i]];
AddRow(requestData, SR.Trace_Headers_Collection, row);
try {
// Bug 867196: Use Request.Unvalidated to ensure request validation will not
// be triggered when the entries of the collection are accessed.
AddCollectionToRequestData(requestData, SR.Trace_Headers_Collection, _context.Request.Unvalidated.Headers);
}
catch {
// ---- exceptions when we fail to get the unvalidated collection
}
// response header info
ArrayList headers = _context.Response.GenerateResponseHeaders(false);
int n = (headers != null) ? headers.Count : 0;
for (i = 0; i < n; i++) {
for (int i = 0; i < n; i++) {
HttpResponseHeader h = (HttpResponseHeader)headers[i];
row = NewRow(requestData, SR.Trace_Response_Headers_Collection);
row[SR.Trace_Name] = h.Name;
@@ -807,34 +807,26 @@ namespace System.Web {
}
//form info
keys = _context.Request.Form.AllKeys;
for (i=0; i<keys.Length; i++) {
row = NewRow(requestData, SR.Trace_Form_Collection);
row[SR.Trace_Name] = keys[i];
row[SR.Trace_Value] = _context.Request.Form[keys[i]];
AddRow(requestData, SR.Trace_Form_Collection, row);
try {
AddCollectionToRequestData(requestData, SR.Trace_Form_Collection, _context.Request.Unvalidated.Form);
}
catch {
// ---- exceptions when we fail to get the unvalidated collection
}
//QueryString info
keys = _context.Request.QueryString.AllKeys;
for (i=0; i<keys.Length; i++) {
row = NewRow(requestData, SR.Trace_Querystring_Collection);
row[SR.Trace_Name] = keys[i];
row[SR.Trace_Value] = _context.Request.QueryString[keys[i]];
AddRow(requestData, SR.Trace_Querystring_Collection, row);
try {
AddCollectionToRequestData(requestData, SR.Trace_Querystring_Collection, _context.Request.Unvalidated.QueryString);
}
catch {
// ---- exceptions when we fail to get the unvalidated collection
}
//Server Variable info
if (HttpRuntime.HasAppPathDiscoveryPermission()) {
keys = _context.Request.ServerVariables.AllKeys;
for (i=0; i<keys.Length; i++) {
row = NewRow(requestData, SR.Trace_Server_Variables);
row[SR.Trace_Name] = keys[i];
row[SR.Trace_Value] = _context.Request.ServerVariables.Get(keys[i]);
AddRow(requestData, SR.Trace_Server_Variables, row);
}
AddCollectionToRequestData(requestData, SR.Trace_Server_Variables, _context.Request.ServerVariables);
}
_requestData = requestData;
if (HttpRuntime.UseIntegratedPipeline) {
@@ -847,6 +839,18 @@ namespace System.Web {
_context.Request.InsertEntityBody();
}
}
private void AddCollectionToRequestData(DataSet requestData, string traceCollectionTitle, NameValueCollection collection) {
if (null != collection) {
var keys = collection.AllKeys;
for (int i = 0; i < keys.Length; i++) {
var row = NewRow(requestData, traceCollectionTitle);
row[SR.Trace_Name] = keys[i];
row[SR.Trace_Value] = collection[keys[i]];
AddRow(requestData, traceCollectionTitle, row);
}
}
}
}
}

View File

@@ -329,7 +329,7 @@ internal static class Util {
string assembly = "system_web";
// QFE number is not included in client path
string version = VersionInfo.EngineVersion.Substring(0, VersionInfo.EngineVersion.LastIndexOf('.')).Replace('.', '_');
string version = VersionInfo.SystemWebVersion.Substring(0, VersionInfo.SystemWebVersion.LastIndexOf('.')).Replace('.', '_');
location = String.Format(CultureInfo.InvariantCulture, location, assembly, version);
}

View File

@@ -32,7 +32,7 @@ namespace System.Web.UI.WebControls.Adapters {
writer.WriteBreak();
break;
case BulletedListDisplayMode.HyperLink:
//
// TODO: if index == 0, set accesskey. Needs a new RenderBeginHyperlink method.
string targetURL = Control.ResolveClientUrl(items[index].Value);
if (items[index].Enabled) {
PageAdapter.RenderBeginHyperlink(writer, targetURL, true /* encode */, items[index].Text);
@@ -45,7 +45,7 @@ namespace System.Web.UI.WebControls.Adapters {
break;
case BulletedListDisplayMode.LinkButton:
if (items[index].Enabled) {
//
// TODO: if index == 0, set accesskey. Needs a new RenderPostBackEvent method.
PageAdapter.RenderPostBackEvent(writer, Control.UniqueID, index.ToString(CultureInfo.InvariantCulture),
items[index].Text, items[index].Text);
} else {

View File

@@ -21,8 +21,8 @@ namespace System.Web.UI.Adapters {
protected internal override void EndRender(HtmlTextWriter writer) {
}
//
// BUGBUG: This override is for compatibility with MMIT.
// MMIT legacy pages also use this adapter -UNDONE: Review once MMIT legacy plan is complete.
protected internal override void Render(HtmlTextWriter writer) {
WmlTextWriter wmlWriter = writer as WmlTextWriter;
if (wmlWriter == null) {

View File

@@ -20,8 +20,8 @@ namespace System.Web.UI.WebControls.Adapters {
String text = Control.Text;
if (text.Length == 0) {
// Whidbey 18195
// Whidbey 18195 UNDONE: This solution is somewhat ad hoc, awaiting spec resolution on IStaticTextControl
// in M2. For now, take text from first IStaticTextControl or DataboundLiteralControl.
foreach(Control child in Control.Controls) {
if (child is IStaticTextControl) {
text = ((IStaticTextControl)child).Text;

View File

@@ -10,9 +10,9 @@ namespace System.Web.UI.WebControls.Adapters {
using System.Web.UI.Adapters;
using System.Web.UI.WebControls;
//
// REVIEW: Inheritance. If this inherits from ImageButtonAdapter, there is no way to create a
// WmlImageAdapter and set the Control property to delegate rendering (base.Render, below). Control is read-only.
// Maybe Control should be get/set for this situation.
public class WmlImageButtonAdapter : WmlImageAdapter {
protected new ImageButton Control {
@@ -30,7 +30,7 @@ namespace System.Web.UI.WebControls.Adapters {
postUrl = Control.ResolveClientUrl (Control.PostBackUrl);
}
//
// UNDONE: Replace hard coded string indexer with strongly typed capability.
if (Page != null && Page.Request != null && (String)Page.Request.Browser["supportsImageSubmit"] == "false") {
writer.EnterStyle(Control.ControlStyle);

View File

@@ -21,7 +21,7 @@ namespace System.Web.UI.WebControls.Adapters {
protected internal override void EndRender(HtmlTextWriter writer) {
}
//
// BUGBUG: This override is for compatibility with MMIT only. -UNDONE: Review once MMIT legacy plan is complete.
protected internal override void Render(HtmlTextWriter writer) {
WmlTextWriter wmlWriter = writer as WmlTextWriter;
if (wmlWriter == null) {

View File

@@ -20,8 +20,8 @@ namespace System.Web.UI.Adapters {
protected internal override void EndRender(HtmlTextWriter writer) {
}
//
// BUGBUG: This override is for compatibility with MMIT.
// MMIT legacy pages also use this adapter -UNDONE: Review once MMIT legacy plan is complete.
protected internal override void Render(HtmlTextWriter writer) {
WmlTextWriter wmlWriter = writer as WmlTextWriter;
if (wmlWriter == null) {

Some files were not shown because too many files have changed in this diff Show More