[[PageOutline]] = Reporting and maintaining bugs for QtWebKit = == Where to report bugs == Bugs are reported together with other ports on WebKit Bugzilla. Please use the template shortcut [http://webkit.org/new-qtwebkit-bug] to make sure that your bug report appear in the appropriate filters. For more detailed information see the [#Bugfieldsdescription bug fields description]. == Properties of a good bug report == To pass through triaging and get the chance to be fixed, a bug report should contain information allowing a developer to reproduce the problem quickly and easily on different versions without having to understand the problem first. If you can provide more information about a bug that got closed as invalid, please re-open it. Serious bug reporters might also want to have a look at the [http://webkit.org/quality/reporting.html steps to report a bug] and the [http://webkit.org/quality/bugwriting.html reporting guidelines] applying to the whole WebKit project. === Attached test case === Test cases are favored to external web site links since they are not vulnerable to external updates. * For a page rendering bug, a minimal HTML file is usualy efficient. * For bugs of more platform-related features, a zip file containing a C++ source file and a .pro file compilable by typing {{{qmake && make}}} might be required === Steps to reproduce a crash === Because crashes are often caused by complex conditions, it is usually difficult to provide a test case reproducing them. In that case: * Try to reproduce the crash more than once. Describe as best as you can the steps required to reproduce it. * If your can run a debug build of !QtWebKit and attach a stack trace of the crash to the bug report, this would further help the investigation.[[BR]]'''Note: ''' The debug builds of Qt do not include debugging information for !QtWebKit by default to prevent linking problems. A debug build from trunk or a nightly package of !QtWebKit is currently required to extract reliable stack traces. == Useful filters for QtWebKit bugs == * Status filters * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&keywords_type=allwords&keywords=Qt&order=Importance Bugs (unconfirmed or new)] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&component=Accessibility&component=CSS&component=Evangelism&component=Forms&component=Frames&component=History&component=HTML+DOM&component=HTML+Editing&component=Images&component=Java&component=JavaScriptCore&component=JavaScriptGlue&component=Layout+and+Rendering&component=Page+Loading&component=PDF&component=Platform&component=Plug-ins&component=Printing&component=SVG&component=Tables&component=Text&component=Tools+%2F+Tests&component=Web+Inspector&component=Web+Template+Framework&component=WebCore+JavaScript&component=WebCore+Misc.&component=WebKit+API&component=WebKit+Gtk&component=WebKit+Misc.&component=WebKit+Qt&component=WebKit+Website&component=WebKit+wx&component=XML&component=XML+DOM&long_desc_type=allwordssubstr&long_desc=&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt&order=Importance Bugs (assigned)] * Component filters * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&component=WebKit+Qt&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt&order=Importance API] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=Blocker&keywords_type=allwords&keywords=Qt&order=Importance Compilation] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=Critical&keywords_type=allwords&keywords=Qt&order=Importance Crashes] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=Enhancement&keywords_type=allwords&keywords=Qt&order=Importance Enhancements] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&component=Layout+and+Rendering&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt&order=Importance Rendering and Layout] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt+Performance&order=Importance Performance] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&component=Plug-ins&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt&order=Importance Plugins] * [https://bugs.webkit.org/buglist.cgi?short_desc_type=allwordssubstr&short_desc=&product=WebKit&component=Tools+%2F+Tests&long_desc_type=allwordssubstr&long_desc=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&keywords_type=allwords&keywords=Qt&order=Importance Tools and Tests] * Other * [https://bugs.webkit.org/showdependencytree.cgi?id=31552 QtWebKit 2.1 Pending API] == Bug fields description == === Component === The [https://bugs.webkit.org/describecomponents.cgi?product=WebKit component] is used to signify the rough are that the bug relates to. If you don't know which one to choose leave the component at 'New Bug'. It's better to leave it at 'New Bug' than to choose one at random. '''Note:''' the 'QtWebKit' component should be used for bugs/features in the QtWebKit ''API'' layer, '''not''' to signify that the bug is specific to the Qt port of WebKit (see Keywords]). === Severity === The [https://bugs.webkit.org/page.cgi?id=fields.html#bug_severity severity] is a signifier of what ''kind'' of bug we're talking about/how serious it is, and should not be confused with [https://bugs.webkit.org/page.cgi?id=fields.html priority], ie, when it will/should be be fixed (see below).|| Use the following rules of thumb when deciding on a severity: * Use 'Blocker' for compilation errors/build breaks * Use 'Critical' for crashes, loss of data, severe memory leak * Use 'Enhancement' for feature-requests/enhancements The severities 'Minor, Normal, Major' should then be used for "normal" bugs which don't fall into either of these categories, ranging from minor loss of function, or other problem where easy workaround is present, to major loss of function. === Platform and OS === Choose the settings most relevant to where you found the bug, or 'All' if you've confirmed that the bug exists on more than one platform. '''Note''': These two fields should not be used to signal which ''port'' of WebKit we're dealing with, but the underlying platform and OS. === Summary === Choose a descriptive summary/title for the bug and prefix the summary with "[Qt]" if the bug only applies to the Qt-port. === Keywords === We need a way to track bugs that are specific for the Qt port of WebKit. The right way to do this is using the 'Qt' [https://bugs.webkit.org/describekeywords.cgi keyword] (you may not see the keywords entry field until after creating the bug. If so, please add the keyword after creating the bug). * Add the keyword 'Qt' to signal that it's a Qt-related bug * Add the keyword 'Performance' if the bug is performance-related '''Note:''' Do not use the 'QtWebKit' ''component'' to signal that it's a Qt bug. The QtWebKit component is used for bugs/features in the QtWebKit ''API'' layer, '''not''' to signify that the bug is a Qt-bug in general. === Version === Leave at 'nightly build'. You should always test a bug against a nightly build of QtWebKit to make sure that it's still valid before reporting. === Priority === This field is set by developers when scheduling and triaging tasks, please leave this at the default priority.