summaryrefslogtreecommitdiffstats
path: root/js/duplicates.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/duplicates.js')
-rw-r--r--js/duplicates.js153
1 files changed, 0 insertions, 153 deletions
diff --git a/js/duplicates.js b/js/duplicates.js
deleted file mode 100644
index ccad539e3..000000000
--- a/js/duplicates.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/* 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 the Bugzilla Bug Tracking System.
- *
- * The Initial Developer of the Original Code is Netscape Communications
- * Corporation. Portions created by Netscape are
- * Copyright (C) 1998 Netscape Communications Corporation. All
- * Rights Reserved.
- *
- * Contributor(s): Myk Melez <myk@mozilla.org>
- */
-
-// When the XUL window finishes loading, load the RDF data into it.
-window.addEventListener('load', loadData, false);
-
-// The base URL of this Bugzilla installation; derived from the page's URL.
-var gBaseURL = window.location.href.replace(/(jar:)?(.*?)duplicates\.(jar!|xul).*/, "$2");
-
-function loadData()
-{
- // Loads the duplicates data as an RDF data source, attaches it to the tree,
- // and rebuilds the tree to display the data.
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- // Get the RDF service so we can use it to load the data source.
- var rdfService =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-
- // When a bug report loads in the content iframe, a 'load' event bubbles up
- // to the browser window, which calls this load handler again, which reloads
- // the RDF data, which causes the tree to lose the selection. To prevent
- // this, we have to remove this handler.
- window.removeEventListener('load', loadData, false);
-
- // The URL of the RDF file; by default for performance a static file
- // generated by collectstats.pl, but a call to duplicates.cgi if the page's
- // URL contains parameters (so we can dynamically generate the RDF data
- // based on those parameters).
- var dataURL = gBaseURL + "data/duplicates.rdf";
- if (window.location.href.search(/duplicates\.xul\?.+/) != -1)
- dataURL = window.location.href.replace(/(duplicates\.jar!\/)?duplicates\.xul\?/, "duplicates.cgi?ctype=rdf&");
-
- // Get the data source and add it to the XUL tree's database to populate
- // the tree with the data.
- var dataSource = rdfService.GetDataSource(dataURL);
-
- // If we're using the static file, add an observer that detects failed loads
- // (in case this installation isn't generating the file nightly) and redirects
- // to the CGI version when loading of the static version fails.
- if (window.location.href.search(/duplicates\.xul\?.+/) == -1)
- {
- var sink = dataSource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
- sink.addXMLSinkObserver(StaticDataSourceObserver);
- }
-
- // Add the data source to the tree, set the tree's "ref" attribute
- // to the base URL of the data source, and rebuild the tree.
- var resultsTree = document.getElementById('results-tree');
- resultsTree.database.AddDataSource(dataSource);
- resultsTree.setAttribute('ref', gBaseURL + "data/duplicates.rdf");
- resultsTree.builder.rebuild();
-}
-
-function getBugURI()
-{
- var tree = document.getElementById('results-tree');
- var index = tree.currentIndex;
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
- var builder = tree.builder.QueryInterface(Components.interfaces.nsIXULTreeBuilder);
- var resource = builder.getResourceAtIndex(index);
-
- return resource.Value;
-}
-
-function loadBugInWindow()
-{
- // Loads the selected bug in the browser window, replacing the duplicates report
- // with the bug report.
-
- var bugURI = getBugURI();
- window.location = bugURI;
-}
-
-function loadBugInPane()
-{
- // Loads the selected bug in the iframe-based content pane that is part of
- // this XUL document.
-
- var splitter = document.getElementById('report-content-splitter');
- var state = splitter.getAttribute('state');
- if (state != "collapsed")
- {
- var bugURI = getBugURI();
- var browser = document.getElementById('content-browser');
- browser.setAttribute('src', bugURI);
- }
-}
-
-var StaticDataSourceObserver = {
- onBeginLoad: function(aSink) { } ,
- onInterrupt: function(aSink) { } ,
- onResume: function(aSink) { } ,
- onEndLoad: function(aSink)
- {
- // Removes the observer from the data source so it doesn't stay around
- // when duplicates.xul is reloaded from scratch.
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- aSink.removeXMLSinkObserver(StaticDataSourceObserver);
- } ,
- onError: function(aSink, aStatus, aErrorMsg)
- {
- // Tries the dynamic data source since the static one failed to load.
-
- netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-
- // Get the RDF service so we can use it to load the data source.
- var rdfService =
- Components
- .classes["@mozilla.org/rdf/rdf-service;1"]
- .getService(Components.interfaces.nsIRDFService);
-
- // Remove the observer from the data source so it doesn't stay around
- // when duplicates.xul is reloaded from scratch.
- aSink.removeXMLSinkObserver(StaticDataSourceObserver);
-
- // Remove the static data source from the tree.
- var oldDataSource = aSink.QueryInterface(Components.interfaces.nsIRDFDataSource);
- var resultsTree = document.getElementById('results-tree');
- resultsTree.database.RemoveDataSource(oldDataSource);
-
- // Munge the URL to point to the CGI and load the data source.
- var dataURL = gBaseURL + "duplicates.cgi?ctype=rdf";
- newDataSource = rdfService.GetDataSource(dataURL);
-
- // Add the data source to the tree and rebuild the tree with the new data.
- resultsTree.database.AddDataSource(newDataSource);
- resultsTree.builder.rebuild();
- }
-};