Reviewed by Tim H.
[WebKit-https.git] / WebKitSite / quality / reporting.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <html>
3 <head>
4   <meta content="text/html; charset=ISO-8859-1"
5  http-equiv="content-type">
6   <title>Reporting Bugs</title>
7   <link rel=stylesheet href="../webkitdev.css">
8   <script type="text/javascript">
9     /* 
10     Copyright (C) 2006 Joost de Valk, http://www.joostdevalk.nl/.  All rights reserved.
11     Copyright (C) 2006 Mark Rowe, http://bdash.net.nz/.  All rights reserved.
12     Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
13     
14     Redistribution and use in source and binary forms, with or without
15     modification, are permitted provided that the following conditions
16     are met:
17     1. Redistributions of source code must retain the above copyright
18        notice, this list of conditions and the following disclaimer.
19     2. Redistributions in binary form must reproduce the above copyright
20        notice, this list of conditions and the following disclaimer in the
21        documentation and/or other materials provided with the distribution.
22     
23     THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
24     EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26     PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
27     CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
28     EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29     PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30     PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
31     OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34     
35     Script used for recognizing Safari / Shiira / WebKit. 
36     A matrix of WebKit versions and OS X versions can be found at:
37     http://developer.apple.com/internet/safari/uamatrix.html .
38     */
39     function parse_version(version)
40     {
41         var bits = version.split(".");
42         var is_nightly = (version[version.length - 1] == "+");
43         return {major: parseInt(bits[0]), minor: parseInt(bits[1]), is_nightly: is_nightly};
44     }
45     
46     function display(id, display_style)
47     {
48         document.getElementById(id).style.display = display_style;
49     }
50     
51     function get_version()
52     {
53         // Check for Safari
54         var regex = new RegExp("Mozilla/5.0 \\(.*\\) AppleWebKit/(.*) \\(KHTML, like Gecko\\) Safari/(.*)");
55         var matches = regex.exec(navigator.userAgent);
56
57         var is_safari = false;
58         var is_shiira = false;
59         
60         if (matches) {
61             is_safari = true;
62             display('safari_bug', 'block');
63         } else {
64             // Check for Shiira
65             var regex = new RegExp("Mozilla/5.0 \\(.*\\) AppleWebKit/(.*) \\(KHTML, like Gecko\\) Shiira/(.*) Safari/(.*)");
66             var matches = regex.exec(navigator.userAgent);
67             if (matches) {
68                 is_shiira = true;
69                 display('shiira_bug', 'block');
70             } else {
71                 return;
72             }
73         }
74
75         // We have detected a valid WebKit version, hide the unknown version text
76         display('unknown_version', 'none');
77
78         var webkit_version = parse_version(matches[1]);
79
80         if (webkit_version.major < 100) {
81             // Mac OS X 10.2
82             display('10point2', 'block');
83         } else if (webkit_version.major >= 100 && webkit_version.major < 400) {
84             // Mac OS X 10.3
85             display('10point3', 'block');
86
87             if (webkit_version.major < 312)
88                 // Mac OS X 10.3.8 or lower
89                 display('updateto10_3_9', 'block');
90
91             else if (webkit_version.minor < 9)
92                 // Mac OS X 10.3.9 but not the latest Safari update
93                 display('update10_3_9_safari', 'block');
94
95             else if (is_safari)
96                 // Mac OS X 10.3.9 with the latest Safari update
97                 display('best10_3_9_safari', 'block');
98
99             else if (is_shiira)
100                 // Mac OS X 10.3.9 with Shiira
101                 display('best10_3_9_shiira', 'block');
102
103         } else {
104             // Mac OS X 10.4
105             display('10point4', 'block');
106
107             if (webkit_version.major == 412 && webkit_version.is_nightly)
108                 // Using an old nightly
109                 display('neednewnightly', 'block');
110
111             else if (webkit_version.major == 420 && webkit_version.is_nightly)
112                 // Using a recent nightly, not sure which
113                 display('mightneednewnightly', 'block');
114
115             else if (webkit_version.major < 417)
116                 // 10.4.3 or lower
117                 display('updateto10_4_5', 'block');
118
119             else if (is_safari)
120                 // 10.4.4 or 10.4.5
121                 display('10_4_5_safari', 'block');
122
123             else if (is_shiira)
124                 // 10.4.4 or 10.4.5
125                 display('10_4_5_shiira', 'block');
126
127         } 
128     }
129 </script>
130 </head>
131 <body>
132 <!--begin sidebar -->
133 <iframe id="sidebar" src="../sidebar.html"></iframe>
134 <!--end sidebar -->
135
136 <h1 id="banner">Reporting Bugs</h1>
137
138 <div id="content">
139 <h3>You have found a bug? Here are 5 steps to getting it fixed!</h3>
140 <ol>
141 <li>
142 <strong>Check your WebKit version</strong><br>
143 <div id="unknown_version">
144     To make sure you're not wasting your (and our) time, you should be using the latest version of WebKit before you file your bug.
145     You should run at least Mac OS X 10.3.9 before filing bugs. Your WebKit version should be 312 or higher if you are on 
146     Panther and 417 or higher if you are on Tiger. If you're running
147     Mac OS X 10.4, you could also <a href="http://nightly.webkit.org">download the latest nightly</a> build to be sure you
148     have the latest version. If you've done this and you still experience the bug, go ahead to the next step.
149 </div>
150 <div id="10point2" style="display: none;">
151     We're sorry, we do not accept bugreports anymore from people using Mac OS X 10.2. To many bugs have been fixed since then. We advise
152     you to upgrade to Mac OS X 10.4.
153 </div>
154 <div id="10point3" style="display: none;">
155     <div id="updateto10_3_9" style="display: none;">
156         You are using Mac OS X 10.3.8 or lower, please before filing any bugs, upgrade to Mac OS X 10.3.9.
157     </div>
158     <div id="update10_3_9_safari" style="display: none;">
159         You are using Mac OS X 10.3.9, but your WebKit isn't the latest version. Please, before filing any bugs, download the 
160         latest Webkit update.
161     </div>
162     <div id="best10_3_9_safari">
163         You are using Mac OS X 10.3.9, and the latest version of Safari, go ahead and file your bug!
164     </div>
165     <div id="best10_3_9_safari">
166         You are using Shiira on Mac OS X 10.3.9, go ahead and file your bug!
167     </div>
168 </div>
169 <div id="10point4" style="display: none;">
170     <div id="neednewnightly" style="display: none;">
171         You are already using a nightly build, which is very good! A large number of bugs has been fixed since you downloaded
172         this nightly build though, so please <a href="http://nightly.webkit.org/">get the latest nightly</a>.
173     </div>
174     <div id="mightneednewnightly" style="display: none;">
175         You are already using a nightly build, which is very good! Unfortunately, we can't detect when you downloaded it, but
176         if that was more then a few days ago, please <a href="http://nightly.webkit.org/">get the latest nightly</a>.
177     </div>
178     <div id="updateto10_4_5" style="display: none;">
179         You are using Mac OS X 10.4.3 or lower, please before filing any bugs, do either of the following:
180         <ul>
181             <li>Upgrade to Mac OS X 10.4.5, or:</li>
182             <li><a href="http://nightly.webkit.org">Download the latest nightly</a>.</li>
183         </ul>
184     </div>
185     <div id="10_4_5_safari" style="display: none;">
186         You are using Safari on Mac OS X 10.4.4 or 10.4.5, go ahead and file your bug, or if you want to <a href="http://nightly.webkit.org">
187         download the latest nightly</a> and see if your bug is already fixed.
188     </div>
189     <div id="10_4_5_shiira" style="display: none;">
190         You are using Shiira on Mac OS X 10.4.4 or 10.4.5, go ahead and file your bug.
191     </div>
192 </div>
193 </li>
194 <li>
195     <strong>Search Bugzilla</strong><br>
196     Now that you have the latest WebKit version and still think you've found a WebKit bug, 
197     <a href="http://bugzilla.opendarwin.org/query.cgi?format=specific&amp;product=WebKit">search through Bugzilla</a> first
198     to see if anyone else has already filed it. This step is very important! If you find that someone has filed your bug
199     already, please go to the next step anyway, but instead of filing a new bug, comment on the one you've found. If you can't
200     find your bug in Bugzilla, go to the next step.
201 </li>
202 <li>
203     <strong>Create a Bugzilla account</strong><br>
204     You will need to <a href="bugzilla.html">create a Bugzilla account</a> to be able
205     to report bugs (and to comment on them). Once you have an account you can report bugs on any product on 
206     <a href="http://www.opendarwin.org">OpenDarwin.org</a>. WebKit is one of the individual products listed in Bugzilla, and all 
207     of our bugs can be classified in various components under the WebKit product. If you have registered, proceed to the
208     next step.
209 </li>
210 <li>
211     <strong>File the bug!</strong><br>
212     Now you are ready to <a href="http://webkit.org/new-bug">file a bug on the WebKit product</a>. The <a href="bugwriting.html">
213     Writing a Good Bug Report</a> document (also linked in the sidebar) gives some tips about the most useful information to include
214     in bug reports. The better your bug report, the higher the chance that your bug will be addressed (and possibly fixed) 
215     quickly!
216 </li>
217 <li>
218     <strong>What happens next?</strong><br>
219     Once your bug is filed, you will receive email when it is updated at each stage in the <a href="lifecycle.html">bug life cycle</a>.
220     After the bug is considered fixed, you may be asked to download the <a href="http://nightly.webkit.org">latest nightly</a> 
221     and confirm that the fix works for you.
222 </li>
223 </ol>
224 <div id="safari_bug" style="display: none;">
225     <strong>Note:</strong> <br>
226     To report bugs in Safari, or WebKit bugs that may contain confidential information, please use
227     <a href="http://bugreporter.apple.com">http://bugreporter.apple.com/</a>.
228 </div>
229 <div id="shiira_bug" style="display: none;">
230     <strong>Note:</strong> <br>
231     To report bugs in Shiira, please go to <a href="http://hmdt-web.net/forum/">http://hmdt-web.net/forum/</a>.
232     For WebKit bugs that contain confidential information, please use 
233     <a href="http://bugreporter.apple.com">http://bugreporter.apple.com/</a>.
234 </div>
235 </div>
236
237 <script type="text/javascript">get_version();</script>
238 </body>
239 </html>