OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 cr.define('md_history', function() { | 5 cr.define('md_history', function() { |
6 var HistoryItem = Polymer({ | 6 var HistoryItem = Polymer({ |
7 is: 'history-item', | 7 is: 'history-item', |
8 | 8 |
9 properties: { | 9 properties: { |
10 // Underlying HistoryEntry data for this item. Contains read-only fields | 10 // Underlying HistoryEntry data for this item. Contains read-only fields |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 * Remove bookmark of current item when bookmark-star is clicked. | 63 * Remove bookmark of current item when bookmark-star is clicked. |
64 * @private | 64 * @private |
65 */ | 65 */ |
66 onRemoveBookmarkTap_: function() { | 66 onRemoveBookmarkTap_: function() { |
67 if (!this.item.starred) | 67 if (!this.item.starred) |
68 return; | 68 return; |
69 | 69 |
70 if (this.$$('#bookmark-star') == this.root.activeElement) | 70 if (this.$$('#bookmark-star') == this.root.activeElement) |
71 this.$['menu-button'].focus(); | 71 this.$['menu-button'].focus(); |
72 | 72 |
73 md_history.BrowserService.getInstance() | 73 var browserService = md_history.BrowserService.getInstance(); |
74 .removeBookmark(this.item.url); | 74 browserService.removeBookmark(this.item.url); |
| 75 browserService.recordAction('BookmarkStarClicked'); |
| 76 |
75 this.fire('remove-bookmark-stars', this.item.url); | 77 this.fire('remove-bookmark-stars', this.item.url); |
76 }, | 78 }, |
77 | 79 |
78 /** | 80 /** |
79 * Fires a custom event when the menu button is clicked. Sends the details | 81 * Fires a custom event when the menu button is clicked. Sends the details |
80 * of the history item and where the menu should appear. | 82 * of the history item and where the menu should appear. |
81 */ | 83 */ |
82 onMenuButtonTap_: function(e) { | 84 onMenuButtonTap_: function(e) { |
83 this.fire('toggle-menu', { | 85 this.fire('toggle-menu', { |
84 target: Polymer.dom(e).localTarget, | 86 target: Polymer.dom(e).localTarget, |
85 item: this.item, | 87 item: this.item, |
86 path: this.path, | 88 path: this.path, |
87 }); | 89 }); |
88 | 90 |
89 // Stops the 'tap' event from closing the menu when it opens. | 91 // Stops the 'tap' event from closing the menu when it opens. |
90 e.stopPropagation(); | 92 e.stopPropagation(); |
91 }, | 93 }, |
92 | 94 |
93 /** | 95 /** |
| 96 * Record metrics when a result is clicked. This is deliberately tied to |
| 97 * on-click rather than on-tap, as on-click triggers from middle clicks. |
| 98 */ |
| 99 onLinkClick_: function() { |
| 100 var browserService = md_history.BrowserService.getInstance(); |
| 101 browserService.recordAction('EntryLinkClick'); |
| 102 browserService.recordHistogram( |
| 103 'HistoryPage.ClickPosition', this.item.index, UMA_MAX_BUCKET_VALUE); |
| 104 |
| 105 if (this.item.index <= UMA_MAX_SUBSET_BUCKET_VALUE) { |
| 106 browserService.recordHistogram( |
| 107 'HistoryPage.ClickPositionSubset', this.item.index, |
| 108 UMA_MAX_SUBSET_BUCKET_VALUE); |
| 109 } |
| 110 |
| 111 if (this.searchTerm) |
| 112 browserService.recordAction('SearchResultClick'); |
| 113 }, |
| 114 |
| 115 onLinkRightClick_: function() { |
| 116 md_history.BrowserService.getInstance().recordAction( |
| 117 'EntryLinkRightClick'); |
| 118 }, |
| 119 |
| 120 /** |
94 * Set the favicon image, based on the URL of the history item. | 121 * Set the favicon image, based on the URL of the history item. |
95 * @private | 122 * @private |
96 */ | 123 */ |
97 showIcon_: function() { | 124 showIcon_: function() { |
98 this.$.icon.style.backgroundImage = | 125 this.$.icon.style.backgroundImage = |
99 cr.icon.getFaviconImageSet(this.item.url); | 126 cr.icon.getFaviconImageSet(this.item.url); |
100 }, | 127 }, |
101 | 128 |
102 selectionNotAllowed_: function() { | 129 selectionNotAllowed_: function() { |
103 return !loadTimeData.getBoolean('allowDeletingHistory'); | 130 return !loadTimeData.getBoolean('allowDeletingHistory'); |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 | 176 |
150 if (searchedTerm) | 177 if (searchedTerm) |
151 return currentItem.dateShort != nextItem.dateShort; | 178 return currentItem.dateShort != nextItem.dateShort; |
152 | 179 |
153 return currentItem.time - nextItem.time > BROWSING_GAP_TIME && | 180 return currentItem.time - nextItem.time > BROWSING_GAP_TIME && |
154 currentItem.dateRelativeDay == nextItem.dateRelativeDay; | 181 currentItem.dateRelativeDay == nextItem.dateRelativeDay; |
155 }; | 182 }; |
156 | 183 |
157 return { HistoryItem: HistoryItem }; | 184 return { HistoryItem: HistoryItem }; |
158 }); | 185 }); |
OLD | NEW |