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