OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 4219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4230 webViewHelper.initializeAndLoad( | 4230 webViewHelper.initializeAndLoad( |
4231 m_baseURL + "iframe_clear_focused_node_test.html", true); | 4231 m_baseURL + "iframe_clear_focused_node_test.html", true); |
4232 | 4232 |
4233 // Clear the focused node. | 4233 // Clear the focused node. |
4234 webViewHelper.webView()->clearFocusedElement(); | 4234 webViewHelper.webView()->clearFocusedElement(); |
4235 | 4235 |
4236 // Now retrieve the FocusedNode and test it should be null. | 4236 // Now retrieve the FocusedNode and test it should be null. |
4237 EXPECT_EQ(0, webViewHelper.webView()->focusedElement()); | 4237 EXPECT_EQ(0, webViewHelper.webView()->focusedElement()); |
4238 } | 4238 } |
4239 | 4239 |
4240 class ChangedSelectionCounter : public FrameTestHelpers::TestWebFrameClient { | |
4241 public: | |
4242 ChangedSelectionCounter() : m_callCount(0) {} | |
4243 void didChangeSelection(bool isSelectionEmpty) { m_callCount++; } | |
yosin_UTC9
2017/02/09 13:02:17
nit: It is OK to use post-increment, but I prefer
| |
4244 int count() const { return m_callCount; } | |
4245 void reset() { m_callCount = 0; } | |
4246 | |
4247 private: | |
4248 int m_callCount; | |
4249 }; | |
4250 | |
4251 TEST_P(ParameterizedWebFrameTest, OneFocusChangeMeansOneSelectionChange) { | |
4252 ChangedSelectionCounter counter; | |
4253 FrameTestHelpers::WebViewHelper webViewHelper; | |
4254 registerMockedHttpURLLoad("editable_elements.html"); | |
4255 webViewHelper.initializeAndLoad(m_baseURL + "editable_elements.html", true, | |
4256 &counter); | |
4257 | |
4258 WebLocalFrameImpl* frame = webViewHelper.webView()->mainFrameImpl(); | |
4259 Document* document = frame->frame()->document(); | |
4260 | |
4261 // Move to a text-field. | |
4262 Element* firstField = document->getElementById("input1"); | |
4263 counter.reset(); | |
4264 firstField->focus(); | |
4265 EXPECT_EQ(1, counter.count()); | |
4266 | |
4267 // Move to another text-field. | |
4268 Element* secondField = document->getElementById("input2"); | |
4269 counter.reset(); | |
4270 secondField->focus(); | |
4271 EXPECT_EQ(1, counter.count()); | |
4272 | |
4273 // Move to a number-field. | |
4274 Element* numberField = document->getElementById("input3"); | |
4275 counter.reset(); | |
4276 numberField->focus(); | |
4277 EXPECT_EQ(1, counter.count()); | |
4278 | |
4279 // Move to an editable element. | |
4280 Element* editableP = document->getElementById("p1"); | |
4281 counter.reset(); | |
4282 editableP->focus(); | |
4283 EXPECT_EQ(1, counter.count()); | |
4284 } | |
4285 | |
4240 // Implementation of WebFrameClient that tracks the v8 contexts that are created | 4286 // Implementation of WebFrameClient that tracks the v8 contexts that are created |
4241 // and destroyed for verification. | 4287 // and destroyed for verification. |
4242 class ContextLifetimeTestWebFrameClient | 4288 class ContextLifetimeTestWebFrameClient |
4243 : public FrameTestHelpers::TestWebFrameClient { | 4289 : public FrameTestHelpers::TestWebFrameClient { |
4244 public: | 4290 public: |
4245 struct Notification { | 4291 struct Notification { |
4246 public: | 4292 public: |
4247 Notification(WebLocalFrame* frame, | 4293 Notification(WebLocalFrame* frame, |
4248 v8::Local<v8::Context> context, | 4294 v8::Local<v8::Context> context, |
4249 int worldId) | 4295 int worldId) |
(...skipping 7120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
11370 | 11416 |
11371 EXPECT_TRUE(mainFrameClient.childClient().didCallFrameDetached()); | 11417 EXPECT_TRUE(mainFrameClient.childClient().didCallFrameDetached()); |
11372 EXPECT_TRUE(mainFrameClient.childClient().didCallDidStopLoading()); | 11418 EXPECT_TRUE(mainFrameClient.childClient().didCallDidStopLoading()); |
11373 EXPECT_TRUE(mainFrameClient.childClient().didCallDidFinishDocumentLoad()); | 11419 EXPECT_TRUE(mainFrameClient.childClient().didCallDidFinishDocumentLoad()); |
11374 EXPECT_TRUE(mainFrameClient.childClient().didCallDidHandleOnloadEvents()); | 11420 EXPECT_TRUE(mainFrameClient.childClient().didCallDidHandleOnloadEvents()); |
11375 | 11421 |
11376 webViewHelper.reset(); | 11422 webViewHelper.reset(); |
11377 } | 11423 } |
11378 | 11424 |
11379 } // namespace blink | 11425 } // namespace blink |
OLD | NEW |