| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 | 5 |
| 6 /** | 6 /** |
| 7 * @fileoverview The local InstantExtended NTP. | 7 * @fileoverview The local InstantExtended NTP. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 | 10 |
| (...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 691 | 691 |
| 692 // Container of tile contents. | 692 // Container of tile contents. |
| 693 var innerElem = createAndAppendElement(tileElem, 'div', CLASSES.TILE_INNER); | 693 var innerElem = createAndAppendElement(tileElem, 'div', CLASSES.TILE_INNER); |
| 694 | 694 |
| 695 // The iframe which renders the page title. | 695 // The iframe which renders the page title. |
| 696 var titleElem = document.createElement('iframe'); | 696 var titleElem = document.createElement('iframe'); |
| 697 // Enable tab navigation on the iframe, which will move the selection to the | 697 // Enable tab navigation on the iframe, which will move the selection to the |
| 698 // link element (which also has a tabindex). | 698 // link element (which also has a tabindex). |
| 699 titleElem.tabIndex = '0'; | 699 titleElem.tabIndex = '0'; |
| 700 | 700 |
| 701 // Make the iframe presentational for accessibility so screen readers perceive |
| 702 // the iframe content as just part of the same page. |
| 703 titleElem.setAttribute('role', 'presentation'); |
| 704 |
| 701 // Why iframes have IDs: | 705 // Why iframes have IDs: |
| 702 // | 706 // |
| 703 // On navigating back to the NTP we see several onmostvisitedchange() events | 707 // On navigating back to the NTP we see several onmostvisitedchange() events |
| 704 // in series with incrementing RIDs. After the first event, a set of iframes | 708 // in series with incrementing RIDs. After the first event, a set of iframes |
| 705 // begins loading RIDs n, n+1, ..., n+k-1; after the second event, these get | 709 // begins loading RIDs n, n+1, ..., n+k-1; after the second event, these get |
| 706 // destroyed and a new set begins loading RIDs n+k, n+k+1, ..., n+2k-1. | 710 // destroyed and a new set begins loading RIDs n+k, n+k+1, ..., n+2k-1. |
| 707 // Now due to crbug.com/68841, Chrome incorrectly loads the content for the | 711 // Now due to crbug.com/68841, Chrome incorrectly loads the content for the |
| 708 // first set of iframes into the most recent set of iframes. | 712 // first set of iframes into the most recent set of iframes. |
| 709 // | 713 // |
| 710 // Giving iframes distinct ids seems to cause some invalidation and prevent | 714 // Giving iframes distinct ids seems to cause some invalidation and prevent |
| (...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1201 | 1205 |
| 1202 return { | 1206 return { |
| 1203 init: init, | 1207 init: init, |
| 1204 listen: listen | 1208 listen: listen |
| 1205 }; | 1209 }; |
| 1206 } | 1210 } |
| 1207 | 1211 |
| 1208 if (!window.localNTPUnitTest) { | 1212 if (!window.localNTPUnitTest) { |
| 1209 LocalNTP().listen(); | 1213 LocalNTP().listen(); |
| 1210 } | 1214 } |
| OLD | NEW |