Landing Daniel Brooks' <db48x@yahoo.com> page info rewrite. Tracking

bug is bug 52730, fixes bugs 53503, 53641, 55713, 60428, 68823, 74530,
74760, 76926, 77408, 81328, 85905, 88537, 91173, 94146, 96994, 97479,
110973, 110981, 112297, 117027. r=fabian,hwaara,bzbarsky,gerv,ksosez.
sr=jag,hewitt.
This commit is contained in:
bzbarsky%mit.edu 2006-09-14 06:02:10 +00:00
parent 9658379654
commit 2f9b1f4b0e
4 changed files with 1202 additions and 265 deletions

File diff suppressed because it is too large Load Diff

View File

@ -22,123 +22,300 @@
Contributor(s):
Simeon Morrison <smorrison@gte.com>
Chris McAfee <mcafee@netscape.com>
Daniel Brooks <db48x@yahoo.com>
Gervase Markham <gerv@gerv.net>
-->
<?xml-stylesheet href="chrome://navigator/skin/" type="text/css"?>
<?xul-overlay href="chrome://global/content/dialogOverlay.xul"?>
<?xml-stylesheet href="chrome://navigator/skin/pageInfo.css" type="text/css"?>
<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % pageInfoDTD SYSTEM "chrome://navigator/locale/pageInfo.dtd" >
%pageInfoDTD;
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd">
%brandDTD;
<!ENTITY % navigatorDTD SYSTEM "chrome://navigator/locale/navigator.dtd">
%navigatorDTD;
<!ENTITY % pageInfoDTD SYSTEM "chrome://navigator/locale/pageInfo.dtd">
%pageInfoDTD;
]>
<window id="main-window"
<window id="main-window" xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
titlemodifier="&mainWindow.titlemodifier;"
titlepreface="&mainWindow.preface;"
titlemenuseparator ="&mainWindow.titlemodifierseparator;"
windowtype="Browser:page-info"
onload="onLoadPageInfo()"
width="400" height="450"
align="stretch" class="dialog"
width="425" height="450"
screenX="10" screenY="10"
persist="screenX screenY width height sizemode">
<script type="application/x-javascript" src="chrome://navigator/content/pageInfo.js"/>
<keyset>
<key id="closeWindow" key="&closeWindow;" modifiers="accel" oncommand="window.close()"/>
</keyset>
<!-- keys are appended from the overlay -->
<keyset id="dialogKeys"/>
<stringbundle id="pageinfobundle" src="chrome://navigator/locale/pageInfo.properties"/>
<vbox id="cont" flex="1">
<tabbox id="tabbox" flex="1">
<tabbox id="tabbox" flex="1">
<tabs id="tabs">
<tab id="generalTab" label="&pageInfo.generalTab;"/>
<tab id="formsTab" label="&pageInfo.formsTab;" hidden="true" />
<tab id="imagesTab" label="&pageInfo.imagesTab;" hidden="true" />
<tab id="generalTab" label="&generalTab;"
accesskey="&generalAccesskey;"/>
<tab id="formsTab" label="&formsTab;"
accesskey="&formsAccesskey;" oncommand="makeFormTab();"/>
<tab id="linksTab" label="&linksTab;"
accesskey="&linksAccesskey;" oncommand="makeLinkTab();"/>
<tab id="mediaTab" label="&mediaTab;"
accesskey="&mediaAccesskey;" oncommand="makeMediaTab();"/>
<!-- Others added by overlay -->
</tabs>
<tabpanels id="tabpanels" flex="1">
<!-- General page information -->
<vbox>
<vbox class="inset" id="documentinfo">
<!-- General page information -->
<vbox>
<textbox class="header" readonly="true" crop="right" id="titletext"/>
<grid>
<columns>
<columns>
<column/>
<column style="width: .5em;"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label value="&pageInfo.pageTitle;"/>
<label id="titletext" value=""/>
<label value="&generalURL;"/>
<separator/>
<textbox readonly="true" crop="right" id="urltext"/>
</row>
<row>
<label value="&pageInfo.URL;"/>
<label id="urltext" value=""/>
<separator class="thin"/>
</row>
<row>
<label value="&pageInfo.lastModified;"/>
<label id="lastmodifiedtext" value=""/>
<label value="&generalType;"/>
<separator/>
<textbox readonly="true" crop="right" id="typetext"/>
</row>
</rows>
<row>
<label value="&generalMode;"/>
<separator/>
<textbox readonly="true" crop="right" id="modetext"/>
</row>
<row>
<label value="&generalSource;"/>
<separator/>
<textbox readonly="true" crop="right" id="sourcetext"/>
</row>
<row>
<label value="&generalEncoding;"/>
<separator/>
<textbox readonly="true" crop="right" id="encodingtext"/>
</row>
<row>
<label value="&generalSize;"/>
<separator/>
<textbox readonly="true" crop="right" id="sizetext"/>
</row>
<row>
<separator class="thin"/>
</row>
<row>
<label value="&generalModified;"/>
<separator/>
<textbox readonly="true" crop="right" id="modifiedtext"/>
</row>
<row>
<label value="&generalExpires;"/>
<separator/>
<textbox readonly="true" crop="right" id="expirestext"/>
</row>
</rows>
</grid>
<separator class="thin"/>
<text id="metahead" class="header" value="&generalMeta;"/>
<outliner id="metaoutliner" flex="1" class="inset">
<outlinercols>
<outlinercol persist="hidden width" flex="1" id="meta-name" label="&generalMetaName;"/>
<splitter class="tree-splitter"/>
<outlinercol persist="hidden width" flex="4" id="meta-content" label="&generalMetaContent;"/>
</outlinercols>
<outlinerchildren flex="1"/>
</outliner>
</vbox>
</vbox>
<!-- Form information -->
<vbox id="formTreeContainer" flex="1" collapsed="true">
<label class="header" value="&pageInfo.formHeader;"/>
<tree id="formTree" flex="1">
<treecolgroup>
<treecol flex="2"/>
<splitter class="tree-splitter"/>
<treecol flex="1"/>
<splitter class="tree-splitter"/>
<treecol flex="1"/>
</treecolgroup>
<treehead>
<treerow>
<treecell label="&pageInfo.formAction;" class="treecell-header treecell-inset-header"/>
<treecell label="&pageInfo.formMethod;" class="treecell-header treecell-inset-header"/>
<treecell label="&pageInfo.formName;" class="treecell-header treecell-inset-header"/>
</treerow>
</treehead>
<treechildren id="formChildren" flex="1"/>
</tree>
</vbox>
<!-- Form information -->
<vbox>
<outliner id="formoutliner" flex="1" class="inset" onselect="onFormSelect();">
<outlinercols>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="form-number" label="&formNo;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="form-name" label="&formName;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="form-action" label="&formMethod;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="form-method" label="&formAction;"/>
</outlinercols>
<outlinerchildren flex="1"/>
</outliner>
<splitter orient="vertical" collapse="after"/>
<vbox flex="2" id="formpage">
<textbox class="header" id="formname"/>
<grid>
<columns>
<column/>
<column style="width: .5em;"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label value="&formEncoding;"/>
<separator/>
<textbox readonly="true" crop="right" id="formenctype"/>
</row>
<row>
<label value="&formTarget;"/>
<separator/>
<textbox readonly="true" crop="right" class="label" id="formtarget"/>
</row>
</rows>
</grid>
<text class="header" value="&formFields;"/>
<outliner id="formpreview" flex="1" class="inset">
<outlinercols>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="field-number" label="&formNo;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-label" label="&formLabel;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-field" label="&formFName;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="field-type" label="&formType;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="3"
width="3" id="field-value" label="&formCValue;"/>
</outlinercols>
<outlinerchildren flex="1"/>
</outliner>
</vbox>
</vbox>
<!-- Image information -->
<vbox id="imageTreeContainer" flex="1" collapsed="true">
<label class="header" value="&pageInfo.imageHeader;"/>
<tree id="imageTree" onselect="onImageSelect()" flex="1">
<treecolgroup>
<treecol flex="7"/>
<splitter class="tree-splitter"/>
<treecol flex="2"/>
<splitter class="tree-splitter"/>
<treecol flex="2"/>
<splitter class="tree-splitter"/>
<treecol flex="4"/>
</treecolgroup>
<treehead>
<treerow>
<treecell label="&pageInfo.imageURL;" class="treecell-header treecell-inset-header"/>
<treecell label="&pageInfo.imageWidth;" class="treecell-header treecell-inset-header"/>
<treecell label="&pageInfo.imageHeight;" class="treecell-header treecell-inset-header"/>
<treecell label="&pageInfo.imageAltText;" class="treecell-header treecell-inset-header"/>
</treerow>
</treehead>
<treechildren id="imagesChildren" flex="1"/>
</tree>
<splitter collapse="after" id="imageSplitter"/>
<hbox id="imagePreviewContainer" flex="1">
<iframe id="imageFrame" class="inset" type="content" src="about:blank" flex="1"/>
</hbox>
</vbox>
<!-- Link info -->
<vbox>
<outliner id="linkoutliner" flex="1" class="inset">
<outlinercols>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="link-number" label="&linkNo;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="5"
width="5" id="link-name" label="&linkName;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="7"
width="7" id="link-address" label="&linkAddress;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="link-type" label="&linkType;"/>
</outlinercols>
<outlinerchildren flex="1"/>
</outliner>
</vbox>
<!-- Others added by overlay -->
<!-- Media information -->
<vbox>
<outliner id="imageoutliner" flex="1" class="inset" onselect="onImageSelect();">
<outlinercols>
<outlinercol sortSeparators="true" persist="hidden width" flex="1"
width="1" id="image-number" label="&mediaNo;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="10"
width="10" id="image-address" label="&mediaAddress;"/>
<splitter class="tree-splitter"/>
<outlinercol sortSeparators="true" persist="hidden width" flex="2"
width="2" id="image-type" label="&mediaType;"/>
</outlinercols>
<outlinerchildren flex="1"/>
</outliner>
<splitter collapse="after" orient="vertical"/>
<grid>
<columns>
<column/>
<column style="width: .5em;"/>
<column flex="1"/>
</columns>
<rows>
<row>
<label value="&mediaURL;"/>
<separator/>
<textbox readonly="true" crop="right" id="imageurltext"/>
</row>
<row>
<label value="&mediaTitle;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagetitletext"/>
</row>
<row>
<label value="&mediaLongdesc;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagelongdesctext"/>
</row>
<row>
<label value="&generalType;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagetypetext"/>
</row>
<row>
<label value="&generalSource;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagesourcetext"/>
</row>
<row>
<label value="&generalSize;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagesizetext"/>
</row>
<row>
<label value="&generalExpires;"/>
<separator/>
<textbox readonly="true" crop="right" id="imageexpirestext"/>
</row>
<!-- <row>
<label value="&mediaPlugin;"/>
<separator/>
<textbox readonly="true" crop="right" id="imageplugintext"/>
</row> -->
<!-- <row>
<label value="&generalEncoding;"/>
<separator/>
<textbox readonly="true" crop="right" id="imagecharsettext"/>
</row> -->
<row>
<label value="&mediaDimensions;"/>
<separator/>
<hbox>
<label value="&mediaWidth;"/>
<textbox readonly="true" crop="right" id="imageheight"/>
<label value="&mediaHeight;"/>
<textbox readonly="true" crop="right" id="imagewidth"/>
</hbox>
</row>
<!-- <row>
<label value="&mediaEncryption;"/>
<separator/>
<textbox readonly="true" crop="right" id="imageencryptiontext" value=""/>
</row> -->
</rows>
</grid>
<vbox class="inset iframe" flex="1" pack="center">
<hbox id="theimagecontainer" pack="center">
<image id="thepreviewimage"/>
</hbox>
</vbox>
</vbox>
<!-- Others added by overlay -->
</tabpanels>
</tabbox>
</vbox>
</tabbox>
</window>

