Merge lp:~osomon/webbrowser-app/doc-package into lp:webbrowser-app

Proposed by Olivier Tilloy
Status: Merged
Approved by: Olivier Tilloy
Approved revision: 604
Merged at revision: 604
Proposed branch: lp:~osomon/webbrowser-app/doc-package
Merge into: lp:webbrowser-app
Diff against target: 1667 lines (+1554/-2)
11 files modified
.bzrignore (+1/-0)
debian/control (+11/-0)
debian/qtdeclarative5-ubuntu-web-plugin-doc.install (+1/-0)
doc/CMakeLists.txt (+4/-2)
doc/WebView.qdoc (+64/-0)
doc/css/base.css (+638/-0)
doc/css/custom.css (+11/-0)
doc/css/qtquick.css (+788/-0)
doc/ubuntu-web.qdoc (+19/-0)
doc/ubuntu-web.qdocconf (+10/-0)
src/Ubuntu/Web/plugin.cpp (+7/-0)
To merge this branch: bzr merge lp:~osomon/webbrowser-app/doc-package
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve
Didier Roche-Tolomelli Approve
Review via email: mp+225647@code.launchpad.net

Commit message

Update the documentation for the Ubuntu.Web QML module and its default theming.
Package it.

To post a comment you must log in.
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

This package works and installs well. +1.

