| 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 24 matching lines...) Expand all Loading... |
| 35 #include "SkBitmap.h" | 35 #include "SkBitmap.h" |
| 36 #include "SkCanvas.h" | 36 #include "SkCanvas.h" |
| 37 #include "bindings/core/v8/SerializedScriptValueFactory.h" | 37 #include "bindings/core/v8/SerializedScriptValueFactory.h" |
| 38 #include "bindings/core/v8/V8Node.h" | 38 #include "bindings/core/v8/V8Node.h" |
| 39 #include "core/clipboard/DataTransfer.h" | 39 #include "core/clipboard/DataTransfer.h" |
| 40 #include "core/css/StyleSheetContents.h" | 40 #include "core/css/StyleSheetContents.h" |
| 41 #include "core/css/resolver/StyleResolver.h" | 41 #include "core/css/resolver/StyleResolver.h" |
| 42 #include "core/css/resolver/ViewportStyleResolver.h" | 42 #include "core/css/resolver/ViewportStyleResolver.h" |
| 43 #include "core/dom/DocumentMarkerController.h" | 43 #include "core/dom/DocumentMarkerController.h" |
| 44 #include "core/dom/Fullscreen.h" | 44 #include "core/dom/Fullscreen.h" |
| 45 #include "core/dom/NodeLayoutStyle.h" | 45 #include "core/dom/NodeComputedStyle.h" |
| 46 #include "core/dom/Range.h" | 46 #include "core/dom/Range.h" |
| 47 #include "core/editing/Editor.h" | 47 #include "core/editing/Editor.h" |
| 48 #include "core/editing/FrameSelection.h" | 48 #include "core/editing/FrameSelection.h" |
| 49 #include "core/editing/SpellChecker.h" | 49 #include "core/editing/SpellChecker.h" |
| 50 #include "core/editing/VisiblePosition.h" | 50 #include "core/editing/VisiblePosition.h" |
| 51 #include "core/events/MouseEvent.h" | 51 #include "core/events/MouseEvent.h" |
| 52 #include "core/fetch/FetchRequest.h" | 52 #include "core/fetch/FetchRequest.h" |
| 53 #include "core/fetch/MemoryCache.h" | 53 #include "core/fetch/MemoryCache.h" |
| 54 #include "core/fetch/ResourceFetcher.h" | 54 #include "core/fetch/ResourceFetcher.h" |
| 55 #include "core/frame/FrameHost.h" | 55 #include "core/frame/FrameHost.h" |
| (...skipping 411 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 467 EXPECT_THAT(matchedSelectors(), ElementsAre("div.initial_off", "div.initial_
on")); | 467 EXPECT_THAT(matchedSelectors(), ElementsAre("div.initial_off", "div.initial_
on")); |
| 468 | 468 |
| 469 // Check that we can turn off callbacks for certain selectors. | 469 // Check that we can turn off callbacks for certain selectors. |
| 470 doc().watchCSSSelectors(WebVector<WebString>()); | 470 doc().watchCSSSelectors(WebVector<WebString>()); |
| 471 m_frame->view()->layout(); | 471 m_frame->view()->layout(); |
| 472 runPendingTasks(); | 472 runPendingTasks(); |
| 473 EXPECT_EQ(3, updateCount()); | 473 EXPECT_EQ(3, updateCount()); |
| 474 EXPECT_THAT(matchedSelectors(), ElementsAre()); | 474 EXPECT_THAT(matchedSelectors(), ElementsAre()); |
| 475 } | 475 } |
| 476 | 476 |
| 477 TEST_F(WebFrameCSSCallbackTest, SharedLayoutStyle) | 477 TEST_F(WebFrameCSSCallbackTest, SharedComputedStyle) |
| 478 { | 478 { |
| 479 // Check that adding an element calls back when it matches an existing rule. | 479 // Check that adding an element calls back when it matches an existing rule. |
| 480 std::vector<WebString> selectors; | 480 std::vector<WebString> selectors; |
| 481 selectors.push_back(WebString::fromUTF8("span")); | 481 selectors.push_back(WebString::fromUTF8("span")); |
| 482 doc().watchCSSSelectors(WebVector<WebString>(selectors)); | 482 doc().watchCSSSelectors(WebVector<WebString>(selectors)); |
| 483 | 483 |
| 484 executeScript( | 484 executeScript( |
| 485 "i1 = document.createElement('span');" | 485 "i1 = document.createElement('span');" |
| 486 "i1.id = 'first_span';" | 486 "i1.id = 'first_span';" |
| 487 "document.body.appendChild(i1)"); | 487 "document.body.appendChild(i1)"); |
| 488 EXPECT_EQ(1, updateCount()); | 488 EXPECT_EQ(1, updateCount()); |
| 489 EXPECT_THAT(matchedSelectors(), ElementsAre("span")); | 489 EXPECT_THAT(matchedSelectors(), ElementsAre("span")); |
| 490 | 490 |
| 491 // Adding a second element that shares a LayoutStyle shouldn't call back. | 491 // Adding a second element that shares a ComputedStyle shouldn't call back. |
| 492 // We use <span>s to avoid default style rules that can set | 492 // We use <span>s to avoid default style rules that can set |
| 493 // LayoutStyle::unique(). | 493 // ComputedStyle::unique(). |
| 494 executeScript( | 494 executeScript( |
| 495 "i2 = document.createElement('span');" | 495 "i2 = document.createElement('span');" |
| 496 "i2.id = 'second_span';" | 496 "i2.id = 'second_span';" |
| 497 "i1 = document.getElementById('first_span');" | 497 "i1 = document.getElementById('first_span');" |
| 498 "i1.parentNode.insertBefore(i2, i1.nextSibling);"); | 498 "i1.parentNode.insertBefore(i2, i1.nextSibling);"); |
| 499 EXPECT_EQ(1, updateCount()); | 499 EXPECT_EQ(1, updateCount()); |
| 500 EXPECT_THAT(matchedSelectors(), ElementsAre("span")); | 500 EXPECT_THAT(matchedSelectors(), ElementsAre("span")); |
| 501 | 501 |
| 502 // Removing the first element shouldn't call back. | 502 // Removing the first element shouldn't call back. |
| 503 executeScript( | 503 executeScript( |
| (...skipping 6567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7071 FrameTestHelpers::TestWebRemoteFrameClient remoteClient; | 7071 FrameTestHelpers::TestWebRemoteFrameClient remoteClient; |
| 7072 WebView* view = WebView::create(&viewClient); | 7072 WebView* view = WebView::create(&viewClient); |
| 7073 view->setMainFrame(WebRemoteFrame::create(&remoteClient)); | 7073 view->setMainFrame(WebRemoteFrame::create(&remoteClient)); |
| 7074 FrameTestHelpers::TestWebRemoteFrameClient childFrameClient; | 7074 FrameTestHelpers::TestWebRemoteFrameClient childFrameClient; |
| 7075 WebRemoteFrame* childFrame = view->mainFrame()->toWebRemoteFrame()->createRe
moteChild("", WebSandboxFlags::None, &childFrameClient); | 7075 WebRemoteFrame* childFrame = view->mainFrame()->toWebRemoteFrame()->createRe
moteChild("", WebSandboxFlags::None, &childFrameClient); |
| 7076 childFrame->detach(); | 7076 childFrame->detach(); |
| 7077 view->close(); | 7077 view->close(); |
| 7078 } | 7078 } |
| 7079 | 7079 |
| 7080 } // namespace blink | 7080 } // namespace blink |
| OLD | NEW |