View File

@ -1,23 +1,107 @@
<!ENTITY mainWindow.title "&brandShortName;">
<!ENTITY mainWindow.titlemodifier "&brandShortName;">
<!-- LOCALIZATION NOTE (mainWindow.titlemodifierseparator) : DONT_TRANSLATE -->
<!ENTITY mainWindow.titlemodifierseparator " - ">
<!ENTITY mainWindow.preface "Info for: ">
<!-- ***** BEGIN LICENSE BLOCK *****
- Version: MPL 1.1/GPL 2.0/LGPL 2.1
-
- The contents of this file are subject to the Mozilla Public License Version
- 1.1 (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
- http://www.mozilla.org/MPL/
-
- Software distributed under the License is distributed on an "AS IS" basis,
- WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- for the specific language governing rights and limitations under the
- License.
-
- The Original Code is Mozilla Communicator client code.
-
- The Initial Developer of the Original Code is Daniel Brooks.
- Portions created by the Initial Developer are Copyright (C) 2001
- the Initial Developer. All Rights Reserved.
-
- Contributor(s):
-
- Alternatively, the contents of this file may be used under the terms of
- either the GNU General Public License Version 2 or later (the "GPL"), or
- the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
- in which case the provisions of the GPL or the LGPL are applicable instead
- of those above. If you wish to allow use of your version of this file only
- under the terms of either the GPL or the LGPL, and not to allow others to
- use your version of this file under the terms of the MPL, indicate your
- decision by deleting the provisions above and replace them with the notice
- and other provisions required by the LGPL or the GPL. If you do not delete
- the provisions above, a recipient may use your version of this file under
- the terms of any one of the MPL, the GPL or the LGPL.
-
- ***** END LICENSE BLOCK ***** -->
<!ENTITY pageInfo.generalTab "General">
<!ENTITY pageInfo.pageTitle "Title:">
<!ENTITY pageInfo.URL "URL:">
<!ENTITY pageInfo.lastModified "Last Modified:">
<!ENTITY preface "Info for: ">
<!ENTITY pageInfo.formsTab "Forms">
<!ENTITY pageInfo.formHeader "Forms on this page">
<!ENTITY pageInfo.formAction "Form Action">
<!ENTITY pageInfo.formMethod "Method">
<!ENTITY pageInfo.formName "Name">
<!ENTITY title "Page Info">
<!ENTITY description "Information about the current page">
<!ENTITY pageInfo.imagesTab "Images">
<!ENTITY pageInfo.imageHeader "Images on this page">
<!ENTITY pageInfo.imageURL "Image URL">
<!ENTITY pageInfo.imageWidth "Width">
<!ENTITY pageInfo.imageHeight "Height">
<!ENTITY pageInfo.imageAltText "Alt Text">
<!ENTITY unknown "Unknown">
<!ENTITY closeWindow "w">
<!ENTITY generalTab "General">
<!ENTITY generalAccesskey "g">
<!ENTITY generalTitle "Title:">
<!ENTITY generalURL "URL:">
<!ENTITY generalMode "Render Mode:">
<!ENTITY generalType "Type:">
<!ENTITY generalSize "Size:">
<!ENTITY generalSource "Source:">
<!ENTITY generalSent "Sent:">
<!ENTITY generalModified "Modified:">
<!ENTITY generalExpires "Expires:">
<!ENTITY generalEncoding "Encoding:">
<!ENTITY generalMeta "Meta:">
<!ENTITY generalMetaName "Name:">
<!ENTITY generalMetaContent "Content:">
<!ENTITY formsTab "Forms">
<!ENTITY formsAccesskey "f">
<!ENTITY formAction "Form Action">
<!ENTITY formMethod "Method">
<!ENTITY formName "Name">
<!ENTITY formNo "No.">
<!ENTITY formName "Name">
<!ENTITY formAction "Action">
<!ENTITY formMethod "Method">
<!ENTITY formEncoding "Encoding:">
<!ENTITY formTarget "Target:">
<!ENTITY formFields "Fields:">
<!ENTITY formLabel "Label">
<!ENTITY formFName "Field Name">
<!ENTITY formType "Type">
<!ENTITY formCValue "Current Value">
<!ENTITY linksTab "Links">
<!ENTITY linksAccesskey "l">
<!ENTITY linkNo "No.">
<!ENTITY linkName "Name">
<!ENTITY linkAddress "Address">
<!ENTITY linkType "Type">
<!ENTITY mediaTab "Media">
<!ENTITY mediaAccesskey "i">
<!ENTITY mediaHeader "Images on this page">
<!ENTITY mediaURL "URL:">
<!ENTITY mediaBase "Base URL:">
<!ENTITY mediaWidth "W:">
<!ENTITY mediaHeight "H:">
<!ENTITY mediaAltText "Alt Text">
<!ENTITY mediaNo "No.">
<!ENTITY mediaName "Name">
<!ENTITY mediaAddress "Address">
<!ENTITY mediaType "Type">
<!ENTITY mediaPlugin "Plugin:">
<!ENTITY mediaCharset "Encoding:">
<!ENTITY mediaDimensions "Dimensions:">
<!ENTITY mediaEncryption "Encryption:">
<!ENTITY mediaTitle "title Attribute:">
<!ENTITY mediaLongdesc "longdesc Attribute:">
<!ENTITY framesTab "Frames">
<!ENTITY framesAccesskey "r">
<!ENTITY frameName "Name">
<!ENTITY frameAddress "Address">
<!ENTITY frameType "Type">

View File

@ -1,24 +1,61 @@
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and imitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is International
# Business Machines Corporation. Portions created by IBM
# Corporation are Copyright (C) 2000 International Business
# Machines Corporation. All Rights Reserved.
#
# Contributor(s):
#
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and imitations under the License.
#
# The Original Code is mozilla.org code.
#
# The Initial Developer of the Original Code is International
# Business Machines Corporation. Portions created by IBM
# Corporation are Copyright (C) 2000 International Business
# Machines Corporation. All Rights Reserved.
#
# Contributor(s):
# Daniel Brooks <db48x@yahoo.com>
unknown=Unknown
pageInfo.title=Page Info
frameInfo.title=Frame Info
noPageTitle=Untitled Page
pageTitle=%S:
unknown=Unknown
default=Default
notset=Not Specified
generalNotCached=(not cached)
generalNoExpiration=(no expiration set)
generalQuirksMode=Compatibility mode.
generalStrictMode=Strict standards compliance mode.
formTitle=Form %S:
formUntitled=Unnamed Form:
formDefaultTarget=None (opens in same window)
formChecked=Checked
formUnchecked=Unchecked
linkAnchor=Anchor
linkArea=Area
linkSubmission=Form Submission
linkSubmit=Submit Query
linkRel=Relative Link
linkStylesheet=Stylesheet
linkRev=Reverse Link
mediaImg=Image
mediaApplet=Applet
mediaObject=Object
mediaEmbed=Embed
mediaLink=icon
generalNotCached=(not cached)
generalDiskCache=Disk Cache
generalMemoryCache=Memory Cache
generalHTTPCache=HTTP Cache
generalFTPCache=FTP Cache