| 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 22 matching lines...) Expand all Loading... |
| 33 #include "public/web/WebFrame.h" | 33 #include "public/web/WebFrame.h" |
| 34 | 34 |
| 35 #include "SkBitmap.h" | 35 #include "SkBitmap.h" |
| 36 #include "SkCanvas.h" | 36 #include "SkCanvas.h" |
| 37 #include "core/UserAgentStyleSheets.h" | 37 #include "core/UserAgentStyleSheets.h" |
| 38 #include "core/clipboard/DataTransfer.h" | 38 #include "core/clipboard/DataTransfer.h" |
| 39 #include "core/css/StyleSheetContents.h" | 39 #include "core/css/StyleSheetContents.h" |
| 40 #include "core/css/resolver/StyleResolver.h" | 40 #include "core/css/resolver/StyleResolver.h" |
| 41 #include "core/css/resolver/ViewportStyleResolver.h" | 41 #include "core/css/resolver/ViewportStyleResolver.h" |
| 42 #include "core/dom/DocumentMarkerController.h" | 42 #include "core/dom/DocumentMarkerController.h" |
| 43 #include "core/dom/FullscreenElementStack.h" | 43 #include "core/dom/Fullscreen.h" |
| 44 #include "core/dom/NodeRenderStyle.h" | 44 #include "core/dom/NodeRenderStyle.h" |
| 45 #include "core/dom/Range.h" | 45 #include "core/dom/Range.h" |
| 46 #include "core/editing/Editor.h" | 46 #include "core/editing/Editor.h" |
| 47 #include "core/editing/FrameSelection.h" | 47 #include "core/editing/FrameSelection.h" |
| 48 #include "core/editing/SpellChecker.h" | 48 #include "core/editing/SpellChecker.h" |
| 49 #include "core/editing/VisiblePosition.h" | 49 #include "core/editing/VisiblePosition.h" |
| 50 #include "core/events/MouseEvent.h" | 50 #include "core/events/MouseEvent.h" |
| 51 #include "core/frame/FrameView.h" | 51 #include "core/frame/FrameView.h" |
| 52 #include "core/frame/LocalFrame.h" | 52 #include "core/frame/LocalFrame.h" |
| 53 #include "core/frame/Settings.h" | 53 #include "core/frame/Settings.h" |
| (...skipping 5593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5647 FrameTestHelpers::WebViewHelper webViewHelper; | 5647 FrameTestHelpers::WebViewHelper webViewHelper; |
| 5648 int viewportWidth = 640; | 5648 int viewportWidth = 640; |
| 5649 int viewportHeight = 480; | 5649 int viewportHeight = 480; |
| 5650 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, &configueCompositingWebView); | 5650 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, &configueCompositingWebView); |
| 5651 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); | 5651 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); |
| 5652 webViewImpl->layout(); | 5652 webViewImpl->layout(); |
| 5653 | 5653 |
| 5654 Document* document = toWebLocalFrameImpl(webViewImpl->mainFrame())->frame()-
>document(); | 5654 Document* document = toWebLocalFrameImpl(webViewImpl->mainFrame())->frame()-
>document(); |
| 5655 blink::UserGestureIndicator gesture(blink::DefinitelyProcessingUserGesture); | 5655 blink::UserGestureIndicator gesture(blink::DefinitelyProcessingUserGesture); |
| 5656 Element* divFullscreen = document->getElementById("div1"); | 5656 Element* divFullscreen = document->getElementById("div1"); |
| 5657 FullscreenElementStack::from(*document).requestFullscreen(*divFullscreen, Fu
llscreenElementStack::PrefixedRequest); | 5657 Fullscreen::from(*document).requestFullscreen(*divFullscreen, Fullscreen::Pr
efixedRequest); |
| 5658 webViewImpl->willEnterFullScreen(); | 5658 webViewImpl->willEnterFullScreen(); |
| 5659 webViewImpl->didEnterFullScreen(); | 5659 webViewImpl->didEnterFullScreen(); |
| 5660 webViewImpl->layout(); | 5660 webViewImpl->layout(); |
| 5661 | 5661 |
| 5662 // Verify that the main frame is not scrollable. | 5662 // Verify that the main frame is not scrollable. |
| 5663 ASSERT_TRUE(blink::FullscreenElementStack::isFullScreen(*document)); | 5663 ASSERT_TRUE(blink::Fullscreen::isFullScreen(*document)); |
| 5664 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); | 5664 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); |
| 5665 ASSERT_FALSE(webScrollLayer->scrollable()); | 5665 ASSERT_FALSE(webScrollLayer->scrollable()); |
| 5666 | 5666 |
| 5667 // Verify that the main frame is scrollable upon exiting fullscreen. | 5667 // Verify that the main frame is scrollable upon exiting fullscreen. |
| 5668 webViewImpl->willExitFullScreen(); | 5668 webViewImpl->willExitFullScreen(); |
| 5669 webViewImpl->didExitFullScreen(); | 5669 webViewImpl->didExitFullScreen(); |
| 5670 webViewImpl->layout(); | 5670 webViewImpl->layout(); |
| 5671 ASSERT_FALSE(blink::FullscreenElementStack::isFullScreen(*document)); | 5671 ASSERT_FALSE(blink::Fullscreen::isFullScreen(*document)); |
| 5672 webScrollLayer = webViewImpl->compositor()->scrollLayer()->platformLayer(); | 5672 webScrollLayer = webViewImpl->compositor()->scrollLayer()->platformLayer(); |
| 5673 ASSERT_TRUE(webScrollLayer->scrollable()); | 5673 ASSERT_TRUE(webScrollLayer->scrollable()); |
| 5674 } | 5674 } |
| 5675 | 5675 |
| 5676 TEST_F(WebFrameTest, FullscreenMainFrameScrollable) | 5676 TEST_F(WebFrameTest, FullscreenMainFrameScrollable) |
| 5677 { | 5677 { |
| 5678 FakeCompositingWebViewClient client; | 5678 FakeCompositingWebViewClient client; |
| 5679 registerMockedHttpURLLoad("fullscreen_div.html"); | 5679 registerMockedHttpURLLoad("fullscreen_div.html"); |
| 5680 FrameTestHelpers::WebViewHelper webViewHelper; | 5680 FrameTestHelpers::WebViewHelper webViewHelper; |
| 5681 int viewportWidth = 640; | 5681 int viewportWidth = 640; |
| 5682 int viewportHeight = 480; | 5682 int viewportHeight = 480; |
| 5683 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, &configueCompositingWebView); | 5683 WebViewImpl* webViewImpl = webViewHelper.initializeAndLoad(m_baseURL + "full
screen_div.html", true, 0, &client, &configueCompositingWebView); |
| 5684 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); | 5684 webViewImpl->resize(WebSize(viewportWidth, viewportHeight)); |
| 5685 webViewImpl->layout(); | 5685 webViewImpl->layout(); |
| 5686 | 5686 |
| 5687 Document* document = toWebLocalFrameImpl(webViewImpl->mainFrame())->frame()-
>document(); | 5687 Document* document = toWebLocalFrameImpl(webViewImpl->mainFrame())->frame()-
>document(); |
| 5688 blink::UserGestureIndicator gesture(blink::DefinitelyProcessingUserGesture); | 5688 blink::UserGestureIndicator gesture(blink::DefinitelyProcessingUserGesture); |
| 5689 FullscreenElementStack::from(*document).requestFullscreen(*document->documen
tElement(), FullscreenElementStack::PrefixedRequest); | 5689 Fullscreen::from(*document).requestFullscreen(*document->documentElement(),
Fullscreen::PrefixedRequest); |
| 5690 webViewImpl->willEnterFullScreen(); | 5690 webViewImpl->willEnterFullScreen(); |
| 5691 webViewImpl->didEnterFullScreen(); | 5691 webViewImpl->didEnterFullScreen(); |
| 5692 webViewImpl->layout(); | 5692 webViewImpl->layout(); |
| 5693 | 5693 |
| 5694 // Verify that the main frame is still scrollable. | 5694 // Verify that the main frame is still scrollable. |
| 5695 ASSERT_TRUE(blink::FullscreenElementStack::isFullScreen(*document)); | 5695 ASSERT_TRUE(blink::Fullscreen::isFullScreen(*document)); |
| 5696 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); | 5696 WebLayer* webScrollLayer = webViewImpl->compositor()->scrollLayer()->platfor
mLayer(); |
| 5697 ASSERT_TRUE(webScrollLayer->scrollable()); | 5697 ASSERT_TRUE(webScrollLayer->scrollable()); |
| 5698 } | 5698 } |
| 5699 | 5699 |
| 5700 TEST_F(WebFrameTest, RenderBlockPercentHeightDescendants) | 5700 TEST_F(WebFrameTest, RenderBlockPercentHeightDescendants) |
| 5701 { | 5701 { |
| 5702 registerMockedHttpURLLoad("percent-height-descendants.html"); | 5702 registerMockedHttpURLLoad("percent-height-descendants.html"); |
| 5703 FrameTestHelpers::WebViewHelper webViewHelper; | 5703 FrameTestHelpers::WebViewHelper webViewHelper; |
| 5704 webViewHelper.initializeAndLoad(m_baseURL + "percent-height-descendants.html
"); | 5704 webViewHelper.initializeAndLoad(m_baseURL + "percent-height-descendants.html
"); |
| 5705 | 5705 |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6077 | 6077 |
| 6078 client.reset(); | 6078 client.reset(); |
| 6079 // Try to load the request with cross origin access. Should succeed. | 6079 // Try to load the request with cross origin access. Should succeed. |
| 6080 options.crossOriginRequestPolicy = blink::AllowCrossOriginRequests; | 6080 options.crossOriginRequestPolicy = blink::AllowCrossOriginRequests; |
| 6081 blink::DocumentThreadableLoader::loadResourceSynchronously( | 6081 blink::DocumentThreadableLoader::loadResourceSynchronously( |
| 6082 *frame->document(), blink::ResourceRequest(resourceUrl), client, options
, resourceLoaderOptions); | 6082 *frame->document(), blink::ResourceRequest(resourceUrl), client, options
, resourceLoaderOptions); |
| 6083 EXPECT_FALSE(client.failed()); | 6083 EXPECT_FALSE(client.failed()); |
| 6084 } | 6084 } |
| 6085 | 6085 |
| 6086 } // namespace | 6086 } // namespace |
| OLD | NEW |