@@ -18,6 +18,7 @@ import QtQuick 2.0
1818import QtTest 1.0
1919import ".."
2020import "../../../qml/Dash"
21+import "../../../qml/Components/SearchHistoryModel"
2122import Ubuntu.Components 0.1
2223import Unity 0.2
2324import Unity.Test 0.1 as UT
@@ -25,7 +26,7 @@ import Unity.Test 0.1 as UT
2526Item {
2627 id: root
2728 width: units.gu(110)
28− height: units.gu(30)
29+ height: units.gu(50)
2930
3031 UT.UnityTestCase {
3132 name: "PageHeaderLabelTest"
@@ -54,7 +55,7 @@ Item {
5455 pageHeader.searchHistory.clear();
5556
5657 // Check initial state
57− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
58+ tryCompare(pageHeader.extraPanel, "visible", true);
5859 compare(pageHeader.searchHistory.count, 0);
5960 }
6061
@@ -146,7 +147,7 @@ Item {
146147 doResetSearch();
147148 }
148149
149− function test_popover() {
150+ function test_extraPanel() {
150151 searchEnabled = true;
151152 pageHeader.searchHistory.clear();
152153
@@ -155,22 +156,18 @@ Item {
155156
156157 pageHeader.triggerSearch();
157158
158− var headerContainer = findChild(pageHeader, "headerContainer");
159− verify(headerContainer !== null, "headerContainer != null");
160− tryCompareFunction(function() { return headerContainer.popover !== null; }, true);
161−
162− tryCompare(headerContainer.popover, "visible", true);
159+ tryCompare(pageHeader.extraPanel, "visible", true);
163160
164161 var searchTextField = findChild(pageHeader, "searchTextField");
165162 compare(searchTextField.focus, true);
166163
167− var recentSearches = findChild(headerContainer.popover, "recentSearches");
168− verify(recentSearches, "Could not find recent searches in the popover");
164+ var recentSearches = findChild(pageHeader.extraPanel, "recentSearchesRepeater");
165+ verify(recentSearches, "Could not find recent searches");
169166 waitForRendering(recentSearches);
170167 mouseClick(recentSearches.itemAt(0));
171168
172169 compare(pageHeader.searchQuery, "Search2");
173− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
170+ tryCompare(pageHeader.extraPanel, "visible", false);
174171 compare(searchTextField.focus, false);
175172 }
176173
@@ -212,9 +209,7 @@ Item {
212209 pageHeader.triggerSearch();
213210
214211 var headerContainer = findChild(pageHeader, "headerContainer");
215− verify(headerContainer !== null, "headerContainer != null");
216− tryCompareFunction(function() { return headerContainer.popover !== null; }, true);
217− compare(headerContainer.popover.visible, true);
212+ tryCompare(pageHeader.extraPanel, "visible", true);
218213
219214 pageHeader.searchQuery = data.searchText;
220215
@@ -225,7 +220,7 @@ Item {
225220 }
226221
227222 tryCompare(headerContainer, "showSearch", !data.hideSearch);
228− tryCompareFunction(function() { return headerContainer.popover === null; }, true);
223+ tryCompare(pageHeader.extraPanel, "visible", false);
229224
230225 doResetSearch();
231226 }
@@ -251,8 +246,10 @@ Item {
251246 right: parent.right
252247 }
253248
249+ searchHistory: SearchHistoryModel
254250 searchEntryEnabled: true
255251 title: "%^$%^%^&%^&%^$%GHR%"
252+ extraPanel: peExtraPanel
256253 scopeStyle: QtObject {
257254 readonly property color foreground: Theme.palette.normal.baseText
258255 readonly property url headerLogo: showImageCheckBox.checked ? pageHeader.titleImageSource : ""
@@ -264,6 +261,18 @@ Item {
264261 onBackClicked: lastBackClicked = new Date()
265262 }
266263
264+ PageHeaderExtraPanel {
265+ id: peExtraPanel
266+ width: parent.width
267+ z: 1
268+ visible: false
269+ searchHistory: SearchHistoryModel
270+ onHistoryItemClicked: {
271+ SearchHistoryModel.addQuery(text);
272+ pageHeader.searchQuery = text;
273+ }
274+ }
275+
267276 Row {
268277 spacing: units.gu(1)
269278 anchors {