Note that I couldn't build your branch without disabling the tests (some tests, not related, seems to fail, not sure if it's a local unexpected dependency or something flaky or missing…)

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.bzrignore'
2--- .bzrignore 2014-06-19 08:26:10 +0000
3+++ .bzrignore 2014-07-04 11:42:28 +0000
4@@ -32,6 +32,7 @@
5 debian/qtdeclarative5-ubuntu-ui-extras-browser-plugin/
6 debian/qtdeclarative5-ubuntu-web-plugin/
7 debian/qtdeclarative5-ubuntu-web-plugin-assets/
8+debian/qtdeclarative5-ubuntu-web-plugin-doc/
9 debian/webapp-container/
10 debian/webapp-container-autopilot/
11 debian/webbrowser-app/
12
13=== modified file 'debian/control'
14--- debian/control 2014-06-26 13:44:41 +0000
15+++ debian/control 2014-07-04 11:42:28 +0000
16@@ -13,6 +13,7 @@
17 qt5-default,
18 qt5-qmake,
19 qtbase5-dev,
20+ qtbase5-dev-tools,
21 qtbase5-private-dev,
22 qtdeclarative5-dev,
23 qtdeclarative5-private-dev,
24@@ -112,6 +113,16 @@
25 in the Ubuntu.Web module. This package contains the PNGs used
26 as UI elements by the plugin.
27
28+Package: qtdeclarative5-ubuntu-web-plugin-doc
29+Section: doc
30+Architecture: all
31+Multi-Arch: foreign
32+Depends: ${misc:Depends},
33+Description: Ubuntu web QML plugin HTML documentation
34+ A standalone QML plugin that contains the WebView component,
35+ in the Ubuntu.Web module. This package contains the public
36+ HTML documentation.
37+
38 Package: webbrowser-app-autopilot
39 Architecture: all
40 Multi-Arch: foreign
41
42=== added file 'debian/qtdeclarative5-ubuntu-web-plugin-doc.install'
43--- debian/qtdeclarative5-ubuntu-web-plugin-doc.install 1970-01-01 00:00:00 +0000
44+++ debian/qtdeclarative5-ubuntu-web-plugin-doc.install 2014-07-04 11:42:28 +0000
45@@ -0,0 +1,1 @@
46+usr/share/doc/ubuntu-web
47
48=== modified file 'doc/CMakeLists.txt'
49--- doc/CMakeLists.txt 2014-05-30 16:16:56 +0000
50+++ doc/CMakeLists.txt 2014-07-04 11:42:28 +0000
51@@ -1,11 +1,13 @@
52-project(webbrowser-doc)
53+project(ubuntu-web-doc)
54
55 find_program(QDOC_EXECUTABLE qdoc)
56 if(QDOC_EXECUTABLE STREQUAL "QDOC_EXECUTABLE-NOTFOUND")
57 message(WARNING "qdoc not found, documentation cannot be built")
58 else()
59- add_custom_target(doc
60+ add_custom_target(doc ALL
61 COMMAND ${QDOC_EXECUTABLE}
62 -outputdir ${CMAKE_CURRENT_BINARY_DIR}/html
63 ${CMAKE_CURRENT_SOURCE_DIR}/ubuntu-web.qdocconf)
64+ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
65+ DESTINATION ${CMAKE_INSTALL_DATADIR}/doc/ubuntu-web)
66 endif()
67
68=== modified file 'doc/WebView.qdoc'
69--- doc/WebView.qdoc 2014-06-02 11:43:03 +0000
70+++ doc/WebView.qdoc 2014-07-04 11:42:28 +0000
71@@ -166,6 +166,55 @@
72 */
73
74 /*!
75+ \qmlproperty ActionList WebView::contextualActions
76+
77+ A list of actions that the user will be presented with when invoking a
78+ context menu (by way of a right click on desktop, or a long press on a
79+ touch-enabled device, on an image or a hyperlink).
80+ By default the list is empty, and no menu is shown.
81+ User-defined actions can access the \l {contextualData} {contextual data}.
82+
83+ Example of user-defined actions:
84+ \code
85+ import Ubuntu.Components 0.1
86+ import Ubuntu.Web 0.2
87+
88+ WebView {
89+ contextualActions: ActionList {
90+ Action {
91+ text: i18n.tr("Open link in browser")
92+ enabled: contextualData.href.toString()
93+ onTriggered: Qt.openUrlExternally(contextualData.href)
94+ }
95+ }
96+ }
97+ \endcode
98+
99+ \sa contextualData
100+ */
101+
102+/*!
103+ \qmlproperty QtObject WebView::contextualData
104+
105+ An object that holds the contextual data associated with the current context
106+ menu. User-defined \l {contextualActions} {contextual actions} can use this
107+ data to process it when triggered.
108+
109+ It has the following properties:
110+ \list
111+ \li href (url): the full URI of the hyperlink, if any
112+ \li title (string): the title of the hyperlink, if any
113+ \li img (url): the full URI of the image
114+ \endlist
115+
116+ Note that in the case of an image enclosed inside a hyperlink, both \c href
117+ and \c img will be available, allowing a user-defined contextual action to
118+ operate on both elements.
119+
120+ \sa contextualActions
121+ */
122+
123+/*!
124 \qmlmethod void WebView::goBack()
125
126 Go back one entry in the navigation history.
127@@ -205,3 +254,18 @@
128 The \c baseUrl argument is used to resolve relative URLs in the provided
129 content.
130 */
131+
132+/*!
133+ \qmlmethod string WebView::getUAString()
134+
135+ This method can be overridden by client applications that embed
136+ a WebView to provide a static overridden user agent string.
137+ If not overridden, the default UA string and the default override
138+ mechanism will be used (see WebContext).
139+
140+ Note: as the user agent string is a property of the shared context,
141+ an application that embeds several WebViews that define different
142+ custom user agent strings will result in the last view instantiated
143+ setting the user agent string for all the views (unless they all use
144+ separate contexts instead of the default shared one).
145+ */
146
147=== added directory 'doc/css'
148=== added file 'doc/css/base.css'
149--- doc/css/base.css 1970-01-01 00:00:00 +0000
150+++ doc/css/base.css 2014-07-04 11:42:28 +0000
151@@ -0,0 +1,638 @@
152+/**
153+* Ubuntu Developer base stylesheet
154+*
155+* A base stylesheet containing site-wide styles
156+*
157+* @project Ubuntu Developer
158+* @version 1.0
159+* @author Canonical Web Team: Steve Edwards
160+* @copyright 2011 Canonical Ltd.
161+*/
162+
163+/**
164+* @section Global
165+*/
166+
167+body {
168+ font-family: 'Ubuntu', 'Ubuntu Beta', UbuntuBeta, Ubuntu, 'Bitstream Vera Sans', 'DejaVu Sans', Tahoma, sans-serif;
169+ font-size: 13px;
170+ line-height: 1.4;
171+ color: #333;
172+}
173+a {
174+ color: #dd4814;
175+ text-decoration: none;
176+ outline: 0;
177+}
178+p, dl {
179+ margin-bottom: 10px;
180+}
181+strong {
182+ font-weight: bold;
183+}
184+em {
185+ font-style: italic;
186+}
187+code{
188+ padding: 10px;
189+ font-family: 'Ubuntu Mono', 'Consolas', 'Monaco', 'DejaVu Sans Mono', Courier, monospace;
190+ background-color: #fdf6f2;
191+ display: block;
192+ margin-bottom: 10px;
193+ -moz-border-radius: 4px;
194+ -webkit-border-radius: 4px;
195+ border-radius: 4px;
196+}
197+h1 {
198+ font-size: 36px;
199+ line-height: 1.1;
200+ margin-bottom: 20px;
201+}
202+article h1,
203+h2 {
204+ font-size: 24px;
205+ line-height: 1.2;
206+ margin-bottom: 14px;
207+}
208+h3 {
209+ font-size: 16px;
210+ line-height: 1.3;
211+ margin-bottom: 8px;
212+}
213+h4 {
214+ font-weight: bold;
215+}
216+
217+time {
218+ color:#999;
219+}
220+
221+/**
222+* @section Structure
223+*/
224+
225+.header-login,
226+.header-navigation div,
227+.header-content div {
228+ margin: 0 auto;
229+ width: 940px;
230+}
231+
232+.header-content h1{
233+ background-color:#ffffff;
234+ display:inline-block;
235+}
236+
237+.header-content h2{
238+ background-color:#ffffff;
239+ display:table;
240+}
241+
242+.header-login ul {
243+ margin: 4px 0;
244+ float: right;
245+}
246+.header-login li {
247+ margin-right: 10px;
248+ float: left;
249+}
250+.header-login a {
251+ color: #333;
252+}
253+.header-navigation {
254+ border-top: 2px solid #dd4814;
255+ border-bottom: 2px solid #dd4814;
256+ background-color: #fff;
257+ height: 54px;
258+ clear: right;
259+ overflow: hidden;
260+}
261+.header-navigation nav ul {
262+ border-right: 1px solid #dd4814;
263+ float: right;
264+}
265+.header-navigation nav li {
266+ border-left: 1px solid #dd4814;
267+ float: left;
268+ height: 54px;
269+}
270+.header-navigation nav a {
271+ padding: 18px 14px 0;
272+ font-size: 14px;
273+ display: block;
274+ height: 36px;
275+}
276+.header-navigation nav a:hover {
277+ background-color: #fcece7;
278+}
279+.header-navigation nav .current_page_item a,
280+.header-navigation nav .current_page_parent a,
281+.header-navigation nav .current_page_ancestor a {
282+ background-color: #dd4814;
283+ color: #fff;
284+}
285+.header-navigation input {
286+ margin: 12px 10px 0 10px;
287+ padding: 5px;
288+ border-top: 1px solid #a1a1a1;
289+ border-right: 1px solid #e0e0e0;
290+ border-bottom: 1px solid #fff;
291+ border-left: 1px solid #e0e0e0;
292+ width: 90px;
293+ font-style: italic;
294+ color: #ccc;
295+ -moz-border-radius: 3px;
296+ -webkit-border-radius: 3px;
297+ border-radius: 3px;
298+ -moz-box-shadow: inset 0 1px 1px #e0e0e0;
299+ -webkit-box-shadow: inset 0 1px 1px #e0e0e0;
300+ box-shadow: inset 0 1px 1px #e0e0e0;
301+}
302+.header-navigation h2 {
303+ margin: 18px 0 0 6px;
304+ text-transform: lowercase;
305+ font-size: 22px;
306+ color: #dd4814;
307+ float: left;
308+}
309+.header-navigation .logo-ubuntu {
310+ margin-top: 12px;
311+ float: left;
312+}
313+.header-content .header-navigation-secondary {
314+ margin-bottom: 40px;
315+ padding: 0;
316+ position: relative;
317+ z-index: 2;
318+}
319+.header-navigation-secondary div {
320+ padding: 0;
321+ border: 2px solid #dd4814;
322+ -moz-border-radius: 0px 0px 4px 4px;
323+ -webkit-border-radius: 0px 0px 4px 4px;
324+ border-radius: 0px 0px 4px 4px;
325+ background: #fff;
326+ border-top: 0px;
327+ width: 936px;
328+}
329+.header-navigation-secondary nav li {
330+ float: left;
331+}
332+.header-navigation-secondary nav li a {
333+ color: #333;
334+ display: block;
335+ height: 25px;
336+ padding: 8px 8px 0;
337+}
338+.header-navigation-secondary nav li:hover,
339+.header-navigation-secondary nav .current_page_item a {
340+ background: url("../img/sec-nav-hover.gif");
341+}
342+.header-content {
343+ padding-bottom: 30px;
344+ border-bottom: 1px solid #e0e0e0;
345+ -moz-box-shadow: 0 1px 3px #e0e0e0;
346+ -webkit-box-shadow: 0 1px 3px #e0e0e0;
347+ box-shadow: 0 1px 3px #e0e0e0;
348+ margin-bottom: 3px;
349+ position: relative;
350+ overflow: hidden;
351+}
352+footer {
353+ padding: 10px 10px 40px 10px;
354+ position: relative;
355+ -moz-border-radius: 0 0 4px 4px;
356+ -webkit-border-radius: 0 0 4px 4px;
357+ border-radius: 0 0 4px 4px;
358+ font-size: 12px;
359+ background: url("../img/background-footer.png") repeat scroll 0 0 #f7f6f5;
360+}
361+footer div {
362+ margin: 0 auto;
363+ padding: 0 10px;
364+ width: 940px;
365+}
366+footer a {
367+ color: #000;
368+}
369+footer nav ul {
370+ margin: 10px 17px 30px 0;
371+ width: 172px;
372+ display: inline-block;
373+ vertical-align: top;
374+ height: auto;
375+ zoom: 1;
376+ *display: inline;
377+}
378+footer nav ul.last {
379+ margin-right: 0;
380+}
381+footer nav li {
382+ margin-bottom: 8px;
383+}
384+footer nav li:first-child {
385+ font-weight: bold;
386+}
387+footer p {
388+ margin-bottom: 0;
389+}
390+#content {
391+ padding-top: 35px;
392+}
393+.arrow-nav {
394+ display: none;
395+ position: absolute;
396+ top: -1px;
397+ z-index: 3;
398+}
399+.shadow {
400+ margin: 30px 0 3px 0;
401+ border-bottom: 1px solid #e0e0e0;
402+ -moz-box-shadow: 0 2px 3px #e0e0e0;
403+ -webkit-box-shadow: 0 2px 3px #e0e0e0;
404+ box-shadow: 0 2px 3px #e0e0e0;
405+ height: 3px;
406+}
407+
408+/**
409+* @section Site-wide
410+*/
411+
412+#content h2{
413+ font-size:24px;
414+}
415+
416+.box-orange {
417+ padding: 10px;
418+ border: 3px solid #dd4814;
419+ -moz-border-radius: 4px;
420+ -webkit-border-radius: 4px;
421+ border-radius: 4px;
422+}
423+.box-orange .link-action-small {
424+ float: right;
425+ margin: 0 0 0 20px;
426+}
427+.link-bug {
428+ margin-left: 10px;
429+ color: #999;
430+}
431+.link-action {
432+ float: left;
433+ margin-bottom: 20px;
434+ padding: 8px 12px;
435+ display: block;
436+ background-color: #dd4814;
437+ color: #fff;
438+ -moz-border-radius: 20px;
439+ -webkit-border-radius: 20px;
440+ border-radius: 20px;
441+ font-size: 16px;
442+ line-height: 1.3;
443+ border-top: 3px solid #e6633a;
444+ border-bottom: 3px solid #c03d14;
445+}
446+.link-action2 {
447+ float: left;
448+ display: block;
449+ color: #fff;
450+ font-size: 16px;
451+ line-height: 1.3;
452+}
453+.link-action2 span{
454+ display:block;
455+ float:left;
456+}
457+.link-action2 .cta-left{
458+ background:url(../img/button-cta-left.png) no-repeat;
459+ width:22px;
460+ height:48px;
461+}
462+.link-action2 .cta-center{
463+ background:url(../img/button-cta-slice.png) repeat-x;
464+ line-height:45px;
465+ height:48px;
466+}
467+.link-action2 .cta-right{
468+ background:url(../img/button-cta-right.png) no-repeat;
469+ width:22px;
470+ height:48px;
471+}
472+
473+.link-action-small {
474+ float: left;
475+ display: block;
476+ color: #fff;
477+ font-size: 16px;
478+}
479+.link-action-small span{
480+ display:block;
481+ float:left;
482+ height:42px;
483+}
484+.link-action-small .cta-left{
485+ background:url(../img/button-cta-left-small.png) no-repeat;
486+ width:19px;
487+}
488+.link-action-small .cta-center{
489+ background:url(../img/button-cta-slice-small.png) repeat-x;
490+ line-height:42px;
491+}
492+.link-action-small .cta-right{
493+ background:url(../img/button-cta-right-small.png) no-repeat;
494+ width:19px;
495+}
496+
497+.link-action:active {
498+ position: relative;
499+ top: 1px;
500+}
501+.link-action2:active {
502+ position: relative;
503+ top: 1px;
504+}
505+.link-action-small:active {
506+ position: relative;
507+ top: 1px;
508+}
509+.list-bullets li {
510+ margin-bottom: 10px;
511+ list-style: disc;
512+ list-style-position: inside;
513+}
514+.box {
515+ margin-bottom: 30px;
516+ padding: 15px;
517+ border: 1px solid #aea79f;
518+ -moz-border-radius: 4px;
519+ -webkit-border-radius: 4px;
520+ border-radius: 4px;
521+}
522+.box-padded {
523+ margin-bottom: 30px;
524+ padding: 5px;
525+ border: 2px solid #aea79f;
526+ -moz-border-radius: 4px;
527+ -webkit-border-radius: 4px;
528+ border-radius: 4px;
529+ background: url("../img/pattern-featured.gif") repeat scroll 0 0 #ebe9e7;
530+ overflow: hidden;
531+}
532+.box-padded h3 {
533+ margin: 5px 0 10px 5px;
534+}
535+.box-padded div {
536+ padding: 10px;
537+ border: 1px solid #aea79f;
538+ -moz-border-radius: 4px;
539+ -webkit-border-radius: 4px;
540+ border-radius: 4px;
541+ background-color: #fff;
542+ overflow: hidden;
543+}
544+.box-padded li {
545+ padding: 0 10px;
546+ float: left;
547+ width: 211px;
548+ border-right: 1px dotted #aea79f;
549+}
550+.box-padded li.first {
551+ padding: 0;
552+ margin-bottom: 0;
553+}
554+.box-padded li.last {
555+ border: 0;
556+ width: 217px;
557+}
558+.box-padded img {
559+ margin: 0 10px 50px 0;
560+ float: left;
561+ -moz-border-radius: 8px;
562+ -webkit-border-radius: 8px;
563+ border-radius: 8px;
564+}
565+.box-clear {
566+ margin-bottom: 40px;
567+}
568+.box-clear .grid-4.first {
569+ margin-right: 15px;
570+ padding-right: 15px;
571+}
572+.box-clear .grid-4 {
573+ margin-left: 0;
574+ margin-right: 10px;
575+ padding-right: 10px;
576+ width: 298px;
577+}
578+.box-clear time {
579+ display: block;
580+ border-bottom: 1px dotted #aea79f;
581+ padding-bottom: 10px;
582+ margin-bottom: 10px;
583+}
584+.box-clear div.first {
585+ border-right: 1px dotted #aea79f;
586+}
587+.box-clear a {
588+ display: block;
589+}
590+.box-clear .rss {
591+ background: url("../img/rss.jpg") no-repeat scroll 0 center;
592+ padding-left: 20px;
593+}
594+.box-clear .location {
595+ display: block;
596+ margin-bottom: 1px;
597+}
598+.box-clear .last {
599+ margin: 0;
600+ padding-right: 0;
601+ -moz-border-radius: 4px;
602+ -webkit-border-radius: 4px;
603+ border-radius: 4px;
604+ width: 293px;
605+}
606+
607+/* Widgets */
608+
609+.ui-state-focus {
610+ outline: none;
611+}
612+.ui-accordion {
613+ border-bottom: 1px dotted #aea79f;
614+}
615+.ui-accordion a {
616+ display: block;
617+}
618+.ui-accordion h3 {
619+ margin-bottom: 0;
620+ border-top: 1px dotted #aea79f;
621+ position: relative;
622+ font-size: 13px;
623+ font-weight: bold;
624+}
625+.ui-accordion h3 a {
626+ padding: 10px 0;
627+ color: #333;
628+}
629+.ui-accordion h4 {
630+ margin-bottom: 5px;
631+}
632+.ui-accordion div fieldset {
633+ padding-bottom: 5px;
634+}
635+.ui-accordion div li,
636+.ui-accordion div input {
637+ margin-bottom: 10px;
638+}
639+.ui-accordion .ui-icon {
640+ position: absolute;
641+ top: 15px;
642+ right: 0;
643+ display: block;
644+ width: 8px;
645+ height: 8px;
646+ background: url("../img/icon-accordion-inactive.png") 0 0 no-repeat transparent;
647+}
648+.ui-accordion .ui-state-active .ui-icon {
649+ background-image: url("../img/icon-accordion-active.png");
650+}
651+.ui-accordion .current_page_item a {
652+ color: #333;
653+}
654+.container-tweet {
655+ -moz-border-radius: 4px 4px 4px 4px;
656+ -webkit-border-radius: 4px 4px 4px 4px;
657+ border-radius: 4px 4px 4px 4px;
658+ padding: 10px 10px 10px;
659+ background-color: #f7f7f7;
660+}
661+.container-tweet .tweet-follow {
662+ margin-top: 10px;
663+ margin-bottom: -10px;
664+ padding-left: 55px;
665+ padding-bottom: 6px;
666+ background: url("../img/tweet-follow.png") 0 5px no-repeat;
667+ display: block;
668+}
669+.container-tweet .tweet-follow span {
670+ font-size: 16px;
671+ font-weight: bold;
672+ line-height: 1.2;
673+ display: block;
674+}
675+.tweet a {
676+ display: inline;
677+}
678+.tweet .tweet_text {
679+ padding: 10px;
680+ background-color: #fff;
681+ -moz-border-radius: 4px 4px 4px 4px;
682+ -webkit-border-radius: 4px 4px 4px 4px;
683+ border-radius: 4px 4px 4px 4px;
684+ border: 1px solid #dd4814;
685+ font-size: 16px;
686+ display: block;
687+ clear: both;
688+}
689+.tweet.tweet-small .tweet_text {
690+ font-size: inherit;
691+}
692+.tweet .tweet_text a {
693+ color: #333;
694+}
695+.tweet .tweet_time,
696+.tweet .tweet_user_and_time {
697+ padding: 15px 0 10px 0;
698+ position: relative;
699+ top: -2px;
700+ background: url("../img/tweet-arrow.png") no-repeat;
701+ display: block;
702+}
703+.tweet .tweet_odd .tweet_time,
704+.tweet .tweet_odd .tweet_user_and_time {
705+ background-position: right 0;
706+ float: right;
707+}
708+.tweet .tweet_even .tweet_time,
709+.tweet .tweet_even .tweet_user_and_time {
710+ background-position: left 0;
711+ float: left;
712+}
713+
714+/* Search */
715+
716+#content .list-search li {
717+ list-style-type:none;
718+ border:0px;
719+ margin-bottom: 15px;
720+ padding-top: 15px;
721+}
722+
723+/* Blog */
724+
725+.blog-article #nav-single {
726+ margin-top: 30px;
727+ margin-bottom: 30px;
728+}
729+.blog-article #nav-single .nav-next {
730+ float: right;
731+}
732+.blog-article article header .entry-meta {
733+ margin-bottom: 20px;
734+}
735+.blog-article article .entry-meta {
736+ color: #999;
737+}
738+.blog-article #respond form input[type="submit"] {
739+ float: left;
740+ cursor: pointer;
741+ margin-bottom: 20px;
742+ padding: 8px 12px;
743+ display: block;
744+ background-color: #dd4814;
745+ color: #fff;
746+ -moz-border-radius: 20px;
747+ -webkit-border-radius: 20px;
748+ border-radius: 20px;
749+ font-size: 16px;
750+ line-height: 1.3;
751+ border-top: 3px solid #e6633a;
752+ border-left: 3px solid #e6633a;
753+ border-right: 3px solid #e6633a;
754+ border-bottom: 3px solid #c03d14;
755+}
756+.blog-article #respond form input[type="submit"]:active {
757+ position: relative;
758+ top: 1px;
759+}
760+
761+.alignnone{
762+ float:left;
763+ margin:10px 20px 10px 0;
764+}
765+.alignleft{
766+ float:left;
767+ margin:10px 20px 10px 0;
768+}
769+.alignright{
770+ float:right;
771+ margin:10px 0 10px 20px;
772+}
773+
774+.aligncenter{
775+ float:left;
776+ margin:10px 20px 10px 0;
777+}
778+.entry-content h2, .entry-content h3{
779+ margin-top:20px;
780+}
781+.entry-content ul li{
782+ list-style-type: circle;
783+ margin-left:16px;
784+}
785+
786+.entry-content hr{
787+ border:none;
788+ border-top: 1px dotted #AEA79F;
789+}
790
791=== added file 'doc/css/custom.css'
792--- doc/css/custom.css 1970-01-01 00:00:00 +0000
793+++ doc/css/custom.css 2014-07-04 11:42:28 +0000
794@@ -0,0 +1,11 @@
795+li#buildversion {
796+ display: none;
797+}
798+
799+div.toc {
800+ display: none;
801+}
802+
803+span.type a:visited {
804+ color: #dd4814;
805+}
806
807=== added file 'doc/css/qtquick.css'
808--- doc/css/qtquick.css 1970-01-01 00:00:00 +0000
809+++ doc/css/qtquick.css 2014-07-04 11:42:28 +0000
810@@ -0,0 +1,788 @@
811+/*
812+ * Copyright 2013 Canonical Ltd.
813+ *
814+ * This program is free software; you can redistribute it and/or modify
815+ * it under the terms of the GNU Lesser General Public License as published by
816+ * the Free Software Foundation; version 3.
817+ *
818+ * This program is distributed in the hope that it will be useful,
819+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
820+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
821+ * GNU Lesser General Public License for more details.
822+ *
823+ * You should have received a copy of the GNU Lesser General Public License
824+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
825+ */
826+
827+@media screen
828+{
829+
830+/* basic elements */
831+ html
832+ {
833+ color: #000000;
834+ background: #FFFFFF;
835+ }
836+ table
837+ {
838+ border-collapse: collapse;
839+ border-spacing: 0;
840+ }
841+ fieldset, img
842+ {
843+ border: 0;
844+ max-width:100%;
845+ }
846+ address, caption, cite, code, dfn, em, strong, th, var, optgroup
847+ {
848+ font-style: inherit;
849+ font-weight: inherit;
850+ }
851+ del, ins
852+ {
853+ text-decoration: none;
854+ }
855+ ol li
856+ {
857+ list-style: decimal;
858+ }
859+ ul li
860+ {
861+ list-style: none;
862+ }
863+ caption, th
864+ {
865+ text-align: left;
866+ }
867+ h1.title
868+ {
869+ font-weight: bold;
870+ font-size: 150%;
871+ }
872+ h0
873+ {
874+ font-weight: bold;
875+ font-size: 130%;
876+ }
877+ h1, h2, h3, h4, h5, h6
878+ {
879+ font-size: 100%;
880+ }
881+ q:before, q:after
882+ {
883+ content: '';
884+ }
885+ abbr, acronym
886+ {
887+ border: 0;
888+ font-variant: normal;
889+ }
890+ sup, sub
891+ {
892+ vertical-align: baseline;
893+ }
894+ tt, .qmlreadonly span, .qmldefault span
895+ {
896+ word-spacing:0.5em;
897+ }
898+ legend
899+ {
900+ color: #000000;
901+ }
902+ strong
903+ {
904+ font-weight: bold;
905+ }
906+ em
907+ {
908+ font-style: italic;
909+ }
910+
911+ body
912+ {
913+ margin: 0 1.5em 0 1.5em;
914+ font-family: ubuntu;
915+ line-height: normal
916+ }
917+ a
918+ {
919+ color: #00732F;
920+ text-decoration: none;
921+ }
922+ hr
923+ {
924+ background-color: #E6E6E6;
925+ border: 1px solid #E6E6E6;
926+ height: 1px;
927+ width: 100%;
928+ text-align: left;
929+ margin: 1.5em 0 1.5em 0;
930+ }
931+
932+ pre
933+ {
934+ border: 1px solid #DDDDDD;
935+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
936+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
937+ border-radius: 0.7em 0.7em 0.7em 0.7em;
938+ padding: 1em 1em 1em 1em;
939+ overflow-x: auto;
940+ }
941+ table, pre
942+ {
943+ -moz-border-radius: 0.7em 0.7em 0.7em 0.7em;
944+ -webkit-border-radius: 0.7em 0.7em 0.7em 0.7em;
945+ border-radius: 0.7em 0.7em 0.7em 0.7em;
946+ background-color: #F6F6F6;
947+ border: 1px solid #E6E6E6;
948+ border-collapse: separate;
949+ margin-bottom: 2.5em;
950+ }
951+ pre {
952+ font-size: 90%;
953+ display: block;
954+ overflow:hidden;
955+ }
956+ thead
957+ {
958+ margin-top: 0.5em;
959+ font-weight: bold
960+ }
961+ th
962+ {
963+ padding: 0.5em 1.5em 0.5em 1em;
964+ background-color: #E1E1E1;
965+ border-left: 1px solid #E6E6E6;
966+ }
967+ td
968+ {
969+ padding: 0.25em 1.5em 0.25em 1em;
970+ }
971+
972+ td.rightAlign
973+ {
974+ padding: 0.25em 0.5em 0.25em 1em;
975+ }
976+ table tr.odd
977+ {
978+ border-left: 1px solid #E6E6E6;
979+ background-color: #F6F6F6;
980+ color: black;
981+ }
982+ table tr.even
983+ {
984+ border-left: 1px solid #E6E6E6;
985+ background-color: #ffffff;
986+ color: #202020;
987+ }
988+
989+ div.float-left
990+ {
991+ float: left; margin-right: 2em
992+ }
993+ div.float-right
994+ {
995+ float: right; margin-left: 2em
996+ }
997+
998+ span.comment
999+ {
1000+ color: #008B00;
1001+ }
1002+ span.string, span.char
1003+ {
1004+ color: #000084;
1005+ }
1006+ span.number
1007+ {
1008+ color: #a46200;
1009+ }
1010+ span.operator
1011+ {
1012+ color: #202020;
1013+ }
1014+ span.keyword
1015+ {
1016+ color: #840000;
1017+ }
1018+ span.name
1019+ {
1020+ color: black
1021+ }
1022+ span.type
1023+ {
1024+ font-weight: bold
1025+ }
1026+ span.type a:visited
1027+ {
1028+ color: #0F5300;
1029+ }
1030+ span.preprocessor
1031+ {
1032+ color: #404040
1033+ }
1034+/* end basic elements */
1035+
1036+/* font style elements */
1037+ .heading
1038+ {
1039+ font-weight: bold;
1040+ font-size: 125%;
1041+ }
1042+ .subtitle
1043+ {
1044+ font-size: 110%
1045+ }
1046+ .small-subtitle
1047+ {
1048+ font-size: 100%
1049+ }
1050+ .red
1051+ {
1052+ color:red;
1053+ }
1054+/* end font style elements */
1055+
1056+/* global settings*/
1057+ .header, .footer
1058+ {
1059+ display: block;
1060+ clear: both;
1061+ overflow: hidden;
1062+ }
1063+/* end global settings*/
1064+
1065+/* header elements */
1066+ .header .qtref
1067+ {
1068+ color: #00732F;
1069+ font-weight: bold;
1070+ font-size: 130%;
1071+ }
1072+
1073+ .header .content
1074+ {
1075+ margin-left: 5px;
1076+ margin-top: 5px;
1077+ margin-bottom: 0.5em;
1078+ }
1079+
1080+ .header .breadcrumb
1081+ {
1082+ font-size: 90%;
1083+ padding: 0.5em 0 0.5em 1em;
1084+ margin: 0;
1085+ background-color: #fafafa;
1086+ height: 1.35em;
1087+ border-bottom: 1px solid #d1d1d1;
1088+ }
1089+
1090+ .header .breadcrumb ul
1091+ {
1092+ margin: 0;
1093+ padding: 0;
1094+ }
1095+
1096+ .header .content
1097+ {
1098+ word-wrap: break-word;
1099+ }
1100+
1101+ .header .breadcrumb ul li
1102+ {
1103+ float: left;
1104+ background: url(../images/breadcrumb.png) no-repeat 0 3px;
1105+ padding-left: 1.5em;
1106+ margin-left: 1.5em;
1107+ }
1108+
1109+ .header .breadcrumb ul li.last
1110+ {
1111+ font-weight: normal;
1112+ }
1113+
1114+ .header .breadcrumb ul li a
1115+ {
1116+ color: #00732F;
1117+ }
1118+
1119+ .header .breadcrumb ul li.first
1120+ {
1121+ background-image: none;
1122+ padding-left: 0;
1123+ margin-left: 0;
1124+ }
1125+
1126+ .header .content ol li {
1127+ background: none;
1128+ margin-bottom: 1.0em;
1129+ margin-left: 1.2em;
1130+ padding-left: 0
1131+ }
1132+
1133+ .header .content li
1134+ {
1135+ background: url(../images/bullet_sq.png) no-repeat 0 5px;
1136+ margin-bottom: 1em;
1137+ padding-left: 1.2em;
1138+ }
1139+
1140+/* end header elements */
1141+
1142+/* content elements */
1143+ .content h1
1144+ {
1145+ font-weight: bold;
1146+ font-size: 130%
1147+ }
1148+
1149+ .content h2
1150+ {
1151+ font-weight: bold;
1152+ font-size: 120%;
1153+ width: 100%;
1154+ }
1155+ .content h3
1156+ {
1157+ font-weight: bold;
1158+ font-size: 110%;
1159+ width: 100%;
1160+ }
1161+ .content table p
1162+ {
1163+ margin: 0
1164+ }
1165+ .content ul
1166+ {
1167+ padding-left: 2.5em;
1168+ }
1169+ .content li
1170+ {
1171+ padding-top: 0.25em;
1172+ padding-bottom: 0.25em;
1173+ }
1174+ .content ul img {
1175+ vertical-align: middle;
1176+ }
1177+
1178+ .content a:visited
1179+ {
1180+ color: #4c0033;
1181+ text-decoration: none;
1182+ }
1183+
1184+ .content a:visited:hover
1185+ {
1186+ color: #4c0033;
1187+ text-decoration: underline;
1188+ }
1189+
1190+ a:hover
1191+ {
1192+ color: #4c0033;
1193+ text-decoration: underline;
1194+ }
1195+ descr p a
1196+ {
1197+ text-decoration: underline;
1198+ }
1199+
1200+ .descr p a:visited
1201+ {
1202+ text-decoration: underline;
1203+ }
1204+
1205+ .alphaChar{
1206+ width:95%;
1207+ background-color:#F6F6F6;
1208+ border:1px solid #E6E6E6;
1209+ -moz-border-radius: 7px 7px 7px 7px;
1210+ border-radius: 7px 7px 7px 7px;
1211+ -webkit-border-radius: 7px 7px 7px 7px;
1212+ font-size:12pt;
1213+ padding-left:10px;
1214+ margin-top:10px;
1215+ margin-bottom:10px;
1216+ }
1217+ .flowList{
1218+ /*vertical-align:top;*/
1219+ /*margin:20px auto;*/
1220+
1221+ column-count:3;
1222+ -webkit-column-count:3;
1223+ -moz-column-count:3;
1224+/*
1225+ column-width:100%;
1226+ -webkit-column-width:200px;
1227+ -col-column-width:200px;
1228+*/
1229+ column-gap:41px;
1230+ -webkit-column-gap:41px;
1231+ -moz-column-gap:41px;
1232+
1233+ column-rule: 1px dashed #ccc;
1234+ -webkit-column-rule: 1px dashed #ccc;
1235+ -moz-column-rule: 1px dashed #ccc;
1236+ }
1237+
1238+ .flowList dl{
1239+ }
1240+ .flowList dd{
1241+ /*display:inline-block;*/
1242+ margin-left:10px;
1243+ min-width:250px;
1244+ line-height: 1.5;
1245+ min-width:100%;
1246+ min-height:15px;
1247+ }
1248+
1249+ .flowList dd a{
1250+ }
1251+
1252+ .mainContent
1253+ {
1254+ padding-left:5px;
1255+ }
1256+
1257+ .content .flowList p{
1258+ padding:0px;
1259+ }
1260+
1261+ .content .alignedsummary
1262+ {
1263+ margin: 15px;
1264+ }
1265+
1266+
1267+ .qmltype
1268+ {
1269+ text-align: center;
1270+ font-size: 120%;
1271+ }
1272+ .qmlreadonly
1273+ {
1274+ padding-left: 5px;
1275+ float: right;
1276+ color: #254117;
1277+ }
1278+
1279+ .qmldefault
1280+ {
1281+ padding-left: 5px;
1282+ float: right;
1283+ color: red;
1284+ }
1285+
1286+ .qmldoc
1287+ {
1288+ }
1289+
1290+ .generic .alphaChar{
1291+ margin-top:5px;
1292+ }
1293+
1294+ .generic .odd .alphaChar{
1295+ background-color: #F6F6F6;
1296+ }
1297+
1298+ .generic .even .alphaChar{
1299+ background-color: #FFFFFF;
1300+ }
1301+
1302+ .memItemRight{
1303+ padding: 0.25em 1.5em 0.25em 0;
1304+ }
1305+ .highlightedCode
1306+ {
1307+ margin: 1.0em;
1308+ }
1309+ .annotated td {
1310+ padding: 0.25em 0.5em 0.25em 0.5em;
1311+ }
1312+
1313+ .toc
1314+ {
1315+ font-size: 80%
1316+ }
1317+
1318+ .header .content .toc ul
1319+ {
1320+ padding-left: 0px;
1321+ }
1322+
1323+ .content .toc h3 {
1324+ border-bottom: 0px;
1325+ margin-top: 0px;
1326+ }
1327+
1328+ .content .toc h3 a:hover {
1329+ color: #00732F;
1330+ text-decoration: none;
1331+ }
1332+
1333+ .content .toc .level2
1334+ {
1335+ margin-left: 1.5em;
1336+ }
1337+
1338+ .content .toc .level3
1339+ {
1340+ margin-left: 3.0em;
1341+ }
1342+
1343+ .content ul li
1344+ {
1345+ background: url(../images/bullet_sq.png) no-repeat 0 0.7em;
1346+ padding-left: 1em
1347+ }
1348+
1349+ .content .toc li
1350+ {
1351+ background: url(../images/bullet_dn.png) no-repeat 0 5px;
1352+ padding-left: 1em
1353+ }
1354+
1355+ .relpage
1356+ {
1357+ -moz-border-radius: 7px 7px 7px 7px;
1358+ -webkit-border-radius: 7px 7px 7px 7px;
1359+ border-radius: 7px 7px 7px 7px;
1360+ border: 1px solid #DDDDDD;
1361+ padding: 25px 25px;
1362+ clear: both;
1363+ }
1364+ .relpage ul
1365+ {
1366+ float: none;
1367+ padding: 1.5em;
1368+ }
1369+
1370+ h3.fn, span.fn
1371+ {
1372+ -moz-border-radius:7px 7px 7px 7px;
1373+ -webkit-border-radius:7px 7px 7px 7px;
1374+ border-radius:7px 7px 7px 7px;
1375+ background-color: #F6F6F6;
1376+ border-width: 1px;
1377+ border-style: solid;
1378+ border-color: #E6E6E6;
1379+ font-weight: bold;
1380+ word-spacing:3px;
1381+ padding:3px 5px;
1382+ }
1383+
1384+ .functionIndex {
1385+ font-size:12pt;
1386+ word-spacing:10px;
1387+ margin-bottom:10px;
1388+ background-color: #F6F6F6;
1389+ border-width: 1px;
1390+ border-style: solid;
1391+ border-color: #E6E6E6;
1392+ -moz-border-radius: 7px 7px 7px 7px;
1393+ -webkit-border-radius: 7px 7px 7px 7px;
1394+ border-radius: 7px 7px 7px 7px;
1395+ width:100%;
1396+ }
1397+
1398+ .centerAlign
1399+ {
1400+ text-align:center;
1401+ }
1402+
1403+ .rightAlign
1404+ {
1405+ text-align:right;
1406+ }
1407+
1408+ .leftAlign
1409+ {
1410+ text-align:left;
1411+ }
1412+
1413+ .topAlign{
1414+ vertical-align:top
1415+ }
1416+
1417+ .functionIndex a{
1418+ display:inline-block;
1419+ }
1420+
1421+/* end content elements */
1422+/* footer elements */
1423+
1424+ .footer
1425+ {
1426+ color: #393735;
1427+ font-size: 0.75em;
1428+ text-align: center;
1429+ padding-top: 1.5em;
1430+ padding-bottom: 1em;
1431+ background-color: #E6E7E8;
1432+ margin: 0;
1433+ }
1434+ .footer p
1435+ {
1436+ margin: 0.25em
1437+ }
1438+ .small
1439+ {
1440+ font-size: 0.5em;
1441+ }
1442+/* end footer elements */
1443+
1444+ .item {
1445+ float: left;
1446+ position: relative;
1447+ width: 100%;
1448+ overflow: hidden;
1449+ }
1450+
1451+
1452+ .item .primary {
1453+ margin-right: 220px;
1454+ position: relative;
1455+ }
1456+
1457+ .item hr {
1458+ margin-left: -220px;
1459+ }
1460+
1461+ .item .secondary {
1462+ float: right;
1463+ width: 200px;
1464+ position: relative;
1465+ }
1466+
1467+ .item .cols {
1468+ clear: both;
1469+ display: block;
1470+ }
1471+
1472+ .item .cols .col {
1473+ float: left;
1474+ margin-left: 1.5%;
1475+ }
1476+
1477+ .item .cols .col.first {
1478+ margin-left: 0;
1479+ }
1480+
1481+ .item .cols.two .col {
1482+ width: 45%;
1483+ }
1484+
1485+ .item .box {
1486+ margin: 0 0 10px 0;
1487+ }
1488+
1489+ .item .box h3 {
1490+ margin: 0 0 10px 0;
1491+ }
1492+
1493+ .cols.unclear {
1494+ clear:none;
1495+ }
1496+}
1497+
1498+/* end of screen media */
1499+
1500+/* start of print media */
1501+
1502+@media print
1503+{
1504+ input, textarea, .header, .footer, .toolbar, .feedback, .wrapper .hd, .wrapper .bd .sidebar, .wrapper .ft, #feedbackBox, #blurpage, .toc, .breadcrumb, .toolbar, .floatingResult
1505+ {
1506+ display: none;
1507+ background: none;
1508+ }
1509+ .content
1510+ {
1511+ background: none;
1512+ display: block;
1513+ width: 100%; margin: 0; float: none;
1514+ }
1515+}
1516+/* end of print media */
1517+
1518+
1519+/* modify the TOC layouts */
1520+div.toc ul {
1521+ padding-left: 20px;
1522+}
1523+div.toc li {
1524+ padding-left: 4px;
1525+}
1526+/* Remove the border around images*/
1527+a img
1528+{
1529+ border:none;
1530+}
1531+
1532+/*Add styling to the front pages*/
1533+
1534+.threecolumn_area
1535+{
1536+ padding-top: 20px;
1537+ padding-bottom: 20px;
1538+}
1539+.threecolumn_piece
1540+{
1541+ display: inline-block;
1542+ margin-left: 78px;
1543+ margin-top: 8px;
1544+ padding: 0;
1545+ vertical-align: top;
1546+ width: 25.5%;
1547+}
1548+div.threecolumn_piece ul {
1549+ list-style-type: none;
1550+ padding-left: 0px;
1551+ margin-top: 2px;
1552+}
1553+div.threecolumn_piece p {
1554+ margin-bottom: 7px;
1555+ color: #5C626E;
1556+ text-decoration: none;
1557+ font-weight: bold;
1558+}
1559+div.threecolumn_piece li {
1560+ padding-left: 0px;
1561+ margin-bottom: 5px;
1562+}
1563+div.threecolumn_piece a {
1564+ font-weight: normal;
1565+}
1566+/* Add style to guide page*/
1567+.fourcolumn_area
1568+{
1569+ padding-top: 20px;
1570+ padding-bottom: 20px;
1571+}
1572+.fourcolumn_piece
1573+{
1574+ display: inline-block;
1575+ margin-left: 35px;
1576+ margin-top: 8px;
1577+ padding: 0;
1578+ vertical-align: top;
1579+ width: 21.3%;
1580+}
1581+div.fourcolumn_piece ul {
1582+ list-style-type: none;
1583+ padding-left: 0px;
1584+ margin-top: 2px;
1585+}
1586+div.fourcolumn_piece p {
1587+ margin-bottom: 7px;
1588+ color: #40444D;
1589+ text-decoration: none;
1590+ font-weight: bold;
1591+}
1592+div.fourcolumn_piece li {
1593+ padding-left: 0px;
1594+ margin-bottom: 5px;
1595+}
1596+div.fourcolumn_piece a {
1597+ font-weight: normal;
1598+}
1599
1600=== modified file 'doc/ubuntu-web.qdoc'
1601--- doc/ubuntu-web.qdoc 2014-05-30 16:16:56 +0000
1602+++ doc/ubuntu-web.qdoc 2014-07-04 11:42:28 +0000
1603@@ -19,4 +19,23 @@
1604 /*!
1605 \qmlmodule Ubuntu.Web 0.2
1606 \title Ubuntu Web module
1607+ \brief WebView and related components
1608+
1609+ This QML module exposes a WebView component that can be used to render
1610+ web content in an application, as well as related components.
1611+
1612+ This is the preferred way of rendering web content in an Ubuntu application.
1613+ The rendering is performed by \l {https://launchpad.net/oxide} {Oxide}.
1614+ The use of QtWebKit is deprecated and unsupported.
1615+
1616+ This is version 0.2 of the module.
1617+
1618+ Note that the module was previously named
1619+ \c Ubuntu.Components.Extras.Browser, the old namespace has been kept around
1620+ for backwards compatibility but its use is discouraged, please update your
1621+ applications to import \c {Ubuntu.Web 0.2}.
1622+
1623+ Also note that importing both \c com.canonical.Oxide (or \c QtWebKit) and
1624+ \c Ubuntu.Web in the same QML file results in an undefined behaviour,
1625+ as both expose a \c WebView type.
1626 */
1627
1628=== modified file 'doc/ubuntu-web.qdocconf'
1629--- doc/ubuntu-web.qdocconf 2014-05-30 16:16:56 +0000
1630+++ doc/ubuntu-web.qdocconf 2014-07-04 11:42:28 +0000
1631@@ -8,3 +8,13 @@
1632 syntaxhightlighting = true
1633 sourceencoding = UTF-8
1634 outputencoding = UTF-8
1635+
1636+HTML.nonavigationbar = "true"
1637+HTML.stylesheets = \
1638+ css/base.css \
1639+ css/custom.css \
1640+ css/qtquick.css
1641+HTML.headerstyles = \
1642+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/qtquick.css\" />\n" \
1643+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/base.css\" />\n" \
1644+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style/custom.css\" />\n"
1645
1646=== modified file 'src/Ubuntu/Web/plugin.cpp'
1647--- src/Ubuntu/Web/plugin.cpp 2014-05-29 15:30:11 +0000
1648+++ src/Ubuntu/Web/plugin.cpp 2014-07-04 11:42:28 +0000
1649@@ -24,6 +24,7 @@
1650 #include <QtCore/QtGlobal>
1651 #include <QtGui/QGuiApplication>
1652 #include <QtQml>
1653+#include <QtQml/QQmlInfo>
1654
1655 static float getQtWebkitDpr()
1656 {
1657@@ -87,4 +88,10 @@
1658 {
1659 Q_ASSERT(uri == QLatin1String("Ubuntu.Components.Extras.Browser")
1660 || uri == QLatin1String("Ubuntu.Web"));
1661+
1662+ if (uri == QLatin1String("Ubuntu.Components.Extras.Browser")) {
1663+ qmlInfo(0) << "WARNING: the use of the Ubuntu.Components.Extras.Browser "
1664+ "namespace is deprecated, please consider updating your "
1665+ "applications to import Ubuntu.Web instead.";
1666+ }
1667 }

Subscribers

People subscribed via source and target branches

to status/vote changes: