Chromium Code Reviews| 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 #include "chrome/browser/android/data_usage/data_use_ui_tab_model.h" | 5 #include "chrome/browser/android/data_usage/data_use_ui_tab_model.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include "base/message_loop/message_loop.h" | |
| 10 #include "base/run_loop.h" | |
| 11 #include "chrome/browser/android/data_usage/data_use_tab_model.h" | |
| 9 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" | 12 #include "chrome/browser/android/data_usage/data_use_ui_tab_model_factory.h" |
| 13 #include "chrome/browser/android/data_usage/external_data_use_observer.h" | |
| 10 #include "chrome/browser/profiles/profile.h" | 14 #include "chrome/browser/profiles/profile.h" |
| 11 #include "chrome/browser/sessions/session_tab_helper.h" | 15 #include "chrome/browser/sessions/session_tab_helper.h" |
| 12 #include "chrome/test/base/chrome_render_view_host_test_harness.h" | 16 #include "chrome/test/base/chrome_render_view_host_test_harness.h" |
| 17 #include "components/data_usage/core/data_use_aggregator.h" | |
| 18 #include "components/data_usage/core/data_use_amortizer.h" | |
| 19 #include "components/data_usage/core/data_use_annotator.h" | |
| 20 #include "content/public/browser/browser_thread.h" | |
| 13 #include "content/public/browser/web_contents.h" | 21 #include "content/public/browser/web_contents.h" |
| 14 #include "content/public/test/test_renderer_host.h" | 22 #include "content/public/test/test_renderer_host.h" |
| 15 #include "content/public/test/web_contents_tester.h" | 23 #include "content/public/test/web_contents_tester.h" |
| 16 #include "testing/gtest/include/gtest/gtest.h" | 24 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "ui/base/page_transition_types.h" | 25 #include "ui/base/page_transition_types.h" |
| 18 #include "url/gurl.h" | 26 #include "url/gurl.h" |
| 19 | 27 |
| 20 namespace chrome { | 28 namespace chrome { |
| 21 | 29 |
| 22 namespace android { | 30 namespace android { |
| 23 | 31 |
| 32 class DataUseTabModelTest : public DataUseTabModel { | |
|
sclittle
2015/11/16 23:13:43
nit: Name this TestDataUseTabModel, so that it isn
tbansal1
2015/11/17 21:12:33
Done.
| |
| 33 public: | |
| 34 DataUseTabModelTest(ExternalDataUseObserver* external_data_use_observer, | |
| 35 scoped_refptr<base::SingleThreadTaskRunner> task_runner_) | |
| 36 : DataUseTabModel(external_data_use_observer, task_runner_.get()), | |
| 37 weak_factory_(this) {} | |
| 38 | |
| 39 base::WeakPtr<DataUseTabModelTest> GetWeakPtr() { | |
| 40 return weak_factory_.GetWeakPtr(); | |
| 41 } | |
| 42 | |
| 43 private: | |
| 44 base::WeakPtrFactory<DataUseTabModelTest> weak_factory_; | |
| 45 }; | |
| 46 | |
| 24 class DataUseUITabModelTest : public ChromeRenderViewHostTestHarness { | 47 class DataUseUITabModelTest : public ChromeRenderViewHostTestHarness { |
| 25 public: | 48 public: |
| 26 using ChromeRenderViewHostTestHarness::web_contents; | 49 using ChromeRenderViewHostTestHarness::web_contents; |
| 27 | 50 |
| 28 DataUseUITabModel* data_use_ui_tab_model() { | 51 DataUseUITabModel* data_use_ui_tab_model() { |
| 29 return chrome::android::DataUseUITabModelFactory::GetForBrowserContext( | 52 return chrome::android::DataUseUITabModelFactory::GetForBrowserContext( |
| 30 Profile::FromBrowserContext(web_contents()->GetBrowserContext())); | 53 Profile::FromBrowserContext(web_contents()->GetBrowserContext())); |
| 31 } | 54 } |
| 32 }; | 55 }; |
| 33 | 56 |
| 34 // Tests that DataUseTabModel is notified of tab closure and navigation events. | 57 // Tests that DataUseTabModel is notified of tab closure and navigation events, |
| 58 // and DataUseTabModel notifies DataUseUITabModel. | |
| 35 TEST_F(DataUseUITabModelTest, ReportTabEventsTest) { | 59 TEST_F(DataUseUITabModelTest, ReportTabEventsTest) { |
| 36 data_use_ui_tab_model()->ReportBrowserNavigation( | 60 std::string foo_label("foo_label"); |
| 37 GURL("https://www.example.com"), | 61 |
| 38 ui::PageTransition::PAGE_TRANSITION_TYPED, | 62 scoped_refptr<base::SingleThreadTaskRunner> io_task_runner = |
| 39 SessionTabHelper::IdForTab(web_contents())); | 63 content::BrowserThread::GetMessageLoopProxyForThread( |
| 40 data_use_ui_tab_model()->ReportTabClosure( | 64 content::BrowserThread::IO); |
| 41 SessionTabHelper::IdForTab(web_contents())); | 65 scoped_refptr<base::SingleThreadTaskRunner> ui_task_runner = |
| 42 // TODO(tbansal): Test that DataUseTabModel is notified. | 66 content::BrowserThread::GetMessageLoopProxyForThread( |
| 67 content::BrowserThread::UI); | |
| 68 | |
| 69 scoped_ptr<data_usage::DataUseAggregator> data_use_aggregator( | |
|
sclittle
2015/11/16 23:13:42
nit: This doesn't have to be a scoped_ptr, this co
tbansal1
2015/11/17 21:12:33
Done.
| |
| 70 new data_usage::DataUseAggregator( | |
| 71 scoped_ptr<data_usage::DataUseAnnotator>(), | |
| 72 scoped_ptr<data_usage::DataUseAmortizer>())); | |
| 73 | |
| 74 scoped_ptr<ExternalDataUseObserver> external_data_use_observer( | |
|
sclittle
2015/11/16 23:13:43
nit: same here, this doesn't need to be a scoped_p
tbansal1
2015/11/17 21:12:33
Done.
| |
| 75 new ExternalDataUseObserver(data_use_aggregator.get(), | |
| 76 io_task_runner.get(), ui_task_runner.get())); | |
| 77 base::RunLoop().RunUntilIdle(); | |
| 78 std::vector<std::string> url_regexes; | |
| 79 url_regexes.push_back( | |
| 80 "http://www[.]foo[.]com/#q=.*|https://www[.]foo[.]com/#q=.*"); | |
| 81 external_data_use_observer->RegisterURLRegexes( | |
| 82 std::vector<std::string>(url_regexes.size(), std::string()), url_regexes, | |
| 83 std::vector<std::string>(url_regexes.size(), foo_label)); | |
| 84 | |
| 85 DataUseTabModelTest data_use_tab_model( | |
| 86 external_data_use_observer.get(), | |
| 87 content::BrowserThread::GetMessageLoopProxyForThread( | |
| 88 content::BrowserThread::IO)); | |
| 89 data_use_ui_tab_model()->SetIODataUseTabModel( | |
| 90 data_use_tab_model.GetWeakPtr()); | |
| 91 data_use_ui_tab_model()->SetUIDataUseTabModel( | |
| 92 data_use_tab_model.GetWeakPtr()); | |
| 93 | |
| 94 const struct { | |
| 95 ui::PageTransition transition_type; | |
| 96 std::string expected_label; | |
| 97 } tests[] = { | |
| 98 {ui::PageTransitionFromInt(ui::PageTransition::PAGE_TRANSITION_LINK | | |
| 99 ui::PAGE_TRANSITION_FROM_API), | |
| 100 std::string()}, | |
| 101 {ui::PageTransition::PAGE_TRANSITION_LINK, std::string()}, | |
| 102 {ui::PageTransition::PAGE_TRANSITION_TYPED, foo_label}, | |
| 103 {ui::PageTransition::PAGE_TRANSITION_AUTO_BOOKMARK, std::string()}, | |
| 104 {ui::PageTransition::PAGE_TRANSITION_AUTO_TOPLEVEL, std::string()}, | |
| 105 {ui::PageTransition::PAGE_TRANSITION_GENERATED, foo_label}, | |
| 106 {ui::PageTransition::PAGE_TRANSITION_RELOAD, std::string()}, | |
| 107 }; | |
| 108 | |
| 109 for (size_t i = 0; i < arraysize(tests); ++i) { | |
| 110 // Start a new tab. | |
| 111 int32_t foo_tab_id = i + 1; | |
| 112 data_use_ui_tab_model()->ReportBrowserNavigation( | |
| 113 GURL("https://www.foo.com/#q=abc"), tests[i].transition_type, | |
| 114 foo_tab_id); | |
| 115 base::RunLoop().RunUntilIdle(); | |
| 116 | |
| 117 // |data_use_ui_tab_model| should receive callback about starting of | |
| 118 // tracking of data usage for |foo_tab_id|. | |
| 119 EXPECT_EQ(!tests[i].expected_label.empty(), | |
| 120 data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) | |
| 121 << i; | |
| 122 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)) | |
| 123 << i; | |
| 124 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)) | |
| 125 << i; | |
| 126 | |
| 127 // DataUse object should be labeled correctly. | |
| 128 data_usage::DataUse data_use(GURL("http://foo.com/#q=abc"), | |
|
sclittle
2015/11/16 23:13:42
Add an include for data_use.h
tbansal1
2015/11/17 21:12:33
Done.
| |
| 129 base::TimeTicks::Now(), | |
| 130 GURL("http://foobar.com"), foo_tab_id, | |
| 131 net::NetworkChangeNotifier::CONNECTION_UNKNOWN, | |
|
sclittle
2015/11/16 23:13:42
nit: Pull this DataUse creation and the DataUse cr
tbansal1
2015/11/17 21:12:33
Reduced it to one function call.
| |
| 132 std::string(), 1000, 1000); | |
| 133 std::string got_label; | |
| 134 data_use_tab_model.GetLabelForDataUse(data_use, &got_label); | |
| 135 EXPECT_EQ(tests[i].expected_label, got_label) << i; | |
| 136 | |
| 137 // Report closure of tab. | |
| 138 data_use_ui_tab_model()->ReportTabClosure(foo_tab_id); | |
| 139 base::RunLoop().RunUntilIdle(); | |
| 140 | |
| 141 // DataUse object should not be labeled. | |
| 142 data_usage::DataUse data_use_expired( | |
| 143 GURL("http://foo.com/#q=abc"), base::TimeTicks::Now(), | |
|
sclittle
2015/11/16 23:13:43
base::TimeTicks::Now() could be the same as it was
tbansal1
2015/11/17 21:12:33
Done.
| |
| 144 GURL("http://foobar.com"), foo_tab_id, | |
| 145 net::NetworkChangeNotifier::CONNECTION_UNKNOWN, std::string(), 1000, | |
| 146 1000); | |
| 147 | |
| 148 data_use_tab_model.GetLabelForDataUse(data_use_expired, &got_label); | |
| 149 EXPECT_EQ(std::string(), got_label) << i; | |
| 150 } | |
| 43 } | 151 } |
| 44 | 152 |
| 45 // Tests if the Entrance/Exit UI state is tracked correctly. | 153 // Tests if the Entrance/Exit UI state is tracked correctly. |
| 46 TEST_F(DataUseUITabModelTest, EntranceExitState) { | 154 TEST_F(DataUseUITabModelTest, EntranceExitState) { |
| 47 int32_t foo_tab_id = 1; | 155 int32_t foo_tab_id = 1; |
| 48 int32_t bar_tab_id = 2; | 156 int32_t bar_tab_id = 2; |
| 49 int32_t baz_tab_id = 3; | 157 int32_t baz_tab_id = 3; |
| 50 | 158 |
| 51 // ShowEntrance should return true only once. | 159 // HasDataUseTrackingStarted should return true only once. |
| 52 data_use_ui_tab_model()->OnTrackingStarted(foo_tab_id); | 160 data_use_ui_tab_model()->NotifyTrackingStarting(foo_tab_id); |
| 53 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 161 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 54 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 162 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 55 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); | 163 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); |
| 56 | 164 |
| 57 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 165 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
| 58 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); | 166 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); |
| 59 | 167 |
| 60 // ShowExit should return true only once. | 168 // HasDataUseTrackingEnded should return true only once. |
| 61 data_use_ui_tab_model()->OnTrackingEnded(foo_tab_id); | 169 data_use_ui_tab_model()->NotifyTrackingEnding(foo_tab_id); |
| 62 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 170 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 63 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); | 171 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); |
| 64 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); | 172 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(foo_tab_id)); |
| 65 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 173 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 66 | 174 |
| 67 // The tab enters the tracking state again. | 175 // The tab enters the tracking state again. |
| 68 data_use_ui_tab_model()->OnTrackingStarted(foo_tab_id); | 176 data_use_ui_tab_model()->NotifyTrackingStarting(foo_tab_id); |
| 69 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 177 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 70 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 178 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 71 | 179 |
| 72 // The tab exits the tracking state. | 180 // The tab exits the tracking state. |
| 73 data_use_ui_tab_model()->OnTrackingEnded(foo_tab_id); | 181 data_use_ui_tab_model()->NotifyTrackingEnding(foo_tab_id); |
| 74 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 182 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 75 | 183 |
| 76 // The tab enters the tracking state again. | 184 // The tab enters the tracking state again. |
| 77 data_use_ui_tab_model()->OnTrackingStarted(foo_tab_id); | 185 data_use_ui_tab_model()->NotifyTrackingStarting(foo_tab_id); |
| 78 data_use_ui_tab_model()->OnTrackingStarted(foo_tab_id); | 186 data_use_ui_tab_model()->NotifyTrackingStarting(foo_tab_id); |
| 79 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 187 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 80 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); | 188 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(foo_tab_id)); |
| 81 | 189 |
| 82 // ShowExit should return true only once. | 190 // ShowExit should return true only once. |
| 83 data_use_ui_tab_model()->OnTrackingEnded(bar_tab_id); | 191 data_use_ui_tab_model()->NotifyTrackingEnding(bar_tab_id); |
| 84 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 192 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
| 85 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); | 193 EXPECT_TRUE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); |
| 86 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); | 194 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(bar_tab_id)); |
| 87 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); | 195 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(bar_tab_id)); |
| 88 | 196 |
| 89 data_use_ui_tab_model()->ReportTabClosure(foo_tab_id); | 197 data_use_ui_tab_model()->ReportTabClosure(foo_tab_id); |
| 90 data_use_ui_tab_model()->ReportTabClosure(bar_tab_id); | 198 data_use_ui_tab_model()->ReportTabClosure(bar_tab_id); |
| 91 | 199 |
| 92 // HasDataUseTrackingStarted/Ended should return false for closed tabs. | 200 // HasDataUseTrackingStarted/Ended should return false for closed tabs. |
| 93 data_use_ui_tab_model()->OnTrackingStarted(baz_tab_id); | 201 data_use_ui_tab_model()->NotifyTrackingStarting(baz_tab_id); |
| 94 data_use_ui_tab_model()->ReportTabClosure(baz_tab_id); | 202 data_use_ui_tab_model()->ReportTabClosure(baz_tab_id); |
| 95 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(baz_tab_id)); | 203 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingStarted(baz_tab_id)); |
| 96 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(baz_tab_id)); | 204 EXPECT_FALSE(data_use_ui_tab_model()->HasDataUseTrackingEnded(baz_tab_id)); |
| 97 } | 205 } |
| 98 | 206 |
| 207 // Checks if page transition type is converted correctly. | |
| 208 TEST_F(DataUseUITabModelTest, ConvertTransitionType) { | |
| 209 DataUseTabModel::TransitionType transition_type; | |
| 210 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 211 ui::PageTransition(ui::PAGE_TRANSITION_TYPED), &transition_type)); | |
| 212 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | |
| 213 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 214 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFF00), | |
| 215 &transition_type)); | |
| 216 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | |
| 217 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 218 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0xFFFF00), | |
| 219 &transition_type)); | |
| 220 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | |
| 221 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 222 ui::PageTransition(ui::PAGE_TRANSITION_TYPED | 0x12FFFF00), | |
| 223 &transition_type)); | |
| 224 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_NAVIGATION, transition_type); | |
| 225 | |
| 226 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 227 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK), &transition_type)); | |
| 228 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); | |
| 229 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 230 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFF00), | |
| 231 &transition_type)); | |
| 232 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); | |
| 233 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 234 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0xFFFF00), | |
| 235 &transition_type)); | |
| 236 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); | |
| 237 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 238 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_BOOKMARK | 0x12FFFF00), | |
| 239 &transition_type)); | |
| 240 EXPECT_EQ(DataUseTabModel::TRANSITION_BOOKMARK, transition_type); | |
| 241 | |
| 242 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 243 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED), &transition_type)); | |
| 244 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); | |
| 245 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 246 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFF00), | |
| 247 &transition_type)); | |
| 248 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); | |
| 249 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 250 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0xFFFF00), | |
| 251 &transition_type)); | |
| 252 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); | |
| 253 EXPECT_TRUE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 254 ui::PageTransition(ui::PAGE_TRANSITION_GENERATED | 0x12FFFF00), | |
| 255 &transition_type)); | |
| 256 EXPECT_EQ(DataUseTabModel::TRANSITION_OMNIBOX_SEARCH, transition_type); | |
| 257 | |
| 258 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 259 ui::PageTransition(ui::PAGE_TRANSITION_AUTO_SUBFRAME), &transition_type)); | |
| 260 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 261 ui::PageTransition(ui::PAGE_TRANSITION_MANUAL_SUBFRAME), | |
| 262 &transition_type)); | |
| 263 EXPECT_FALSE(data_use_ui_tab_model()->ConvertTransitionType( | |
| 264 ui::PageTransition(ui::PAGE_TRANSITION_FORM_SUBMIT), &transition_type)); | |
| 265 } | |
| 266 | |
| 99 } // namespace android | 267 } // namespace android |
| 100 | 268 |
| 101 } // namespace chrome | 269 } // namespace chrome |
| OLD | NEW |