author | Ed Lee <edilee@mozilla.com> |
Sat, 25 May 2019 00:38:53 +0000 | |
changeset 475539 | 6dc17248fa2c34195c97123f3d0e3916a94e8883 |
parent 475538 | 0b40296717100fa26c8f7bdea8e365eeb523cfbd |
child 475540 | aa7086ab09beca98a3b54329ee7825e03b6ee968 |
push id | 36062 |
push user | aciure@mozilla.com |
push date | Sat, 25 May 2019 09:39:13 +0000 |
treeherder | mozilla-central@af54b2de7028 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | k88hudson |
bugs | 1554322 |
milestone | 69.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/browser/components/newtab/content-src/components/CollapsibleSection/CollapsibleSection.jsx +++ b/browser/components/newtab/content-src/components/CollapsibleSection/CollapsibleSection.jsx @@ -12,16 +12,17 @@ function getFormattedMessage(message) { return typeof message === "string" ? <span>{message}</span> : <FormattedMessage {...message} />; } export class _CollapsibleSection extends React.PureComponent { constructor(props) { super(props); this.onBodyMount = this.onBodyMount.bind(this); this.onHeaderClick = this.onHeaderClick.bind(this); + this.onKeyPress = this.onKeyPress.bind(this); this.onTransitionEnd = this.onTransitionEnd.bind(this); this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this); this.onMenuButtonClick = this.onMenuButtonClick.bind(this); this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this); this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this); this.onMenuUpdate = this.onMenuUpdate.bind(this); this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false}; this.setContextMenuButtonRef = this.setContextMenuButtonRef.bind(this); @@ -86,16 +87,22 @@ export class _CollapsibleSection extends const {action, userEvent} = SectionMenuOptions.CheckCollapsed(this.props); this.props.dispatch(action); this.props.dispatch(ac.UserEvent({ event: userEvent, source: this.props.source, })); } + onKeyPress(event) { + if (event.key === "Enter" || event.key === " ") { + this.onHeaderClick(); + } + } + _getSectionBodyHeight() { const div = this.sectionBody; if (div.style.display === "none") { // If the div isn't displayed, we can't get it's height. So we display it // to get the height (it doesn't show up because max-height is set to 0px // in CSS). We don't undo this because we are about to expand the section. div.style.display = "block"; } @@ -143,26 +150,28 @@ export class _CollapsibleSection extends if (isAnimating && !collapsed) { bodyStyle = {maxHeight}; } else if (!isAnimating && collapsed) { bodyStyle = {display: "none"}; } return ( <section className={`collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${collapsed ? " collapsed" : ""}${active ? " active" : ""}`} + aria-expanded={!collapsed} // Note: data-section-id is used for web extension api tests in mozilla central data-section-id={id}> <div className="section-top-bar"> <h3 className="section-title"> <span className="click-target-container"> - <span className="click-target" onClick={this.onHeaderClick}> + {/* Click-targets that toggle a collapsible section should have an aria-expanded attribute; see bug 1553234 */} + <span className="click-target" role="button" tabIndex="0" onKeyPress={this.onKeyPress} onClick={this.onHeaderClick}> {this.renderIcon()} {getFormattedMessage(title)} </span> - <span className="click-target" onClick={this.onHeaderClick}> + <span className="click-target" role="button" tabIndex="0" onKeyPress={this.onKeyPress} onClick={this.onHeaderClick}> {isCollapsible && <span className={`collapsible-arrow icon ${collapsed ? "icon-arrowhead-forward-small" : "icon-arrowhead-down-small"}`} />} </span> <span className="learn-more-link-wrapper"> {learnMore && <span className="learn-more-link"> <a href={learnMore.link.href}> <FormattedMessage id={learnMore.link.id} /> </a>
--- a/browser/components/newtab/content-src/components/ConfirmDialog/ConfirmDialog.jsx +++ b/browser/components/newtab/content-src/components/ConfirmDialog/ConfirmDialog.jsx @@ -51,17 +51,17 @@ export class _ConfirmDialog extends Reac } render() { if (!this.props.visible) { return null; } return (<div className="confirmation-dialog"> - <div className="modal-overlay" onClick={this._handleCancelBtn} /> + <div className="modal-overlay" onClick={this._handleCancelBtn} role="presentation" /> <div className="modal"> <section className="modal-message"> {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />} {this._renderModalMessage()} </section> <section className="actions"> <button onClick={this._handleCancelBtn}> <FormattedMessage id={this.props.data.cancel_button_string_id} />
--- a/browser/components/newtab/content-src/components/ContextMenu/ContextMenu.jsx +++ b/browser/components/newtab/content-src/components/ContextMenu/ContextMenu.jsx @@ -32,21 +32,21 @@ export class ContextMenu extends React.P onClick(event) { // Eat all clicks on the context menu so they don't bubble up to window. // This prevents the context menu from closing when clicking disabled items // or the separators. event.stopPropagation(); } render() { - return (<span className="context-menu" onClick={this.onClick}> - <ul role="menu" className="context-menu-list"> + return (<span role="menu" className="context-menu" onClick={this.onClick} onKeyDown={this.onClick} tabIndex="0" > + <ul className="context-menu-list"> {this.props.options.map((option, i) => (option.type === "separator" ? (<li key={i} className="separator" />) : - (option.type !== "empty" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />) + (option.type !== "empty" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} tabIndex="0" />) ))} </ul> </span>); } } export class ContextMenuItem extends React.PureComponent { constructor(props) { @@ -76,16 +76,16 @@ export class ContextMenuItem extends Rea option.onClick(); break; } } render() { const {option} = this.props; return ( - <li role="menuitem" className="context-menu-item"> - <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex="0" className={option.disabled ? "disabled" : ""}> + <li role="menuitem" className="context-menu-item" > + <button className={option.disabled ? "disabled" : ""} onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex="0" > {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />} {option.label} - </a> + </button> </li>); } }
--- a/browser/components/newtab/content-src/components/ContextMenu/_ContextMenu.scss +++ b/browser/components/newtab/content-src/components/ContextMenu/_ContextMenu.scss @@ -19,23 +19,26 @@ margin: 0; width: 100%; &.separator { border-bottom: $border-secondary; margin: $context-menu-outer-padding 0; } - > a { + > a, + > button { align-items: center; color: inherit; cursor: pointer; display: flex; + width: 100%; line-height: 16px; outline: none; + border: 0; padding: $context-menu-item-padding; white-space: nowrap; &:-moz-any(:focus, :hover) { background: var(--newtab-element-hover-color); } &:active {
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/CardGrid/_CardGrid.scss +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/CardGrid/_CardGrid.scss @@ -61,16 +61,20 @@ &.ds-card-grid-divisible-by-3 { grid-template-columns: repeat(3, 1fr); .title { font-size: 17px; line-height: 24px; } + + .excerpt { + @include limit-visibile-lines(3, 24, 15); + } } &.ds-card-grid-divisible-by-4 .title { @include limit-visibile-lines(3, 20, 15); } } &.empty {
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSCard/DSCard.jsx +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSCard/DSCard.jsx @@ -1,10 +1,9 @@ import {actionCreators as ac} from "common/Actions.jsm"; -import {clampTotalLines} from "content-src/lib/clamp-total-lines"; import {DSImage} from "../DSImage/DSImage.jsx"; import {DSLinkMenu} from "../DSLinkMenu/DSLinkMenu"; import {ImpressionStats} from "../../DiscoveryStreamImpressionStats/ImpressionStats"; import React from "react"; import {SafeAnchor} from "../SafeAnchor/SafeAnchor"; export class DSCard extends React.PureComponent { constructor(props) { @@ -36,21 +35,19 @@ export class DSCard extends React.PureCo className="ds-card-link" dispatch={this.props.dispatch} onLinkClick={!this.props.placeholder ? this.onLinkClick : undefined} url={this.props.url}> <div className="img-wrapper"> <DSImage extraClassNames="img" source={this.props.image_src} rawSource={this.props.raw_image_src} /> </div> <div className="meta"> - <div className="info-wrap" - data-total-lines="7" - ref={clampTotalLines}> - <p className="source clamp" data-clamp="1">{this.props.source}</p> - <header className="title clamp" data-clamp="4">{this.props.title}</header> + <div className="info-wrap"> + <p className="source clamp">{this.props.source}</p> + <header className="title clamp">{this.props.title}</header> {this.props.excerpt && <p className="excerpt clamp">{this.props.excerpt}</p>} </div> {this.props.context && ( <p className="context">{this.props.context}</p> )} </div> <ImpressionStats campaignId={this.props.campaignId}
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSCard/_DSCard.scss +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSCard/_DSCard.scss @@ -34,19 +34,16 @@ img { border-radius: 4px; box-shadow: inset 0 0 0 0.5px $black-15; } } .ds-card-link { - display: flex; - flex-direction: column; - justify-content: space-between; height: 100%; &:focus { @include ds-fade-in; @include dark-theme-only { @include ds-fade-in($blue-40-40); } @@ -80,18 +77,17 @@ color: $blue-70; } } } .meta { display: flex; flex-direction: column; - flex-grow: 1; - padding: 12px; + padding: 12px 16px; .info-wrap { flex-grow: 1; margin: 0 0 12px; } .title { // show only 3 lines of copy @@ -100,16 +96,17 @@ } .excerpt { // show only 3 lines of copy @include limit-visibile-lines(3, $excerpt-line-height, $excerpt-font-size); } .source { + -webkit-line-clamp: 1; margin-bottom: 2px; } .context, .source { @include dark-theme-only { color: $grey-40; }
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSImage/DSImage.jsx +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/DSImage/DSImage.jsx @@ -73,23 +73,23 @@ export class DSImage extends React.PureC ); source2x = this.reformatImageURL( baseSource, this.state.containerWidth * 2, this.state.containerHeight * 2 ); - img = (<img crossOrigin="anonymous" + img = (<img alt="" crossOrigin="anonymous" onError={this.onOptimizedImageError} src={source} srcSet={`${source2x} 2x`} />); } } else if (!this.state.nonOptimizedImageFailed) { - img = (<img crossOrigin="anonymous" + img = (<img alt="" crossOrigin="anonymous" onError={this.onNonOptimizedImageError} src={this.props.source} />); } else { // Remove the img element if both sources fail. Render a placeholder instead. img = (<div className="broken-image" />); } }
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/Hero/Hero.jsx +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/Hero/Hero.jsx @@ -1,11 +1,10 @@ import {DSCard, PlaceholderDSCard} from "../DSCard/DSCard.jsx"; import {actionCreators as ac} from "common/Actions.jsm"; -import {clampTotalLines} from "content-src/lib/clamp-total-lines"; import {DSEmptyState} from "../DSEmptyState/DSEmptyState.jsx"; import {DSImage} from "../DSImage/DSImage.jsx"; import {DSLinkMenu} from "../DSLinkMenu/DSLinkMenu"; import {ImpressionStats} from "../../DiscoveryStreamImpressionStats/ImpressionStats"; import {List} from "../List/List.jsx"; import React from "react"; import {SafeAnchor} from "../SafeAnchor/SafeAnchor"; @@ -72,25 +71,23 @@ export class Hero extends React.PureComp className="wrapper" dispatch={this.props.dispatch} onLinkClick={this.onLinkClick} url={heroRec.url}> <div className="img-wrapper"> <DSImage extraClassNames="img" source={heroRec.image_src} rawSource={heroRec.raw_image_src} /> </div> <div className="meta"> - <div className="header-and-excerpt" - data-total-lines="7" - ref={clampTotalLines}> + <div className="header-and-excerpt"> {heroRec.context ? ( <p className="context">{heroRec.context}</p> ) : ( - <p className="source clamp" data-clamp="1">{heroRec.domain}</p> + <p className="source clamp">{heroRec.domain}</p> )} - <header className="clamp" data-clamp="4">{heroRec.title}</header> + <header className="clamp">{heroRec.title}</header> <p className="excerpt clamp">{heroRec.excerpt}</p> </div> </div> <ImpressionStats campaignId={heroRec.campaignId} rows={[{id: heroRec.id, pos: heroRec.pos}]} dispatch={this.props.dispatch} source={this.props.type} />
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/Hero/_Hero.scss +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/Hero/_Hero.scss @@ -9,17 +9,17 @@ } p { line-height: 1.538; margin: 8px 0; } .excerpt { - @include limit-visibile-lines(3, 20, 14); + @include limit-visibile-lines(3, 24, 15); @include dark-theme-only { color: $grey-10; } color: $grey-90; margin: 0 0 10px; } @@ -142,16 +142,17 @@ .source { @include dark-theme-only { color: $grey-40; } font-size: 13px; color: $grey-50; + -webkit-line-clamp: 1; margin-bottom: 0; } } } // "2/3 width layout" .ds-column-5 &, .ds-column-6 &,
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/List/List.jsx +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/List/List.jsx @@ -1,10 +1,9 @@ import {actionCreators as ac} from "common/Actions.jsm"; -import {clampTotalLines} from "content-src/lib/clamp-total-lines"; import {connect} from "react-redux"; import {DSEmptyState} from "../DSEmptyState/DSEmptyState.jsx"; import {DSImage} from "../DSImage/DSImage.jsx"; import {DSLinkMenu} from "../DSLinkMenu/DSLinkMenu"; import {ImpressionStats} from "../../DiscoveryStreamImpressionStats/ImpressionStats"; import React from "react"; import {SafeAnchor} from "../SafeAnchor/SafeAnchor"; @@ -39,25 +38,24 @@ export class ListItem extends React.Pure return ( <li className={`ds-list-item${this.props.placeholder ? " placeholder" : ""}`} > <SafeAnchor className="ds-list-item-link" dispatch={this.props.dispatch} onLinkClick={!this.props.placeholder ? this.onLinkClick : undefined} url={this.props.url}> <div className="ds-list-item-text"> - <div data-total-lines="4" - ref={clampTotalLines}> + <div> <div className="ds-list-item-title clamp">{this.props.title}</div> {this.props.excerpt && <div className="ds-list-item-excerpt clamp">{this.props.excerpt}</div>} </div> <p> {this.props.context && ( <span> - <span className="ds-list-item-context">{this.props.context}</span> + <span className="ds-list-item-context clamp">{this.props.context}</span> <br /> </span> )} <span className="ds-list-item-info clamp">{this.props.domain}</span> </p> </div> <DSImage extraClassNames="ds-list-image" source={this.props.image_src} rawSource={this.props.raw_image_src} /> <ImpressionStats
--- a/browser/components/newtab/content-src/components/DiscoveryStreamComponents/List/_List.scss +++ b/browser/components/newtab/content-src/components/DiscoveryStreamComponents/List/_List.scss @@ -223,17 +223,16 @@ .ds-list-item-context { @include limit-visibile-lines(1, $item-line-height, $item-font-size); @include dark-theme-only { color: $grey-40; } color: $grey-50; font-size: 13px; - -webkit-line-clamp: 1; } .ds-list-item-title { font-weight: 600; margin-bottom: 4px; } .ds-list-item-text {
--- a/browser/components/newtab/content-src/components/ErrorBoundary/ErrorBoundary.jsx +++ b/browser/components/newtab/content-src/components/ErrorBoundary/ErrorBoundary.jsx @@ -1,8 +1,9 @@ +import {A11yLinkButton} from "content-src/components/A11yLinkButton/A11yLinkButton"; import {FormattedMessage} from "react-intl"; import React from "react"; export class ErrorBoundaryFallback extends React.PureComponent { constructor(props) { super(props); this.windowObj = this.props.windowObj || window; this.onClick = this.onClick.bind(this); @@ -20,30 +21,30 @@ export class ErrorBoundaryFallback exten const defaultClass = "as-error-fallback"; let className; if ("className" in this.props) { className = `${this.props.className} ${defaultClass}`; } else { className = defaultClass; } - // href="#" to force normal link styling stuff (eg cursor on hover) + // "A11yLinkButton" to force normal link styling stuff (eg cursor on hover) return ( <div className={className}> <div> <FormattedMessage defaultMessage="Oops, something went wrong loading this content." id="error_fallback_default_info" /> </div> <span> - <a href="#" className="reload-button" onClick={this.onClick}> + <A11yLinkButton className="reload-button" onClick={this.onClick}> <FormattedMessage defaultMessage="Refresh page to try again." id="error_fallback_default_refresh_suggestion" /> - </a> + </A11yLinkButton> </span> </div> ); } } ErrorBoundaryFallback.defaultProps = {className: "as-error-fallback"}; export class ErrorBoundary extends React.PureComponent {
deleted file mode 100644 --- a/browser/components/newtab/content-src/lib/clamp-total-lines.js +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Adjusts line-clamps of a node's children to fill a desired number of lines. - * - * This is a React callback ref that should be set on a parent node that also - * has a data-total-lines attribute. Children with "clamp" class name are - * clamped to allow as many lines to earlier children while making sure every - * child gets at least one line. Each child can be explicitly clamped to a max - * lines with a data-clamp attribute. - */ -export function clampTotalLines(parentNode) { - // Nothing to do if the node is removed or didn't configure how many lines - if (!parentNode || !parentNode.dataset.totalLines) { - return; - } - - // Only handle clamp-able children that are displayed (not hidden) - const toClamp = Array.from(parentNode.querySelectorAll(".clamp")) - .filter(child => child.scrollHeight); - - // Start with total allowed lines while reserving 1 line for each child - let maxLines = parentNode.dataset.totalLines - toClamp.length + 1; - toClamp.forEach(child => { - // Clamp to the remaining allowed, explicit limit or the natural line count - const lines = Math.min(maxLines, - child.dataset.clamp || Infinity, - child.scrollHeight / parseInt(global.getComputedStyle(child).lineHeight, 10)); - child.style.webkitLineClamp = `${lines}`; - - // Update the remaining line allowance less the already reserved 1 line - maxLines -= lines - 1; - }); -}
--- a/browser/components/newtab/content-src/styles/_mixins.scss +++ b/browser/components/newtab/content-src/styles/_mixins.scss @@ -4,19 +4,20 @@ background-position: center; background-repeat: no-repeat; background-size: cover; border-radius: 4px; box-shadow: inset 0 0 0 0.5px $black-15; } // Note: lineHeight and fontSize should be unitless but can be derived from pixel values -// Bug 1550624 to clean up / remove this mixin that no longer limits lines +// Bug 1550624 to clean up / remove this mixin to avoid duplicate styles @mixin limit-visibile-lines($line-count, $line-height, $font-size) { font-size: $font-size * 1px; + -webkit-line-clamp: $line-count; line-height: $line-height * 1px; } @mixin dark-theme-only { [lwt-newtab-brighttext] & { @content; } }
--- a/browser/components/newtab/css/activity-stream-linux.css +++ b/browser/components/newtab/css/activity-stream-linux.css @@ -1260,30 +1260,36 @@ main { margin: 0; padding: 5px 0; } .context-menu > ul > li { margin: 0; width: 100%; } .context-menu > ul > li.separator { border-bottom: 1px solid var(--newtab-border-secondary-color); margin: 5px 0; } - .context-menu > ul > li > a { + .context-menu > ul > li > a, + .context-menu > ul > li > button { align-items: center; color: inherit; cursor: pointer; display: flex; + width: 100%; line-height: 16px; outline: none; + border: 0; padding: 3px 12px; white-space: nowrap; } - .context-menu > ul > li > a:-moz-any(:focus, :hover) { + .context-menu > ul > li > a:-moz-any(:focus, :hover), + .context-menu > ul > li > button:-moz-any(:focus, :hover) { background: var(--newtab-element-hover-color); } - .context-menu > ul > li > a:active { + .context-menu > ul > li > a:active, + .context-menu > ul > li > button:active { background: var(--newtab-element-active-color); } - .context-menu > ul > li > a.disabled { + .context-menu > ul > li > a.disabled, + .context-menu > ul > li > button.disabled { opacity: 0.4; pointer-events: none; } .confirmation-dialog .modal { box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); left: 0; margin: auto; position: fixed; @@ -1946,35 +1952,44 @@ main { .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 { grid-template-columns: repeat(3, 1fr); } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .title { font-size: 17px; line-height: 24px; } + .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt { + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-4 .title { font-size: 15px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card-grid.empty { grid-template-columns: auto; } .ds-hero { position: relative; } .ds-hero header { font-weight: 600; } .ds-hero p { line-height: 1.538; margin: 8px 0; } .ds-hero .excerpt { - font-size: 14px; - line-height: 20px; + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; color: #0C0C0D; margin: 0 0 10px; } [lwt-newtab-brighttext] .ds-hero .excerpt { color: #F9F9FA; } .ds-hero .ds-card:not(.placeholder) { border: 0; padding-bottom: 20px; } .ds-hero .ds-card:not(.placeholder) p { @@ -2031,31 +2046,33 @@ main { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-hero .wrapper .meta { display: block; flex-direction: column; justify-content: space-between; } .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 4; line-height: 28px; color: #0C0C0D; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta header { color: #FFF; } .ds-hero .wrapper .meta .context, .ds-hero .wrapper .meta .source { margin: 0 0 4px; } .ds-hero .wrapper .meta .context { color: #008EA4; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .context { color: #A7FFFE; } .ds-hero .wrapper .meta .source { font-size: 13px; color: #737373; + -webkit-line-clamp: 1; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .source { color: #B1B1B3; } .ds-column-5 .ds-hero .wrapper, .ds-column-6 .ds-hero .wrapper, .ds-column-7 .ds-hero .wrapper, .ds-column-8 .ds-hero .wrapper { display: grid; @@ -2147,16 +2164,17 @@ main { flex-grow: 1; display: flex; padding: 0 24px 0 0; } .ds-column-9 .ds-hero .wrapper .meta header, .ds-column-10 .ds-hero .wrapper .meta header, .ds-column-11 .ds-hero .wrapper .meta header, .ds-column-12 .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 3; line-height: 28px; } .ds-column-9 .ds-hero .wrapper .meta .source, .ds-column-10 .ds-hero .wrapper .meta .source, .ds-column-11 .ds-hero .wrapper .meta .source, .ds-column-12 .ds-hero .wrapper .meta .source { margin-bottom: 0; } .ds-column-9 .ds-hero .cards, .ds-column-10 .ds-hero .cards, @@ -2181,16 +2199,17 @@ main { .ds-column-11 .ds-hero .cards .ds-card:active .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card:active .title { color: #0A84FF; } .ds-column-9 .ds-hero .cards .ds-card .title, .ds-column-10 .ds-hero .cards .ds-card .title, .ds-column-11 .ds-hero .cards .ds-card .title, .ds-column-12 .ds-hero .cards .ds-card .title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } [lwt-newtab-brighttext] .ds-column-9 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-10 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-11 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card .title { color: #FFF; } .ds-hero.empty { grid-template-columns: auto; } @@ -2208,16 +2227,17 @@ main { grid-column-gap: 24px; padding-inline-start: 0; } .ds-list:not(.ds-list-full-width) .ds-list-item { font-size: 14px; line-height: 20px; position: relative; } .ds-list:not(.ds-list-full-width) .ds-list-item-title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-list:not(.ds-list-full-width) .ds-list-image { min-width: 80px; width: 80px; } .ds-column-5 .ds-list:not(.ds-list-full-width), .ds-column-6 .ds-list:not(.ds-list-full-width), .ds-column-7 .ds-list:not(.ds-list-full-width), .ds-column-8 .ds-list:not(.ds-list-full-width) { @@ -2320,16 +2340,17 @@ main { .ds-list-full-width .ds-list-item { font-size: 17px; line-height: 24px; position: relative; } .ds-list-full-width .ds-list-item-title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; } .ds-list-full-width .ds-list-image { min-width: 160px; width: 160px; } .ds-list-item { display: block; @@ -2345,32 +2366,33 @@ main { opacity: 0; } .ds-list-item .ds-list-item-link { mix-blend-mode: normal; display: flex; justify-content: space-between; height: 100%; } .ds-list-item .ds-list-item-excerpt { font-size: 14px; + -webkit-line-clamp: 2; line-height: 20px; color: #737373; margin: 4px 0 8px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-excerpt { color: rgba(249, 249, 250, 0.8); } .ds-list-item p { font-size: 14px; line-height: 20px; margin: 0; } .ds-list-item .ds-list-item-info, .ds-list-item .ds-list-item-context { font-size: 14px; + -webkit-line-clamp: 1; line-height: 20px; color: #737373; - font-size: 13px; - -webkit-line-clamp: 1; } + font-size: 13px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-info, [lwt-newtab-brighttext] .ds-list-item .ds-list-item-context { color: #B1B1B3; } .ds-list-item .ds-list-item-title { font-weight: 600; margin-bottom: 4px; } .ds-list-item .ds-list-item-text { display: flex; @@ -2596,19 +2618,16 @@ main { width: 100%; } .ds-card .img { height: 0; padding-top: 50%; } .ds-card .img img { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-card .ds-card-link { - display: flex; - flex-direction: column; - justify-content: space-between; height: 100%; } .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(10, 132, 255, 0.3); transition: box-shadow 150ms; border-radius: 4px; outline: none; } [lwt-newtab-brighttext] .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(69, 161, 255, 0.4); @@ -2631,29 +2650,31 @@ main { color: #45A1FF; } .ds-card .ds-card-link:active header { color: #003EAA; } [lwt-newtab-brighttext] .ds-card .ds-card-link:active header { color: #0A84FF; } .ds-card .meta { display: flex; flex-direction: column; - flex-grow: 1; - padding: 12px; } + padding: 12px 16px; } .ds-card .meta .info-wrap { flex-grow: 1; margin: 0 0 12px; } .ds-card .meta .title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; font-weight: 600; } .ds-card .meta .excerpt { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card .meta .source { + -webkit-line-clamp: 1; margin-bottom: 2px; } .ds-card .meta .context, .ds-card .meta .source { font-size: 13px; color: #737373; } [lwt-newtab-brighttext] .ds-card .meta .context, [lwt-newtab-brighttext] .ds-card .meta .source { color: #B1B1B3; }
--- a/browser/components/newtab/css/activity-stream-mac.css +++ b/browser/components/newtab/css/activity-stream-mac.css @@ -1263,30 +1263,36 @@ main { margin: 0; padding: 5px 0; } .context-menu > ul > li { margin: 0; width: 100%; } .context-menu > ul > li.separator { border-bottom: 1px solid var(--newtab-border-secondary-color); margin: 5px 0; } - .context-menu > ul > li > a { + .context-menu > ul > li > a, + .context-menu > ul > li > button { align-items: center; color: inherit; cursor: pointer; display: flex; + width: 100%; line-height: 16px; outline: none; + border: 0; padding: 3px 12px; white-space: nowrap; } - .context-menu > ul > li > a:-moz-any(:focus, :hover) { + .context-menu > ul > li > a:-moz-any(:focus, :hover), + .context-menu > ul > li > button:-moz-any(:focus, :hover) { background: var(--newtab-element-hover-color); } - .context-menu > ul > li > a:active { + .context-menu > ul > li > a:active, + .context-menu > ul > li > button:active { background: var(--newtab-element-active-color); } - .context-menu > ul > li > a.disabled { + .context-menu > ul > li > a.disabled, + .context-menu > ul > li > button.disabled { opacity: 0.4; pointer-events: none; } .confirmation-dialog .modal { box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); left: 0; margin: auto; position: fixed; @@ -1949,35 +1955,44 @@ main { .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 { grid-template-columns: repeat(3, 1fr); } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .title { font-size: 17px; line-height: 24px; } + .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt { + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-4 .title { font-size: 15px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card-grid.empty { grid-template-columns: auto; } .ds-hero { position: relative; } .ds-hero header { font-weight: 600; } .ds-hero p { line-height: 1.538; margin: 8px 0; } .ds-hero .excerpt { - font-size: 14px; - line-height: 20px; + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; color: #0C0C0D; margin: 0 0 10px; } [lwt-newtab-brighttext] .ds-hero .excerpt { color: #F9F9FA; } .ds-hero .ds-card:not(.placeholder) { border: 0; padding-bottom: 20px; } .ds-hero .ds-card:not(.placeholder) p { @@ -2034,31 +2049,33 @@ main { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-hero .wrapper .meta { display: block; flex-direction: column; justify-content: space-between; } .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 4; line-height: 28px; color: #0C0C0D; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta header { color: #FFF; } .ds-hero .wrapper .meta .context, .ds-hero .wrapper .meta .source { margin: 0 0 4px; } .ds-hero .wrapper .meta .context { color: #008EA4; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .context { color: #A7FFFE; } .ds-hero .wrapper .meta .source { font-size: 13px; color: #737373; + -webkit-line-clamp: 1; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .source { color: #B1B1B3; } .ds-column-5 .ds-hero .wrapper, .ds-column-6 .ds-hero .wrapper, .ds-column-7 .ds-hero .wrapper, .ds-column-8 .ds-hero .wrapper { display: grid; @@ -2150,16 +2167,17 @@ main { flex-grow: 1; display: flex; padding: 0 24px 0 0; } .ds-column-9 .ds-hero .wrapper .meta header, .ds-column-10 .ds-hero .wrapper .meta header, .ds-column-11 .ds-hero .wrapper .meta header, .ds-column-12 .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 3; line-height: 28px; } .ds-column-9 .ds-hero .wrapper .meta .source, .ds-column-10 .ds-hero .wrapper .meta .source, .ds-column-11 .ds-hero .wrapper .meta .source, .ds-column-12 .ds-hero .wrapper .meta .source { margin-bottom: 0; } .ds-column-9 .ds-hero .cards, .ds-column-10 .ds-hero .cards, @@ -2184,16 +2202,17 @@ main { .ds-column-11 .ds-hero .cards .ds-card:active .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card:active .title { color: #0A84FF; } .ds-column-9 .ds-hero .cards .ds-card .title, .ds-column-10 .ds-hero .cards .ds-card .title, .ds-column-11 .ds-hero .cards .ds-card .title, .ds-column-12 .ds-hero .cards .ds-card .title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } [lwt-newtab-brighttext] .ds-column-9 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-10 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-11 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card .title { color: #FFF; } .ds-hero.empty { grid-template-columns: auto; } @@ -2211,16 +2230,17 @@ main { grid-column-gap: 24px; padding-inline-start: 0; } .ds-list:not(.ds-list-full-width) .ds-list-item { font-size: 14px; line-height: 20px; position: relative; } .ds-list:not(.ds-list-full-width) .ds-list-item-title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-list:not(.ds-list-full-width) .ds-list-image { min-width: 80px; width: 80px; } .ds-column-5 .ds-list:not(.ds-list-full-width), .ds-column-6 .ds-list:not(.ds-list-full-width), .ds-column-7 .ds-list:not(.ds-list-full-width), .ds-column-8 .ds-list:not(.ds-list-full-width) { @@ -2323,16 +2343,17 @@ main { .ds-list-full-width .ds-list-item { font-size: 17px; line-height: 24px; position: relative; } .ds-list-full-width .ds-list-item-title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; } .ds-list-full-width .ds-list-image { min-width: 160px; width: 160px; } .ds-list-item { display: block; @@ -2348,32 +2369,33 @@ main { opacity: 0; } .ds-list-item .ds-list-item-link { mix-blend-mode: normal; display: flex; justify-content: space-between; height: 100%; } .ds-list-item .ds-list-item-excerpt { font-size: 14px; + -webkit-line-clamp: 2; line-height: 20px; color: #737373; margin: 4px 0 8px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-excerpt { color: rgba(249, 249, 250, 0.8); } .ds-list-item p { font-size: 14px; line-height: 20px; margin: 0; } .ds-list-item .ds-list-item-info, .ds-list-item .ds-list-item-context { font-size: 14px; + -webkit-line-clamp: 1; line-height: 20px; color: #737373; - font-size: 13px; - -webkit-line-clamp: 1; } + font-size: 13px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-info, [lwt-newtab-brighttext] .ds-list-item .ds-list-item-context { color: #B1B1B3; } .ds-list-item .ds-list-item-title { font-weight: 600; margin-bottom: 4px; } .ds-list-item .ds-list-item-text { display: flex; @@ -2599,19 +2621,16 @@ main { width: 100%; } .ds-card .img { height: 0; padding-top: 50%; } .ds-card .img img { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-card .ds-card-link { - display: flex; - flex-direction: column; - justify-content: space-between; height: 100%; } .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(10, 132, 255, 0.3); transition: box-shadow 150ms; border-radius: 4px; outline: none; } [lwt-newtab-brighttext] .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(69, 161, 255, 0.4); @@ -2634,29 +2653,31 @@ main { color: #45A1FF; } .ds-card .ds-card-link:active header { color: #003EAA; } [lwt-newtab-brighttext] .ds-card .ds-card-link:active header { color: #0A84FF; } .ds-card .meta { display: flex; flex-direction: column; - flex-grow: 1; - padding: 12px; } + padding: 12px 16px; } .ds-card .meta .info-wrap { flex-grow: 1; margin: 0 0 12px; } .ds-card .meta .title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; font-weight: 600; } .ds-card .meta .excerpt { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card .meta .source { + -webkit-line-clamp: 1; margin-bottom: 2px; } .ds-card .meta .context, .ds-card .meta .source { font-size: 13px; color: #737373; } [lwt-newtab-brighttext] .ds-card .meta .context, [lwt-newtab-brighttext] .ds-card .meta .source { color: #B1B1B3; }
--- a/browser/components/newtab/css/activity-stream-windows.css +++ b/browser/components/newtab/css/activity-stream-windows.css @@ -1260,30 +1260,36 @@ main { margin: 0; padding: 5px 0; } .context-menu > ul > li { margin: 0; width: 100%; } .context-menu > ul > li.separator { border-bottom: 1px solid var(--newtab-border-secondary-color); margin: 5px 0; } - .context-menu > ul > li > a { + .context-menu > ul > li > a, + .context-menu > ul > li > button { align-items: center; color: inherit; cursor: pointer; display: flex; + width: 100%; line-height: 16px; outline: none; + border: 0; padding: 3px 12px; white-space: nowrap; } - .context-menu > ul > li > a:-moz-any(:focus, :hover) { + .context-menu > ul > li > a:-moz-any(:focus, :hover), + .context-menu > ul > li > button:-moz-any(:focus, :hover) { background: var(--newtab-element-hover-color); } - .context-menu > ul > li > a:active { + .context-menu > ul > li > a:active, + .context-menu > ul > li > button:active { background: var(--newtab-element-active-color); } - .context-menu > ul > li > a.disabled { + .context-menu > ul > li > a.disabled, + .context-menu > ul > li > button.disabled { opacity: 0.4; pointer-events: none; } .confirmation-dialog .modal { box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.1); left: 0; margin: auto; position: fixed; @@ -1946,35 +1952,44 @@ main { .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 { grid-template-columns: repeat(3, 1fr); } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .title { font-size: 17px; line-height: 24px; } + .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt, + .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-3 .excerpt { + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; } .ds-column-9 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-10 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-11 .ds-card-grid.ds-card-grid-divisible-by-4 .title, .ds-column-12 .ds-card-grid.ds-card-grid-divisible-by-4 .title { font-size: 15px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card-grid.empty { grid-template-columns: auto; } .ds-hero { position: relative; } .ds-hero header { font-weight: 600; } .ds-hero p { line-height: 1.538; margin: 8px 0; } .ds-hero .excerpt { - font-size: 14px; - line-height: 20px; + font-size: 15px; + -webkit-line-clamp: 3; + line-height: 24px; color: #0C0C0D; margin: 0 0 10px; } [lwt-newtab-brighttext] .ds-hero .excerpt { color: #F9F9FA; } .ds-hero .ds-card:not(.placeholder) { border: 0; padding-bottom: 20px; } .ds-hero .ds-card:not(.placeholder) p { @@ -2031,31 +2046,33 @@ main { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-hero .wrapper .meta { display: block; flex-direction: column; justify-content: space-between; } .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 4; line-height: 28px; color: #0C0C0D; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta header { color: #FFF; } .ds-hero .wrapper .meta .context, .ds-hero .wrapper .meta .source { margin: 0 0 4px; } .ds-hero .wrapper .meta .context { color: #008EA4; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .context { color: #A7FFFE; } .ds-hero .wrapper .meta .source { font-size: 13px; color: #737373; + -webkit-line-clamp: 1; margin-bottom: 0; } [lwt-newtab-brighttext] .ds-hero .wrapper .meta .source { color: #B1B1B3; } .ds-column-5 .ds-hero .wrapper, .ds-column-6 .ds-hero .wrapper, .ds-column-7 .ds-hero .wrapper, .ds-column-8 .ds-hero .wrapper { display: grid; @@ -2147,16 +2164,17 @@ main { flex-grow: 1; display: flex; padding: 0 24px 0 0; } .ds-column-9 .ds-hero .wrapper .meta header, .ds-column-10 .ds-hero .wrapper .meta header, .ds-column-11 .ds-hero .wrapper .meta header, .ds-column-12 .ds-hero .wrapper .meta header { font-size: 22px; + -webkit-line-clamp: 3; line-height: 28px; } .ds-column-9 .ds-hero .wrapper .meta .source, .ds-column-10 .ds-hero .wrapper .meta .source, .ds-column-11 .ds-hero .wrapper .meta .source, .ds-column-12 .ds-hero .wrapper .meta .source { margin-bottom: 0; } .ds-column-9 .ds-hero .cards, .ds-column-10 .ds-hero .cards, @@ -2181,16 +2199,17 @@ main { .ds-column-11 .ds-hero .cards .ds-card:active .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card:active .title { color: #0A84FF; } .ds-column-9 .ds-hero .cards .ds-card .title, .ds-column-10 .ds-hero .cards .ds-card .title, .ds-column-11 .ds-hero .cards .ds-card .title, .ds-column-12 .ds-hero .cards .ds-card .title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } [lwt-newtab-brighttext] .ds-column-9 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-10 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-11 .ds-hero .cards .ds-card .title, [lwt-newtab-brighttext] .ds-column-12 .ds-hero .cards .ds-card .title { color: #FFF; } .ds-hero.empty { grid-template-columns: auto; } @@ -2208,16 +2227,17 @@ main { grid-column-gap: 24px; padding-inline-start: 0; } .ds-list:not(.ds-list-full-width) .ds-list-item { font-size: 14px; line-height: 20px; position: relative; } .ds-list:not(.ds-list-full-width) .ds-list-item-title { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-list:not(.ds-list-full-width) .ds-list-image { min-width: 80px; width: 80px; } .ds-column-5 .ds-list:not(.ds-list-full-width), .ds-column-6 .ds-list:not(.ds-list-full-width), .ds-column-7 .ds-list:not(.ds-list-full-width), .ds-column-8 .ds-list:not(.ds-list-full-width) { @@ -2320,16 +2340,17 @@ main { .ds-list-full-width .ds-list-item { font-size: 17px; line-height: 24px; position: relative; } .ds-list-full-width .ds-list-item-title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; } .ds-list-full-width .ds-list-image { min-width: 160px; width: 160px; } .ds-list-item { display: block; @@ -2345,32 +2366,33 @@ main { opacity: 0; } .ds-list-item .ds-list-item-link { mix-blend-mode: normal; display: flex; justify-content: space-between; height: 100%; } .ds-list-item .ds-list-item-excerpt { font-size: 14px; + -webkit-line-clamp: 2; line-height: 20px; color: #737373; margin: 4px 0 8px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-excerpt { color: rgba(249, 249, 250, 0.8); } .ds-list-item p { font-size: 14px; line-height: 20px; margin: 0; } .ds-list-item .ds-list-item-info, .ds-list-item .ds-list-item-context { font-size: 14px; + -webkit-line-clamp: 1; line-height: 20px; color: #737373; - font-size: 13px; - -webkit-line-clamp: 1; } + font-size: 13px; } [lwt-newtab-brighttext] .ds-list-item .ds-list-item-info, [lwt-newtab-brighttext] .ds-list-item .ds-list-item-context { color: #B1B1B3; } .ds-list-item .ds-list-item-title { font-weight: 600; margin-bottom: 4px; } .ds-list-item .ds-list-item-text { display: flex; @@ -2596,19 +2618,16 @@ main { width: 100%; } .ds-card .img { height: 0; padding-top: 50%; } .ds-card .img img { border-radius: 4px; box-shadow: inset 0 0 0 0.5px rgba(0, 0, 0, 0.15); } .ds-card .ds-card-link { - display: flex; - flex-direction: column; - justify-content: space-between; height: 100%; } .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(10, 132, 255, 0.3); transition: box-shadow 150ms; border-radius: 4px; outline: none; } [lwt-newtab-brighttext] .ds-card .ds-card-link:focus { box-shadow: 0 0 0 5px rgba(69, 161, 255, 0.4); @@ -2631,29 +2650,31 @@ main { color: #45A1FF; } .ds-card .ds-card-link:active header { color: #003EAA; } [lwt-newtab-brighttext] .ds-card .ds-card-link:active header { color: #0A84FF; } .ds-card .meta { display: flex; flex-direction: column; - flex-grow: 1; - padding: 12px; } + padding: 12px 16px; } .ds-card .meta .info-wrap { flex-grow: 1; margin: 0 0 12px; } .ds-card .meta .title { font-size: 17px; + -webkit-line-clamp: 3; line-height: 24px; font-weight: 600; } .ds-card .meta .excerpt { font-size: 14px; + -webkit-line-clamp: 3; line-height: 20px; } .ds-card .meta .source { + -webkit-line-clamp: 1; margin-bottom: 2px; } .ds-card .meta .context, .ds-card .meta .source { font-size: 13px; color: #737373; } [lwt-newtab-brighttext] .ds-card .meta .context, [lwt-newtab-brighttext] .ds-card .meta .source { color: #B1B1B3; }
--- a/browser/components/newtab/data/content/activity-stream.bundle.js +++ b/browser/components/newtab/data/content/activity-stream.bundle.js @@ -95,17 +95,17 @@ /* harmony import */ var content_src_lib_detect_user_session_start__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(52); /* harmony import */ var content_src_lib_init_store__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(16); /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(58); +/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(57); @@ -566,17 +566,17 @@ var actionUtils = { /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var content_src_components_ASRouterAdmin_ASRouterAdmin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5); /* harmony import */ var _asrouter_asrouter_content__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(6); /* harmony import */ var content_src_components_ConfirmDialog_ConfirmDialog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(29); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var content_src_components_DiscoveryStreamBase_DiscoveryStreamBase__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(53); -/* harmony import */ var content_src_components_ErrorBoundary_ErrorBoundary__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(36); +/* harmony import */ var content_src_components_ErrorBoundary_ErrorBoundary__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(35); /* harmony import */ var common_PrerenderData_jsm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(46); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var content_src_components_Search_Search__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(47); /* harmony import */ var content_src_components_Sections_Sections__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(48); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } @@ -3876,17 +3876,18 @@ class _ConfirmDialog extends react__WEBP if (!this.props.visible) { return null; } return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", { className: "confirmation-dialog" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", { className: "modal-overlay", - onClick: this._handleCancelBtn + onClick: this._handleCancelBtn, + role: "presentation" }), react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", { className: "modal" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("section", { className: "modal-message" }, this.props.data.icon && react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: `icon icon-spacer icon-${this.props.data.icon}` }), this._renderModalMessage()), react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("section", { className: "actions" @@ -3906,61 +3907,25 @@ class _ConfirmDialog extends react__WEBP const ConfirmDialog = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(state => state.Dialog)(_ConfirmDialog); /***/ }), /* 30 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "clampTotalLines", function() { return clampTotalLines; }); -/** - * Adjusts line-clamps of a node's children to fill a desired number of lines. - * - * This is a React callback ref that should be set on a parent node that also - * has a data-total-lines attribute. Children with "clamp" class name are - * clamped to allow as many lines to earlier children while making sure every - * child gets at least one line. Each child can be explicitly clamped to a max - * lines with a data-clamp attribute. - */ -function clampTotalLines(parentNode) { - // Nothing to do if the node is removed or didn't configure how many lines - if (!parentNode || !parentNode.dataset.totalLines) { - return; - } // Only handle clamp-able children that are displayed (not hidden) - - - const toClamp = Array.from(parentNode.querySelectorAll(".clamp")).filter(child => child.scrollHeight); // Start with total allowed lines while reserving 1 line for each child - - let maxLines = parentNode.dataset.totalLines - toClamp.length + 1; - toClamp.forEach(child => { - // Clamp to the remaining allowed, explicit limit or the natural line count - const lines = Math.min(maxLines, child.dataset.clamp || Infinity, child.scrollHeight / parseInt(global.getComputedStyle(child).lineHeight, 10)); - child.style.webkitLineClamp = `${lines}`; // Update the remaining line allowance less the already reserved 1 line - - maxLines -= lines - 1; - }); -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1))) - -/***/ }), -/* 31 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_LinkMenu", function() { return _LinkMenu; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LinkMenu", function() { return LinkMenu; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(26); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var content_src_components_ContextMenu_ContextMenu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(32); +/* harmony import */ var content_src_components_ContextMenu_ContextMenu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(31); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var content_src_lib_link_menu_options__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(33); +/* harmony import */ var content_src_lib_link_menu_options__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(32); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_5__); @@ -4036,17 +4001,17 @@ class _LinkMenu extends react__WEBPACK_I const getState = state => ({ isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled, platform: state.Prefs.values.platform }); const LinkMenu = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(getState)(Object(react_intl__WEBPACK_IMPORTED_MODULE_3__["injectIntl"])(_LinkMenu)); /***/ }), -/* 32 */ +/* 31 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContextMenu", function() { return ContextMenu; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ContextMenuItem", function() { return ContextMenuItem; }); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); @@ -4084,28 +4049,31 @@ class ContextMenu extends react__WEBPACK // Eat all clicks on the context menu so they don't bubble up to window. // This prevents the context menu from closing when clicking disabled items // or the separators. event.stopPropagation(); } render() { return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { + role: "menu", className: "context-menu", - onClick: this.onClick + onClick: this.onClick, + onKeyDown: this.onClick, + tabIndex: "0" }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("ul", { - role: "menu", className: "context-menu-list" }, this.props.options.map((option, i) => option.type === "separator" ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { key: i, className: "separator" }) : option.type !== "empty" && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(ContextMenuItem, { key: i, option: option, - hideContext: this.hideContext + hideContext: this.hideContext, + tabIndex: "0" })))); } } class ContextMenuItem extends react__WEBPACK_IMPORTED_MODULE_0___default.a.PureComponent { constructor(props) { super(props); this.onClick = this.onClick.bind(this); @@ -4142,31 +4110,31 @@ class ContextMenuItem extends react__WEB render() { const { option } = this.props; return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("li", { role: "menuitem", className: "context-menu-item" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("a", { + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", { + className: option.disabled ? "disabled" : "", onClick: this.onClick, onKeyDown: this.onKeyDown, - tabIndex: "0", - className: option.disabled ? "disabled" : "" + tabIndex: "0" }, option.icon && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { className: `icon icon-spacer icon-${option.icon}` }), option.label)); } } /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1))) /***/ }), -/* 33 */ +/* 32 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetPlatformString", function() { return GetPlatformString; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LinkMenuOptions", function() { return LinkMenuOptions; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); @@ -4449,17 +4417,17 @@ const LinkMenuOptions = { CheckBookmark: site => site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site), CheckPinTopSite: (site, index) => site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index), CheckSavedToPocket: (site, index) => site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index), CheckBookmarkOrArchive: site => site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site), OpenInPrivateWindow: (site, index, eventSource, isEnabled) => isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem() }; /***/ }), -/* 34 */ +/* 33 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "INTERSECTION_RATIO", function() { return INTERSECTION_RATIO; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ImpressionStats", function() { return ImpressionStats; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); @@ -4670,27 +4638,27 @@ ImpressionStats.defaultProps = { IntersectionObserver: global.IntersectionObserver, document: global.document, rows: [], source: "" }; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1))) /***/ }), -/* 35 */ +/* 34 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_CollapsibleSection", function() { return _CollapsibleSection; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CollapsibleSection", function() { return CollapsibleSection; }); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2); -/* harmony import */ var content_src_components_ErrorBoundary_ErrorBoundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(36); +/* harmony import */ var content_src_components_ErrorBoundary_ErrorBoundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var content_src_components_SectionMenu_SectionMenu__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(37); /* harmony import */ var content_src_lib_section_menu_options__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(38); @@ -4703,16 +4671,17 @@ function getFormattedMessage(message) { return typeof message === "string" ? react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, message) : react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_0__["FormattedMessage"], message); } class _CollapsibleSection extends react__WEBPACK_IMPORTED_MODULE_3___default.a.PureComponent { constructor(props) { super(props); this.onBodyMount = this.onBodyMount.bind(this); this.onHeaderClick = this.onHeaderClick.bind(this); + this.onKeyPress = this.onKeyPress.bind(this); this.onTransitionEnd = this.onTransitionEnd.bind(this); this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this); this.onMenuButtonClick = this.onMenuButtonClick.bind(this); this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this); this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this); this.onMenuUpdate = this.onMenuUpdate.bind(this); this.state = { enableAnimation: true, @@ -4788,16 +4757,22 @@ class _CollapsibleSection extends react_ } = content_src_lib_section_menu_options__WEBPACK_IMPORTED_MODULE_5__["SectionMenuOptions"].CheckCollapsed(this.props); this.props.dispatch(action); this.props.dispatch(common_Actions_jsm__WEBPACK_IMPORTED_MODULE_1__["actionCreators"].UserEvent({ event: userEvent, source: this.props.source })); } + onKeyPress(event) { + if (event.key === "Enter" || event.key === " ") { + this.onHeaderClick(); + } + } + _getSectionBodyHeight() { const div = this.sectionBody; if (div.style.display === "none") { // If the div isn't displayed, we can't get it's height. So we display it // to get the height (it doesn't show up because max-height is set to 0px // in CSS). We don't undo this because we are about to expand the section. div.style.display = "block"; @@ -4892,30 +4867,37 @@ class _CollapsibleSection extends react_ }; } else if (!isAnimating && collapsed) { bodyStyle = { display: "none" }; } return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("section", { - className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${collapsed ? " collapsed" : ""}${active ? " active" : ""}` // Note: data-section-id is used for web extension api tests in mozilla central + className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${collapsed ? " collapsed" : ""}${active ? " active" : ""}`, + "aria-expanded": !collapsed // Note: data-section-id is used for web extension api tests in mozilla central , "data-section-id": id }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("div", { className: "section-top-bar" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("h3", { className: "section-title" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: "click-target-container" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: "click-target", + role: "button", + tabIndex: "0", + onKeyPress: this.onKeyPress, onClick: this.onHeaderClick }, this.renderIcon(), getFormattedMessage(title)), react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: "click-target", + role: "button", + tabIndex: "0", + onKeyPress: this.onKeyPress, onClick: this.onHeaderClick }, isCollapsible && react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: `collapsible-arrow icon ${collapsed ? "icon-arrowhead-forward-small" : "icon-arrowhead-down-small"}` })), react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: "learn-more-link-wrapper" }, learnMore && react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", { className: "learn-more-link" }, react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", { @@ -4966,30 +4948,32 @@ class _CollapsibleSection extends react_ Prefs: { values: {} } }; const CollapsibleSection = Object(react_intl__WEBPACK_IMPORTED_MODULE_0__["injectIntl"])(_CollapsibleSection); /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1))) /***/ }), -/* 36 */ +/* 35 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ErrorBoundaryFallback", function() { return ErrorBoundaryFallback; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ErrorBoundary", function() { return ErrorBoundary; }); -/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4); -/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(11); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); - - -class ErrorBoundaryFallback extends react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent { +/* harmony import */ var content_src_components_A11yLinkButton_A11yLinkButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(36); +/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); +/* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(11); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); + + + +class ErrorBoundaryFallback extends react__WEBPACK_IMPORTED_MODULE_2___default.a.PureComponent { constructor(props) { super(props); this.windowObj = this.props.windowObj || window; this.onClick = this.onClick.bind(this); } /** * Since we only get here if part of the page has crashed, do a * forced reload to give us the best chance at recovering. @@ -5003,39 +4987,38 @@ class ErrorBoundaryFallback extends reac render() { const defaultClass = "as-error-fallback"; let className; if ("className" in this.props) { className = `${this.props.className} ${defaultClass}`; } else { className = defaultClass; - } // href="#" to force normal link styling stuff (eg cursor on hover) - - - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + } // "A11yLinkButton" to force normal link styling stuff (eg cursor on hover) + + + return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { className: className - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_0__["FormattedMessage"], { + }, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Oops, something went wrong loading this content.", id: "error_fallback_default_info" - })), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", null, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("a", { - href: "#", + })), react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("span", null, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(content_src_components_A11yLinkButton_A11yLinkButton__WEBPACK_IMPORTED_MODULE_0__["A11yLinkButton"], { className: "reload-button", onClick: this.onClick - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_0__["FormattedMessage"], { + }, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__["FormattedMessage"], { defaultMessage: "Refresh page to try again.", id: "error_fallback_default_refresh_suggestion" })))); } } ErrorBoundaryFallback.defaultProps = { className: "as-error-fallback" }; -class ErrorBoundary extends react__WEBPACK_IMPORTED_MODULE_1___default.a.PureComponent { +class ErrorBoundary extends react__WEBPACK_IMPORTED_MODULE_2___default.a.PureComponent { constructor(props) { super(props); this.state = { hasError: false }; } componentDidCatch(error, info) { @@ -5044,36 +5027,63 @@ class ErrorBoundary extends react__WEBPA }); } render() { if (!this.state.hasError) { return this.props.children; } - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(this.props.FallbackComponent, { + return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(this.props.FallbackComponent, { className: this.props.className }); } } ErrorBoundary.defaultProps = { FallbackComponent: ErrorBoundaryFallback }; /***/ }), +/* 36 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "A11yLinkButton", function() { return A11yLinkButton; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(11); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + +function A11yLinkButton(props) { + // function for merging classes, if necessary + let className = "a11y-link-button"; + + if (props.className) { + className += ` ${props.className}`; + } + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", _extends({ + type: "button" + }, props, { + className: className + }), props.children); +} + +/***/ }), /* 37 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_SectionMenu", function() { return _SectionMenu; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SectionMenu", function() { return SectionMenu; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var content_src_components_ContextMenu_ContextMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(32); +/* harmony import */ var content_src_components_ContextMenu_ContextMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var content_src_lib_section_menu_options__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(38); @@ -5279,27 +5289,27 @@ const SectionMenuOptions = { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_TopSites", function() { return _TopSites; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSites", function() { return TopSites; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var _TopSitesConstants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40); -/* harmony import */ var content_src_components_CollapsibleSection_CollapsibleSection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(35); +/* harmony import */ var content_src_components_CollapsibleSection_CollapsibleSection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(34); /* harmony import */ var content_src_components_ComponentPerfTimer_ComponentPerfTimer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(41); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(26); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _SearchShortcutsForm__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(43); -/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(58); -/* harmony import */ var _TopSiteForm__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(57); +/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(57); +/* harmony import */ var _TopSiteForm__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(59); /* harmony import */ var _TopSite__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(44); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } @@ -6043,21 +6053,21 @@ class SearchShortcutsForm extends react_ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSite", function() { return TopSite; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSitePlaceholder", function() { return TopSitePlaceholder; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_TopSiteList", function() { return _TopSiteList; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSiteList", function() { return TopSiteList; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _TopSitesConstants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(40); -/* harmony import */ var content_src_components_LinkMenu_LinkMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(31); +/* harmony import */ var content_src_components_LinkMenu_LinkMenu__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(30); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var content_src_lib_screenshot_utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(45); -/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(58); +/* harmony import */ var common_Reducers_jsm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(57); function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } @@ -7109,20 +7119,20 @@ const Search = Object(react_redux__WEBPA "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Section", function() { return Section; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SectionIntl", function() { return SectionIntl; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "_Sections", function() { return _Sections; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sections", function() { return Sections; }); /* harmony import */ var common_Actions_jsm__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(2); -/* harmony import */ var content_src_components_Card_Card__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(59); +/* harmony import */ var content_src_components_Card_Card__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(58); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4); /* harmony import */ var react_intl__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_intl__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var content_src_components_CollapsibleSection_CollapsibleSection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(35); +/* harmony import */ var content_src_components_CollapsibleSection_CollapsibleSection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(34); /* harmony import */ var content_src_components_ComponentPerfTimer_ComponentPerfTimer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(41); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(26); /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_5__); /* harmony import */ var content_src_components_MoreRecommendations_MoreRecommendations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(49); /* harmony import */ var content_src_components_PocketLoggedInCta_PocketLoggedInCta__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(50); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(11); /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_8__); /* harmony import */ var content_src_components_Topics_Topics__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(51); @@ -7679,19 +7689,16 @@ class DetectUserSessionStart { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./common/Actions.jsm var Actions = __webpack_require__(2); -// EXTERNAL MODULE: ./content-src/lib/clamp-total-lines.js -var clamp_total_lines = __webpack_require__(30); - // EXTERNAL MODULE: external "React" var external_React_ = __webpack_require__(11); var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); // EXTERNAL MODULE: external "ReactDOM" var external_ReactDOM_ = __webpack_require__(16); var external_ReactDOM_default = /*#__PURE__*/__webpack_require__.n(external_ReactDOM_); @@ -7756,24 +7763,26 @@ class DSImage_DSImage extends external_R let source; let source2x; if (this.state && this.state.containerWidth) { let baseSource = this.props.rawSource; source = this.reformatImageURL(baseSource, this.state.containerWidth, this.state.containerHeight); source2x = this.reformatImageURL(baseSource, this.state.containerWidth * 2, this.state.containerHeight * 2); img = external_React_default.a.createElement("img", { + alt: "", crossOrigin: "anonymous", onError: this.onOptimizedImageError, src: source, srcSet: `${source2x} 2x` }); } } else if (!this.state.nonOptimizedImageFailed) { img = external_React_default.a.createElement("img", { + alt: "", crossOrigin: "anonymous", onError: this.onNonOptimizedImageError, src: this.props.source }); } else { // Remove the img element if both sources fail. Render a placeholder instead. img = external_React_default.a.createElement("div", { className: "broken-image" @@ -7809,17 +7818,17 @@ DSImage_DSImage.defaultProps = { // Additional classnames to append to component optimize: true // Measure parent container to request exact sizes }; // EXTERNAL MODULE: external "ReactIntl" var external_ReactIntl_ = __webpack_require__(4); // EXTERNAL MODULE: ./content-src/components/LinkMenu/LinkMenu.jsx -var LinkMenu = __webpack_require__(31); +var LinkMenu = __webpack_require__(30); // CONCATENATED MODULE: ./content-src/components/DiscoveryStreamComponents/DSLinkMenu/DSLinkMenu.jsx class DSLinkMenu_DSLinkMenu extends external_React_default.a.PureComponent { constructor(props) { super(props); @@ -7903,17 +7912,17 @@ class DSLinkMenu_DSLinkMenu extends exte bookmarkGuid: this.props.bookmarkGuid } })); } } const DSLinkMenu = Object(external_ReactIntl_["injectIntl"])(DSLinkMenu_DSLinkMenu); // EXTERNAL MODULE: ./content-src/components/DiscoveryStreamImpressionStats/ImpressionStats.jsx -var ImpressionStats = __webpack_require__(34); +var ImpressionStats = __webpack_require__(33); // CONCATENATED MODULE: ./content-src/components/DiscoveryStreamComponents/SafeAnchor/SafeAnchor.jsx class SafeAnchor_SafeAnchor extends external_React_default.a.PureComponent { constructor(props) { super(props); this.onClick = this.onClick.bind(this); @@ -7988,17 +7997,16 @@ class SafeAnchor_SafeAnchor extends exte } // CONCATENATED MODULE: ./content-src/components/DiscoveryStreamComponents/DSCard/DSCard.jsx - class DSCard_DSCard extends external_React_default.a.PureComponent { constructor(props) { super(props); this.onLinkClick = this.onLinkClick.bind(this); } onLinkClick(event) { if (this.props.dispatch) { @@ -8030,25 +8038,21 @@ class DSCard_DSCard extends external_Rea className: "img-wrapper" }, external_React_default.a.createElement(DSImage_DSImage, { extraClassNames: "img", source: this.props.image_src, rawSource: this.props.raw_image_src })), external_React_default.a.createElement("div", { className: "meta" }, external_React_default.a.createElement("div", { - className: "info-wrap", - "data-total-lines": "7", - ref: clamp_total_lines["clampTotalLines"] + className: "info-wrap" }, external_React_default.a.createElement("p", { - className: "source clamp", - "data-clamp": "1" + className: "source clamp" }, this.props.source), external_React_default.a.createElement("header", { - className: "title clamp", - "data-clamp": "4" + className: "title clamp" }, this.props.title), this.props.excerpt && external_React_default.a.createElement("p", { className: "excerpt clamp" }, this.props.excerpt)), this.props.context && external_React_default.a.createElement("p", { className: "context" }, this.props.context)), external_React_default.a.createElement(ImpressionStats["ImpressionStats"], { campaignId: this.props.campaignId, rows: [{ id: this.props.id, @@ -8151,17 +8155,17 @@ class CardGrid_CardGrid extends external } CardGrid_CardGrid.defaultProps = { border: `border`, items: 4 // Number of stories to display }; // EXTERNAL MODULE: ./content-src/components/CollapsibleSection/CollapsibleSection.jsx -var CollapsibleSection = __webpack_require__(35); +var CollapsibleSection = __webpack_require__(34); // EXTERNAL MODULE: external "ReactRedux" var external_ReactRedux_ = __webpack_require__(26); // CONCATENATED MODULE: ./content-src/components/DiscoveryStreamComponents/DSMessage/DSMessage.jsx class DSMessage_DSMessage extends external_React_default.a.PureComponent { @@ -8188,17 +8192,16 @@ class DSMessage_DSMessage extends extern - /** * @note exported for testing only */ class List_ListItem extends external_React_default.a.PureComponent { // TODO performance: get feeds to send appropriately sized images rather // than waiting longer and scaling down on client? constructor(props) { @@ -8229,25 +8232,22 @@ class List_ListItem extends external_Rea className: `ds-list-item${this.props.placeholder ? " placeholder" : ""}` }, external_React_default.a.createElement(SafeAnchor_SafeAnchor, { className: "ds-list-item-link", dispatch: this.props.dispatch, onLinkClick: !this.props.placeholder ? this.onLinkClick : undefined, url: this.props.url }, external_React_default.a.createElement("div", { className: "ds-list-item-text" - }, external_React_default.a.createElement("div", { - "data-total-lines": "4", - ref: clamp_total_lines["clampTotalLines"] - }, external_React_default.a.createElement("div", { + }, external_React_default.a.createElement("div", null, external_React_default.a.createElement("div", { className: "ds-list-item-title clamp" }, this.props.title), this.props.excerpt && external_React_default.a.createElement("div", { className: "ds-list-item-excerpt clamp" }, this.props.excerpt)), external_React_default.a.createElement("p", null, this.props.context && external_React_default.a.createElement("span", null, external_React_default.a.createElement("span", { - className: "ds-list-item-context" + className: "ds-list-item-context clamp" }, this.props.context), external_React_default.a.createElement("br", null)), external_React_default.a.createElement("span", { className: "ds-list-item-info clamp" }, this.props.domain))), external_React_default.a.createElement(DSImage_DSImage, { extraClassNames: "ds-list-image", source: this.props.image_src, rawSource: this.props.raw_image_src }), external_React_default.a.createElement(ImpressionStats["ImpressionStats"], { campaignId: this.props.campaignId, @@ -8349,17 +8349,16 @@ const List = Object(external_ReactRedux_ - class Hero_Hero extends external_React_default.a.PureComponent { constructor(props) { super(props); this.onLinkClick = this.onLinkClick.bind(this); } onLinkClick(event) { if (this.props.dispatch) { @@ -8422,27 +8421,23 @@ class Hero_Hero extends external_React_d className: "img-wrapper" }, external_React_default.a.createElement(DSImage_DSImage, { extraClassNames: "img", source: heroRec.image_src, rawSource: heroRec.raw_image_src })), external_React_default.a.createElement("div", { className: "meta" }, external_React_default.a.createElement("div", { - className: "header-and-excerpt", - "data-total-lines": "7", - ref: clamp_total_lines["clampTotalLines"] + className: "header-and-excerpt" }, heroRec.context ? external_React_default.a.createElement("p", { className: "context" }, heroRec.context) : external_React_default.a.createElement("p", { - className: "source clamp", - "data-clamp": "1" + className: "source clamp" }, heroRec.domain), external_React_default.a.createElement("header", { - className: "clamp", - "data-clamp": "4" + className: "clamp" }, heroRec.title), external_React_default.a.createElement("p", { className: "excerpt clamp" }, heroRec.excerpt))), external_React_default.a.createElement(ImpressionStats["ImpressionStats"], { campaignId: heroRec.campaignId, rows: [{ id: heroRec.id, pos: heroRec.pos }], @@ -12865,470 +12860,16 @@ localized_Localized.propTypes = { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./common/Actions.jsm var Actions = __webpack_require__(2); -// EXTERNAL MODULE: external "React" -var external_React_ = __webpack_require__(11); -var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); - -// CONCATENATED MODULE: ./content-src/components/A11yLinkButton/A11yLinkButton.jsx -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - -function A11yLinkButton(props) { - // function for merging classes, if necessary - let className = "a11y-link-button"; - - if (props.className) { - className += ` ${props.className}`; - } - - return external_React_default.a.createElement("button", _extends({ - type: "button" - }, props, { - className: className - }), props.children); -} -// EXTERNAL MODULE: external "ReactIntl" -var external_ReactIntl_ = __webpack_require__(4); - -// EXTERNAL MODULE: ./content-src/components/TopSites/TopSitesConstants.js -var TopSitesConstants = __webpack_require__(40); - -// CONCATENATED MODULE: ./content-src/components/TopSites/TopSiteFormInput.jsx - - -class TopSiteFormInput_TopSiteFormInput extends external_React_default.a.PureComponent { - constructor(props) { - super(props); - this.state = { - validationError: this.props.validationError - }; - this.onChange = this.onChange.bind(this); - this.onMount = this.onMount.bind(this); - this.onClearIconPress = this.onClearIconPress.bind(this); - } - - componentWillReceiveProps(nextProps) { - if (nextProps.shouldFocus && !this.props.shouldFocus) { - this.input.focus(); - } - - if (nextProps.validationError && !this.props.validationError) { - this.setState({ - validationError: true - }); - } // If the component is in an error state but the value was cleared by the parent - - - if (this.state.validationError && !nextProps.value) { - this.setState({ - validationError: false - }); - } - } - - onClearIconPress(event) { - // If there is input in the URL or custom image URL fields, - // and we hit 'enter' while tabbed over the clear icon, - // we should execute the function to clear the field. - if (event.key === "Enter") { - this.props.onClear(); - } - } - - onChange(ev) { - if (this.state.validationError) { - this.setState({ - validationError: false - }); - } - - this.props.onChange(ev); - } - - onMount(input) { - this.input = input; - } - - renderLoadingOrCloseButton() { - const showClearButton = this.props.value && this.props.onClear; - - if (this.props.loading) { - return external_React_default.a.createElement("div", { - className: "loading-container" - }, external_React_default.a.createElement("div", { - className: "loading-animation" - })); - } else if (showClearButton) { - return external_React_default.a.createElement("button", { - type: "button", - className: "icon icon-clear-input icon-button-style", - onClick: this.props.onClear, - onKeyPress: this.onClearIconPress - }); - } - - return null; - } - - render() { - const { - typeUrl - } = this.props; - const { - validationError - } = this.state; - return external_React_default.a.createElement("label", null, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: this.props.titleId - }), external_React_default.a.createElement("div", { - className: `field ${typeUrl ? "url" : ""}${validationError ? " invalid" : ""}` - }, external_React_default.a.createElement("input", { - type: "text", - value: this.props.value, - ref: this.onMount, - onChange: this.onChange, - placeholder: this.props.intl.formatMessage({ - id: this.props.placeholderId - }) // Set focus on error if the url field is valid or when the input is first rendered and is empty - // eslint-disable-next-line jsx-a11y/no-autofocus - , - autoFocus: this.props.shouldFocus, - disabled: this.props.loading - }), this.renderLoadingOrCloseButton(), validationError && external_React_default.a.createElement("aside", { - className: "error-tooltip" - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: this.props.errorMessageId - })))); - } - -} -TopSiteFormInput_TopSiteFormInput.defaultProps = { - showClearButton: false, - value: "", - validationError: false -}; -// EXTERNAL MODULE: ./content-src/components/TopSites/TopSite.jsx -var TopSite = __webpack_require__(44); - -// CONCATENATED MODULE: ./content-src/components/TopSites/TopSiteForm.jsx -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSiteForm", function() { return TopSiteForm_TopSiteForm; }); - - - - - - - -class TopSiteForm_TopSiteForm extends external_React_default.a.PureComponent { - constructor(props) { - super(props); - const { - site - } = props; - this.state = { - label: site ? site.label || site.hostname : "", - url: site ? site.url : "", - validationError: false, - customScreenshotUrl: site ? site.customScreenshotURL : "", - showCustomScreenshotForm: site ? site.customScreenshotURL : false - }; - this.onClearScreenshotInput = this.onClearScreenshotInput.bind(this); - this.onLabelChange = this.onLabelChange.bind(this); - this.onUrlChange = this.onUrlChange.bind(this); - this.onCancelButtonClick = this.onCancelButtonClick.bind(this); - this.onClearUrlClick = this.onClearUrlClick.bind(this); - this.onDoneButtonClick = this.onDoneButtonClick.bind(this); - this.onCustomScreenshotUrlChange = this.onCustomScreenshotUrlChange.bind(this); - this.onPreviewButtonClick = this.onPreviewButtonClick.bind(this); - this.onEnableScreenshotUrlForm = this.onEnableScreenshotUrlForm.bind(this); - this.validateUrl = this.validateUrl.bind(this); - } - - onLabelChange(event) { - this.setState({ - "label": event.target.value - }); - } - - onUrlChange(event) { - this.setState({ - url: event.target.value, - validationError: false - }); - } - - onClearUrlClick() { - this.setState({ - url: "", - validationError: false - }); - } - - onEnableScreenshotUrlForm() { - this.setState({ - showCustomScreenshotForm: true - }); - } - - _updateCustomScreenshotInput(customScreenshotUrl) { - this.setState({ - customScreenshotUrl, - validationError: false - }); - this.props.dispatch({ - type: Actions["actionTypes"].PREVIEW_REQUEST_CANCEL - }); - } - - onCustomScreenshotUrlChange(event) { - this._updateCustomScreenshotInput(event.target.value); - } - - onClearScreenshotInput() { - this._updateCustomScreenshotInput(""); - } - - onCancelButtonClick(ev) { - ev.preventDefault(); - this.props.onClose(); - } - - onDoneButtonClick(ev) { - ev.preventDefault(); - - if (this.validateForm()) { - const site = { - url: this.cleanUrl(this.state.url) - }; - const { - index - } = this.props; - - if (this.state.label !== "") { - site.label = this.state.label; - } - - if (this.state.customScreenshotUrl) { - site.customScreenshotURL = this.cleanUrl(this.state.customScreenshotUrl); - } else if (this.props.site && this.props.site.customScreenshotURL) { - // Used to flag that previously cached screenshot should be removed - site.customScreenshotURL = null; - } - - this.props.dispatch(Actions["actionCreators"].AlsoToMain({ - type: Actions["actionTypes"].TOP_SITES_PIN, - data: { - site, - index - } - })); - this.props.dispatch(Actions["actionCreators"].UserEvent({ - source: TopSitesConstants["TOP_SITES_SOURCE"], - event: "TOP_SITES_EDIT", - action_position: index - })); - this.props.onClose(); - } - } - - onPreviewButtonClick(event) { - event.preventDefault(); - - if (this.validateForm()) { - this.props.dispatch(Actions["actionCreators"].AlsoToMain({ - type: Actions["actionTypes"].PREVIEW_REQUEST, - data: { - url: this.cleanUrl(this.state.customScreenshotUrl) - } - })); - this.props.dispatch(Actions["actionCreators"].UserEvent({ - source: TopSitesConstants["TOP_SITES_SOURCE"], - event: "PREVIEW_REQUEST" - })); - } - } - - cleanUrl(url) { - // If we are missing a protocol, prepend http:// - if (!url.startsWith("http:") && !url.startsWith("https:")) { - return `http://${url}`; - } - - return url; - } - - _tryParseUrl(url) { - try { - return new URL(url); - } catch (e) { - return null; - } - } - - validateUrl(url) { - const validProtocols = ["http:", "https:"]; - - const urlObj = this._tryParseUrl(url) || this._tryParseUrl(this.cleanUrl(url)); - - return urlObj && validProtocols.includes(urlObj.protocol); - } - - validateCustomScreenshotUrl() { - const { - customScreenshotUrl - } = this.state; - return !customScreenshotUrl || this.validateUrl(customScreenshotUrl); - } - - validateForm() { - const validate = this.validateUrl(this.state.url) && this.validateCustomScreenshotUrl(); - - if (!validate) { - this.setState({ - validationError: true - }); - } - - return validate; - } - - _renderCustomScreenshotInput() { - const { - customScreenshotUrl - } = this.state; - const requestFailed = this.props.previewResponse === ""; - const validationError = this.state.validationError && !this.validateCustomScreenshotUrl() || requestFailed; // Set focus on error if the url field is valid or when the input is first rendered and is empty - - const shouldFocus = validationError && this.validateUrl(this.state.url) || !customScreenshotUrl; - const isLoading = this.props.previewResponse === null && customScreenshotUrl && this.props.previewUrl === this.cleanUrl(customScreenshotUrl); - - if (!this.state.showCustomScreenshotForm) { - return external_React_default.a.createElement(A11yLinkButton, { - onClick: this.onEnableScreenshotUrlForm, - className: "enable-custom-image-input" - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: "topsites_form_use_image_link" - })); - } - - return external_React_default.a.createElement("div", { - className: "custom-image-input-container" - }, external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { - errorMessageId: requestFailed ? "topsites_form_image_validation" : "topsites_form_url_validation", - loading: isLoading, - onChange: this.onCustomScreenshotUrlChange, - onClear: this.onClearScreenshotInput, - shouldFocus: shouldFocus, - typeUrl: true, - value: customScreenshotUrl, - validationError: validationError, - titleId: "topsites_form_image_url_label", - placeholderId: "topsites_form_url_placeholder", - intl: this.props.intl - })); - } - - render() { - const { - customScreenshotUrl - } = this.state; - const requestFailed = this.props.previewResponse === ""; // For UI purposes, editing without an existing link is "add" - - const showAsAdd = !this.props.site; - const previous = this.props.site && this.props.site.customScreenshotURL || ""; - const changed = customScreenshotUrl && this.cleanUrl(customScreenshotUrl) !== previous; // Preview mode if changes were made to the custom screenshot URL and no preview was received yet - // or the request failed - - const previewMode = changed && !this.props.previewResponse; - const previewLink = Object.assign({}, this.props.site); - - if (this.props.previewResponse) { - previewLink.screenshot = this.props.previewResponse; - previewLink.customScreenshotURL = this.props.previewUrl; - } // Handles the form submit so an enter press performs the correct action - - - const onSubmit = previewMode ? this.onPreviewButtonClick : this.onDoneButtonClick; - return external_React_default.a.createElement("form", { - className: "topsite-form", - onSubmit: onSubmit - }, external_React_default.a.createElement("div", { - className: "form-input-container" - }, external_React_default.a.createElement("h3", { - className: "section-title" - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: showAsAdd ? "topsites_form_add_header" : "topsites_form_edit_header" - })), external_React_default.a.createElement("div", { - className: "fields-and-preview" - }, external_React_default.a.createElement("div", { - className: "form-wrapper" - }, external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { - onChange: this.onLabelChange, - value: this.state.label, - titleId: "topsites_form_title_label", - placeholderId: "topsites_form_title_placeholder", - intl: this.props.intl - }), external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { - onChange: this.onUrlChange, - shouldFocus: this.state.validationError && !this.validateUrl(this.state.url), - value: this.state.url, - onClear: this.onClearUrlClick, - validationError: this.state.validationError && !this.validateUrl(this.state.url), - titleId: "topsites_form_url_label", - typeUrl: true, - placeholderId: "topsites_form_url_placeholder", - errorMessageId: "topsites_form_url_validation", - intl: this.props.intl - }), this._renderCustomScreenshotInput()), external_React_default.a.createElement(TopSite["TopSiteLink"], { - link: previewLink, - defaultStyle: requestFailed, - title: this.state.label - }))), external_React_default.a.createElement("section", { - className: "actions" - }, external_React_default.a.createElement("button", { - className: "cancel", - type: "button", - onClick: this.onCancelButtonClick - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: "topsites_form_cancel_button" - })), previewMode ? external_React_default.a.createElement("button", { - className: "done preview", - type: "submit" - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: "topsites_form_preview_button" - })) : external_React_default.a.createElement("button", { - className: "done", - type: "submit" - }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { - id: showAsAdd ? "topsites_form_add_button" : "topsites_form_save_button" - })))); - } - -} -TopSiteForm_TopSiteForm.defaultProps = { - site: null, - index: -1 -}; - -/***/ }), -/* 58 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - -// EXTERNAL MODULE: ./common/Actions.jsm -var Actions = __webpack_require__(2); - // CONCATENATED MODULE: ./common/Dedupe.jsm class Dedupe { constructor(createKey) { this.createKey = createKey || this.defaultCreateKey; } defaultCreateKey(item) { return item; @@ -14158,17 +13699,17 @@ var reducers = { Dialog, Sections, Pocket, DiscoveryStream, Search }; /***/ }), -/* 59 */ +/* 58 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); // EXTERNAL MODULE: ./common/Actions.jsm var Actions = __webpack_require__(2); @@ -14201,20 +13742,20 @@ const cardContextTypes = { intlID: "type_label_downloaded", icon: "download" } }; // EXTERNAL MODULE: external "ReactRedux" var external_ReactRedux_ = __webpack_require__(26); // EXTERNAL MODULE: ./content-src/lib/link-menu-options.js -var link_menu_options = __webpack_require__(33); +var link_menu_options = __webpack_require__(32); // EXTERNAL MODULE: ./content-src/components/LinkMenu/LinkMenu.jsx -var LinkMenu = __webpack_require__(31); +var LinkMenu = __webpack_require__(30); // EXTERNAL MODULE: external "React" var external_React_ = __webpack_require__(11); var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); // EXTERNAL MODULE: ./content-src/lib/screenshot-utils.js var screenshot_utils = __webpack_require__(45); @@ -14549,10 +14090,449 @@ Card_Card.defaultProps = { const Card = Object(external_ReactRedux_["connect"])(state => ({ platform: state.Prefs.values.platform }))(Object(external_ReactIntl_["injectIntl"])(Card_Card)); const PlaceholderCard = props => external_React_default.a.createElement(Card, { placeholder: true, className: props.className }); +/***/ }), +/* 59 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./common/Actions.jsm +var Actions = __webpack_require__(2); + +// EXTERNAL MODULE: ./content-src/components/A11yLinkButton/A11yLinkButton.jsx +var A11yLinkButton = __webpack_require__(36); + +// EXTERNAL MODULE: external "ReactIntl" +var external_ReactIntl_ = __webpack_require__(4); + +// EXTERNAL MODULE: external "React" +var external_React_ = __webpack_require__(11); +var external_React_default = /*#__PURE__*/__webpack_require__.n(external_React_); + +// EXTERNAL MODULE: ./content-src/components/TopSites/TopSitesConstants.js +var TopSitesConstants = __webpack_require__(40); + +// CONCATENATED MODULE: ./content-src/components/TopSites/TopSiteFormInput.jsx + + +class TopSiteFormInput_TopSiteFormInput extends external_React_default.a.PureComponent { + constructor(props) { + super(props); + this.state = { + validationError: this.props.validationError + }; + this.onChange = this.onChange.bind(this); + this.onMount = this.onMount.bind(this); + this.onClearIconPress = this.onClearIconPress.bind(this); + } + + componentWillReceiveProps(nextProps) { + if (nextProps.shouldFocus && !this.props.shouldFocus) { + this.input.focus(); + } + + if (nextProps.validationError && !this.props.validationError) { + this.setState({ + validationError: true + }); + } // If the component is in an error state but the value was cleared by the parent + + + if (this.state.validationError && !nextProps.value) { + this.setState({ + validationError: false + }); + } + } + + onClearIconPress(event) { + // If there is input in the URL or custom image URL fields, + // and we hit 'enter' while tabbed over the clear icon, + // we should execute the function to clear the field. + if (event.key === "Enter") { + this.props.onClear(); + } + } + + onChange(ev) { + if (this.state.validationError) { + this.setState({ + validationError: false + }); + } + + this.props.onChange(ev); + } + + onMount(input) { + this.input = input; + } + + renderLoadingOrCloseButton() { + const showClearButton = this.props.value && this.props.onClear; + + if (this.props.loading) { + return external_React_default.a.createElement("div", { + className: "loading-container" + }, external_React_default.a.createElement("div", { + className: "loading-animation" + })); + } else if (showClearButton) { + return external_React_default.a.createElement("button", { + type: "button", + className: "icon icon-clear-input icon-button-style", + onClick: this.props.onClear, + onKeyPress: this.onClearIconPress + }); + } + + return null; + } + + render() { + const { + typeUrl + } = this.props; + const { + validationError + } = this.state; + return external_React_default.a.createElement("label", null, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: this.props.titleId + }), external_React_default.a.createElement("div", { + className: `field ${typeUrl ? "url" : ""}${validationError ? " invalid" : ""}` + }, external_React_default.a.createElement("input", { + type: "text", + value: this.props.value, + ref: this.onMount, + onChange: this.onChange, + placeholder: this.props.intl.formatMessage({ + id: this.props.placeholderId + }) // Set focus on error if the url field is valid or when the input is first rendered and is empty + // eslint-disable-next-line jsx-a11y/no-autofocus + , + autoFocus: this.props.shouldFocus, + disabled: this.props.loading + }), this.renderLoadingOrCloseButton(), validationError && external_React_default.a.createElement("aside", { + className: "error-tooltip" + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: this.props.errorMessageId + })))); + } + +} +TopSiteFormInput_TopSiteFormInput.defaultProps = { + showClearButton: false, + value: "", + validationError: false +}; +// EXTERNAL MODULE: ./content-src/components/TopSites/TopSite.jsx +var TopSite = __webpack_require__(44); + +// CONCATENATED MODULE: ./content-src/components/TopSites/TopSiteForm.jsx +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TopSiteForm", function() { return TopSiteForm_TopSiteForm; }); + + + + + + + +class TopSiteForm_TopSiteForm extends external_React_default.a.PureComponent { + constructor(props) { + super(props); + const { + site + } = props; + this.state = { + label: site ? site.label || site.hostname : "", + url: site ? site.url : "", + validationError: false, + customScreenshotUrl: site ? site.customScreenshotURL : "", + showCustomScreenshotForm: site ? site.customScreenshotURL : false + }; + this.onClearScreenshotInput = this.onClearScreenshotInput.bind(this); + this.onLabelChange = this.onLabelChange.bind(this); + this.onUrlChange = this.onUrlChange.bind(this); + this.onCancelButtonClick = this.onCancelButtonClick.bind(this); + this.onClearUrlClick = this.onClearUrlClick.bind(this); + this.onDoneButtonClick = this.onDoneButtonClick.bind(this); + this.onCustomScreenshotUrlChange = this.onCustomScreenshotUrlChange.bind(this); + this.onPreviewButtonClick = this.onPreviewButtonClick.bind(this); + this.onEnableScreenshotUrlForm = this.onEnableScreenshotUrlForm.bind(this); + this.validateUrl = this.validateUrl.bind(this); + } + + onLabelChange(event) { + this.setState({ + "label": event.target.value + }); + } + + onUrlChange(event) { + this.setState({ + url: event.target.value, + validationError: false + }); + } + + onClearUrlClick() { + this.setState({ + url: "", + validationError: false + }); + } + + onEnableScreenshotUrlForm() { + this.setState({ + showCustomScreenshotForm: true + }); + } + + _updateCustomScreenshotInput(customScreenshotUrl) { + this.setState({ + customScreenshotUrl, + validationError: false + }); + this.props.dispatch({ + type: Actions["actionTypes"].PREVIEW_REQUEST_CANCEL + }); + } + + onCustomScreenshotUrlChange(event) { + this._updateCustomScreenshotInput(event.target.value); + } + + onClearScreenshotInput() { + this._updateCustomScreenshotInput(""); + } + + onCancelButtonClick(ev) { + ev.preventDefault(); + this.props.onClose(); + } + + onDoneButtonClick(ev) { + ev.preventDefault(); + + if (this.validateForm()) { + const site = { + url: this.cleanUrl(this.state.url) + }; + const { + index + } = this.props; + + if (this.state.label !== "") { + site.label = this.state.label; + } + + if (this.state.customScreenshotUrl) { + site.customScreenshotURL = this.cleanUrl(this.state.customScreenshotUrl); + } else if (this.props.site && this.props.site.customScreenshotURL) { + // Used to flag that previously cached screenshot should be removed + site.customScreenshotURL = null; + } + + this.props.dispatch(Actions["actionCreators"].AlsoToMain({ + type: Actions["actionTypes"].TOP_SITES_PIN, + data: { + site, + index + } + })); + this.props.dispatch(Actions["actionCreators"].UserEvent({ + source: TopSitesConstants["TOP_SITES_SOURCE"], + event: "TOP_SITES_EDIT", + action_position: index + })); + this.props.onClose(); + } + } + + onPreviewButtonClick(event) { + event.preventDefault(); + + if (this.validateForm()) { + this.props.dispatch(Actions["actionCreators"].AlsoToMain({ + type: Actions["actionTypes"].PREVIEW_REQUEST, + data: { + url: this.cleanUrl(this.state.customScreenshotUrl) + } + })); + this.props.dispatch(Actions["actionCreators"].UserEvent({ + source: TopSitesConstants["TOP_SITES_SOURCE"], + event: "PREVIEW_REQUEST" + })); + } + } + + cleanUrl(url) { + // If we are missing a protocol, prepend http:// + if (!url.startsWith("http:") && !url.startsWith("https:")) { + return `http://${url}`; + } + + return url; + } + + _tryParseUrl(url) { + try { + return new URL(url); + } catch (e) { + return null; + } + } + + validateUrl(url) { + const validProtocols = ["http:", "https:"]; + + const urlObj = this._tryParseUrl(url) || this._tryParseUrl(this.cleanUrl(url)); + + return urlObj && validProtocols.includes(urlObj.protocol); + } + + validateCustomScreenshotUrl() { + const { + customScreenshotUrl + } = this.state; + return !customScreenshotUrl || this.validateUrl(customScreenshotUrl); + } + + validateForm() { + const validate = this.validateUrl(this.state.url) && this.validateCustomScreenshotUrl(); + + if (!validate) { + this.setState({ + validationError: true + }); + } + + return validate; + } + + _renderCustomScreenshotInput() { + const { + customScreenshotUrl + } = this.state; + const requestFailed = this.props.previewResponse === ""; + const validationError = this.state.validationError && !this.validateCustomScreenshotUrl() || requestFailed; // Set focus on error if the url field is valid or when the input is first rendered and is empty + + const shouldFocus = validationError && this.validateUrl(this.state.url) || !customScreenshotUrl; + const isLoading = this.props.previewResponse === null && customScreenshotUrl && this.props.previewUrl === this.cleanUrl(customScreenshotUrl); + + if (!this.state.showCustomScreenshotForm) { + return external_React_default.a.createElement(A11yLinkButton["A11yLinkButton"], { + onClick: this.onEnableScreenshotUrlForm, + className: "enable-custom-image-input" + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: "topsites_form_use_image_link" + })); + } + + return external_React_default.a.createElement("div", { + className: "custom-image-input-container" + }, external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { + errorMessageId: requestFailed ? "topsites_form_image_validation" : "topsites_form_url_validation", + loading: isLoading, + onChange: this.onCustomScreenshotUrlChange, + onClear: this.onClearScreenshotInput, + shouldFocus: shouldFocus, + typeUrl: true, + value: customScreenshotUrl, + validationError: validationError, + titleId: "topsites_form_image_url_label", + placeholderId: "topsites_form_url_placeholder", + intl: this.props.intl + })); + } + + render() { + const { + customScreenshotUrl + } = this.state; + const requestFailed = this.props.previewResponse === ""; // For UI purposes, editing without an existing link is "add" + + const showAsAdd = !this.props.site; + const previous = this.props.site && this.props.site.customScreenshotURL || ""; + const changed = customScreenshotUrl && this.cleanUrl(customScreenshotUrl) !== previous; // Preview mode if changes were made to the custom screenshot URL and no preview was received yet + // or the request failed + + const previewMode = changed && !this.props.previewResponse; + const previewLink = Object.assign({}, this.props.site); + + if (this.props.previewResponse) { + previewLink.screenshot = this.props.previewResponse; + previewLink.customScreenshotURL = this.props.previewUrl; + } // Handles the form submit so an enter press performs the correct action + + + const onSubmit = previewMode ? this.onPreviewButtonClick : this.onDoneButtonClick; + return external_React_default.a.createElement("form", { + className: "topsite-form", + onSubmit: onSubmit + }, external_React_default.a.createElement("div", { + className: "form-input-container" + }, external_React_default.a.createElement("h3", { + className: "section-title" + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: showAsAdd ? "topsites_form_add_header" : "topsites_form_edit_header" + })), external_React_default.a.createElement("div", { + className: "fields-and-preview" + }, external_React_default.a.createElement("div", { + className: "form-wrapper" + }, external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { + onChange: this.onLabelChange, + value: this.state.label, + titleId: "topsites_form_title_label", + placeholderId: "topsites_form_title_placeholder", + intl: this.props.intl + }), external_React_default.a.createElement(TopSiteFormInput_TopSiteFormInput, { + onChange: this.onUrlChange, + shouldFocus: this.state.validationError && !this.validateUrl(this.state.url), + value: this.state.url, + onClear: this.onClearUrlClick, + validationError: this.state.validationError && !this.validateUrl(this.state.url), + titleId: "topsites_form_url_label", + typeUrl: true, + placeholderId: "topsites_form_url_placeholder", + errorMessageId: "topsites_form_url_validation", + intl: this.props.intl + }), this._renderCustomScreenshotInput()), external_React_default.a.createElement(TopSite["TopSiteLink"], { + link: previewLink, + defaultStyle: requestFailed, + title: this.state.label + }))), external_React_default.a.createElement("section", { + className: "actions" + }, external_React_default.a.createElement("button", { + className: "cancel", + type: "button", + onClick: this.onCancelButtonClick + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: "topsites_form_cancel_button" + })), previewMode ? external_React_default.a.createElement("button", { + className: "done preview", + type: "submit" + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: "topsites_form_preview_button" + })) : external_React_default.a.createElement("button", { + className: "done", + type: "submit" + }, external_React_default.a.createElement(external_ReactIntl_["FormattedMessage"], { + id: showAsAdd ? "topsites_form_add_button" : "topsites_form_save_button" + })))); + } + +} +TopSiteForm_TopSiteForm.defaultProps = { + site: null, + index: -1 +}; + /***/ }) /******/ ]); \ No newline at end of file
--- a/browser/components/newtab/lib/ASRouterPreferences.jsm +++ b/browser/components/newtab/lib/ASRouterPreferences.jsm @@ -12,21 +12,16 @@ const FXA_USERNAME_PREF = "services.sync const DEFAULT_STATE = { _initialized: false, _providers: null, _providerPrefBranch: PROVIDER_PREF_BRANCH, _devtoolsEnabled: null, _devtoolsPref: DEVTOOLS_PREF, }; -const MIGRATE_PREFS = [ - // Old pref, New pref - ["browser.newtabpage.activity-stream.asrouter.userprefs.cfr", "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons"], -]; - const USER_PREFERENCES = { snippets: "browser.newtabpage.activity-stream.feeds.snippets", cfrAddons: "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", cfrFeatures: "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", }; // Preferences that influence targeting attributes. When these change we need // to re-evaluate if the message targeting still matches @@ -61,34 +56,16 @@ class _ASRouterPreferences { } if (value) { filtered.push(value); } return filtered; }, []); } - // XXX Bug 1531734 - // Required for 67 when the pref change will happen - _migratePrefs() { - for (let [oldPref, newPref] of MIGRATE_PREFS) { - if (!Services.prefs.prefHasUserValue(oldPref)) { - continue; - } - if (Services.prefs.prefHasUserValue(newPref)) { - Services.prefs.clearUserPref(oldPref); - continue; - } - // If the pref was user modified we assume it was set to false - const oldValue = Services.prefs.getBoolPref(oldPref, false); - Services.prefs.clearUserPref(oldPref); - Services.prefs.setBoolPref(newPref, oldValue); - } - } - get providers() { if (!this._initialized || this._providers === null) { const config = this._getProviderConfig(); const providers = config.map(provider => Object.freeze(provider)); if (this.devtoolsEnabled) { providers.unshift(...TEST_PROVIDERS); } this._providers = Object.freeze(providers); @@ -163,17 +140,16 @@ class _ASRouterPreferences { removeListener(callback) { this._callbacks.delete(callback); } init() { if (this._initialized) { return; } - this._migratePrefs(); Services.prefs.addObserver(this._providerPrefBranch, this); Services.prefs.addObserver(this._devtoolsPref, this); for (const id of Object.keys(USER_PREFERENCES)) { Services.prefs.addObserver(USER_PREFERENCES[id], this); } for (const targetingPref of TARGETING_PREFERENCES) { Services.prefs.addObserver(targetingPref, this); }
--- a/browser/components/newtab/lib/ActivityStream.jsm +++ b/browser/components/newtab/lib/ActivityStream.jsm @@ -363,17 +363,16 @@ this.ActivityStream = class ActivityStre this.initialized = false; this.store = new Store(); this.feeds = FEEDS_CONFIG; this._defaultPrefs = new DefaultPrefs(PREFS_CONFIG); } init() { try { - this._migratePrefs(); this._updateDynamicPrefs(); this._defaultPrefs.init(); // Hook up the store and let all feeds and pages initialize this.store.init(this.feeds, ac.BroadcastToContent({ type: at.INIT, data: {}, }), {type: at.UNINIT}); @@ -417,39 +416,16 @@ this.ActivityStream = class ActivityStre break; } // Give the callback the current value then clear the pref cbIfNotDefault(Services.prefs[prefGetter](oldPrefName)); Services.prefs.clearUserPref(oldPrefName); } - _migratePrefs() { - // Do a one time migration of Tiles about:newtab prefs that have been modified - this._migratePref("browser.newtabpage.rows", rows => { - // Just disable top sites if rows are not desired - if (rows <= 0) { - Services.prefs.setBoolPref("browser.newtabpage.activity-stream.feeds.topsites", false); - } else { - Services.prefs.setIntPref("browser.newtabpage.activity-stream.topSitesRows", rows); - } - }); - - this._migratePref("browser.newtabpage.activity-stream.showTopSites", value => { - if (value === false) { - Services.prefs.setBoolPref("browser.newtabpage.activity-stream.feeds.topsites", false); - } - }); - - // Old activity stream topSitesCount pref showed 6 per row - this._migratePref("browser.newtabpage.activity-stream.topSitesCount", count => { - Services.prefs.setIntPref("browser.newtabpage.activity-stream.topSitesRows", Math.ceil(count / 6)); - }); - } - uninit() { if (this.geo === "") { Services.prefs.removeObserver(GEO_PREF, this); } this.store.uninit(); this.initialized = false; }
--- a/browser/components/newtab/lib/PrefsFeed.jsm +++ b/browser/components/newtab/lib/PrefsFeed.jsm @@ -9,27 +9,16 @@ const {PrerenderData} = ChromeUtils.impo const {Services} = ChromeUtils.import("resource://gre/modules/Services.jsm"); ChromeUtils.defineModuleGetter(this, "PrivateBrowsingUtils", "resource://gre/modules/PrivateBrowsingUtils.jsm"); ChromeUtils.defineModuleGetter(this, "AppConstants", "resource://gre/modules/AppConstants.jsm"); -// List of prefs that require migration to indexedDB. -// Object key is the name of the pref in indexedDB, each will contain a -// map (key: name of preference to migrate, value: name of component). -const PREF_MIGRATION = { - collapsed: new Map([ - ["collapseTopSites", "topsites"], - ["section.highlights.collapsed", "highlights"], - ["section.topstories.collapsed", "topstories"], - ]), -}; - this.PrefsFeed = class PrefsFeed { constructor(prefMap) { this._prefMap = prefMap; this._prefs = new Prefs(); } // If any of the prefs are set to something other than what the // prerendered version of AS expects, we can't use it. @@ -49,30 +38,16 @@ this.PrefsFeed = class PrefsFeed { const prefItem = this._prefMap.get(name); if (prefItem) { this.store.dispatch(ac[prefItem.skipBroadcast ? "OnlyToMain" : "BroadcastToContent"]({type: at.PREF_CHANGED, data: {name, value}})); } this._checkPrerender(name); } - _migratePrefs() { - for (const indexedDBPref of Object.keys(PREF_MIGRATION)) { - for (const migratePref of PREF_MIGRATION[indexedDBPref].keys()) { - // Check if pref exists (if the user changed the default) - if (this._prefs.get(migratePref, null) === true) { - const data = {id: PREF_MIGRATION[indexedDBPref].get(migratePref), value: {}}; - data.value[indexedDBPref] = true; - this.store.dispatch(ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data})); - this._prefs.reset(migratePref); - } - } - } - } - init() { this._prefs.observeBranch(this); this._storage = this.store.dbStorage.getDbTable("sectionPrefs"); // Get the initial value of each activity stream pref const values = {}; for (const name of this._prefMap.keys()) { values[name] = this._prefs.get(name); @@ -99,17 +74,16 @@ this.PrefsFeed = class PrefsFeed { let handoffToAwesomebarPrefValue = Services.prefs.getBoolPref( "browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar"); values["improvesearch.handoffToAwesomebar"] = handoffToAwesomebarPrefValue; this._prefMap.set("improvesearch.handoffToAwesomebar", {value: handoffToAwesomebarPrefValue}); // Set the initial state of all prefs in redux this.store.dispatch(ac.BroadcastToContent({type: at.PREFS_INITIAL_VALUES, data: values})); - this._migratePrefs(); this._setPrerenderPref(); } removeListeners() { this._prefs.ignoreBranch(this); } async _setIndexedDBPref(id, value) {
--- a/browser/components/newtab/locales-src/th/strings.properties +++ b/browser/components/newtab/locales-src/th/strings.properties @@ -88,16 +88,17 @@ section_disclaimer_topstories_buttontext=ตกลง เข้าใจแล้ว # for a "Firefox Home" section. "Firefox" should be treated as a brand and kept # in English, while "Home" should be localized matching the about:preferences # sidebar mozilla-central string for the panel that has preferences related to # what is shown for the homepage, new windows, and new tabs. prefs_home_header=เนื้อหาหน้าแรก Firefox prefs_home_description=เลือกเนื้อหาที่คุณต้องการในหน้าจอหน้าแรก Firefox ของคุณ prefs_content_discovery_header=Firefox Home + prefs_content_discovery_description=Content Discovery ใน Firefox Home ช่วยให้คุณค้นพบบทความที่มีคุณภาพและมีความเกี่ยวข้องสูงจากทั่วทั้งเว็บ prefs_content_discovery_button=ปิดการค้นพบเนื้อหา # LOCALIZATION NOTE (prefs_section_rows_option): This is a semi-colon list of # plural forms used in a drop down of multiple row options (1 row, 2 rows). # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals prefs_section_rows_option={num} แถว prefs_search_header=การค้นหาเว็บ @@ -148,17 +149,17 @@ pocket_read_more=หัวข้อยอดนิยม: # LOCALIZATION NOTE (pocket_read_even_more): This is shown as a link at the # end of the list of popular topic links. pocket_read_even_more=ดูเรื่องราวเพิ่มเติม pocket_more_reccommendations=คำแนะนำเพิ่มเติม pocket_how_it_works=วิธีการทำงาน pocket_cta_button=รับ Pocket pocket_cta_text=บันทึกเรื่องราวที่คุณรักลงใน Pocket และเติมเต็มสมองของคุณด้วยบทความที่น่าหลงใหล -highlights_empty_state=เริ่มการท่องเว็บและเราจะแสดงบทความ, วิดีโอ และหน้าอื่น ๆ บางส่วนที่ยอดเยี่ยมที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุดที่นี่ +highlights_empty_state=เริ่มการเรียกดูและเราจะแสดงบทความ, วิดีโอ และหน้าอื่น ๆ บางส่วนที่ยอดเยี่ยมที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุดที่นี่ # LOCALIZATION NOTE (topstories_empty_state): When there are no recommendations, # in the space that would have shown a few stories, this is shown instead. # {provider} is replaced by the name of the content provider for this section. topstories_empty_state=คุณได้อ่านเรื่องราวครบทั้งหมดแล้ว คุณสามารถกลับมาตรวจดูเรื่องราวเด่นจาก {provider} ได้ภายหลัง อดใจรอไม่ได้งั้นหรือ? เลือกหัวข้อยอดนิยมเพื่อค้นหาเรื่องราวที่ยอดเยี่ยมจากเว็บต่าง ๆ # LOCALIZATION NOTE (manual_migration_explanation2): This message is shown to encourage users to # import their browser profile from another browser they might be using. manual_migration_explanation2=ลอง Firefox ด้วยที่คั่นหน้า, ประวัติ และรหัสผ่านจากเบราว์เซอร์อื่น
--- a/browser/components/newtab/locales-src/tl/strings.properties +++ b/browser/components/newtab/locales-src/tl/strings.properties @@ -86,16 +86,21 @@ section_disclaimer_topstories_buttontext # LOCALIZATION NOTE (prefs_*, settings_*): These are shown in about:preferences # for a "Firefox Home" section. "Firefox" should be treated as a brand and kept # in English, while "Home" should be localized matching the about:preferences # sidebar mozilla-central string for the panel that has preferences related to # what is shown for the homepage, new windows, and new tabs. prefs_home_header=Nilalaman ng Home ng Firefox prefs_home_description=Piliin kung anong nilalaman ang gusto mo sa iyong screen ng Home ng Firefox. + +prefs_content_discovery_header=Firefox Home + +prefs_content_discovery_button=I-off ang Content Discovery + # LOCALIZATION NOTE (prefs_section_rows_option): This is a semi-colon list of # plural forms used in a drop down of multiple row options (1 row, 2 rows). # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals prefs_section_rows_option={num} hilera;{num} mga hilera prefs_search_header=Paghahanap sa Web prefs_topsites_description=Ang mga site na iyong pinupuntahan prefs_topstories_options_sponsored_label=Mga Na-sponsor na Kwento prefs_topstories_sponsored_learn_more=Matuto ng higit pa @@ -138,17 +143,16 @@ topsites_form_image_validation=Nabigo an # LOCALIZATION NOTE (pocket_read_more): This is shown at the bottom of the # trending stories section and precedes a list of links to popular topics. pocket_read_more=Tanyag na mga paksa: # LOCALIZATION NOTE (pocket_read_even_more): This is shown as a link at the # end of the list of popular topic links. pocket_read_even_more=Tignan ang higit pang mga kuwento pocket_more_reccommendations=Karagdagang Rekomendasyon -pocket_learn_more=Alamin Pa pocket_how_it_works=Paano gamitin pocket_cta_button=Kunin ang Pocket pocket_cta_text=I-save sa Pocket ang mga kwentong iyong nagustuhan, at palawigin ang iyong pagiisip sa mga nakabibighaning babasahin. highlights_empty_state=Magsimulang mag-browse, at ipapakita namin ang ilan sa mga magagandang artikulo, video, at iba pang mga pahina na kamakailan mong binisita o na-bookmark dito. # LOCALIZATION NOTE (topstories_empty_state): When there are no recommendations, # in the space that would have shown a few stories, this is shown instead. # {provider} is replaced by the name of the content provider for this section.
--- a/browser/components/newtab/package.json +++ b/browser/components/newtab/package.json @@ -127,17 +127,17 @@ "testmc": "npm-run-all testmc:*", "testmc:lint": "npm run lint", "testmc:build": "npm run bundle:webpack && npm run bundle:locales", "testmc:unit": "karma start karma.mc.config.js", "tddmc": "karma start karma.mc.config.js --tdd", "debugcoverage": "open logs/coverage/index.html", "lint": "npm-run-all lint:*", "lint:eslint": "esw --ext=.js,.jsm,.json,.jsx .", - "lint:jsx-a11y": "esw --config=.eslintrc.jsx-a11y.js --ext=.jsx content-src/asrouter content-src/components/ASRouterAdmin content-src/components/TopSites", + "lint:jsx-a11y": "esw --config=.eslintrc.jsx-a11y.js --ext=.jsx content-src/", "lint:sasslint": "sass-lint -v -q", "strings-import": "node ./bin/strings-import.js", "test": "npm run testmc", "tdd": "npm run tddmc", "vendor": "npm-run-all vendor:*", "vendor:react": "node ./bin/vendor-react.js", "help": "yamscripts help", "yamscripts": "yamscripts compile",
--- a/browser/components/newtab/prerendered/locales/ach/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/ach/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Dirica matidi manyen</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/ach/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/ach/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Dirica matidi manyen</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Yab jami ayera"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/an/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/an/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Nueva Pestanya</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/an/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/an/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Nueva Pestanya</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Ubrir lo menú contextual d'a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/ar/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/ar/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>لسان جديد</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/ar/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/ar/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>لسان جديد</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="افتح القائمة"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/ast/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/ast/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Llingüeta nueva</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/ast/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/ast/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Llingüeta nueva</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/az/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/az/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Yeni Vərəq</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi fərdiləşdirin"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi fərdiləşdirin"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/az/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/az/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Yeni Vərəq</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi fərdiləşdirin"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Menyunu aç"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi fərdiləşdirin"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/be/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/be/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Новая картка</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/be/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/be/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Новая картка</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Адкрыць меню"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/bg/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/bg/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Нов раздел</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани страници</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани страници</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/bg/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/bg/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Нов раздел</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани страници</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани страници</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Променяне"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Отваряне на контекстното меню на раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/bn/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/bn/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>নতুন ট্যাব</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/bn/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/bn/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>নতুন ট্যাব</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="মেনু খুলুন"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/br/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/br/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Ivinell nevez</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec'hiennoù pennañ</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec'hiennoù pennañ</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> </body> </html>
--- a/browser/components/newtab/prerendered/locales/br/activity-stream-prerendered.html +++ b/browser/components/newtab/prerendered/locales/br/activity-stream-prerendered.html @@ -5,17 +5,17 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Ivinell nevez</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec'hiennoù pennañ</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div></div> + <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" aria-expanded="true" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec'hiennoù pennañ</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec'hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul><div class="top-stories-bottom-container"><div class="wrapper-more-recommendations"></div></div></div></section><section class="collapsible-section section normal-cards animation-enabled" aria-expanded="true" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target" role="button" tabindex="0"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span><span class="click-target" role="button" tabindex="0"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Digeriñ al lañser"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div></div> <div id="footer-asrouter-container" role="presentation"></div> <script src="resource://activity-stream/prerendered/static/activity-stream-initial-state.js"></script> <script src="chrome://browser/content/contentSearchUI.js"></script> <script src="chrome://browser/content/contentTheme.js"></script> <script src="resource://activity-stream/vendor/react.js"></script> <script src="resource://activity-stream/vendor/react-dom.js"></script> <script src="resource://activity-stream/vendor/prop-types.js"></script> <script src="resource://activity-stream/vendor/react-intl.js"></script>
--- a/browser/components/newtab/prerendered/locales/bs/activity-stream-prerendered-noscripts.html +++ b/browser/components/newtab/prerendered/locales/bs/activity-stream-prerendered-noscripts.html @@ -5,12 +5,12 @@ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; object-src 'none'; script-src resource: chrome:; connect-src https:; img-src https: data: blob:; style-src 'unsafe-inline';"> <title>Novi tab</title> <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/> <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" /> <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" /> </head> <body class="activity-stream"> <div id="header-asrouter-container" role="presentation"></div> - <div id="root"><div><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><div class="search-inner-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target-container"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najposjećenije stranice</span></span><span class="click-target"></span><span class="learn-more-link-wrapper"></span></span></h3><div><button class="context-menu-button icon" title="Open menu"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a class="top-site-button" tabindex="0" draggable="true"><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "&g