Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(57)

Side by Side Diff: third_party/WebKit/Source/core/frame/LocalDOMWindow.cpp

Issue 1896793002: Rename (updateLayout/updateStyle).*.() to updateStyleAndLayout.*.() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 783 matching lines...) Expand 10 before | Expand all | Expand 10 after
794 } 794 }
795 795
796 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) { 796 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) {
797 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Alert); 797 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Alert);
798 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) { 798 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) {
799 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'alert()' during microtask execution.") ); 799 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'alert()' during microtask execution.") );
800 return; 800 return;
801 } 801 }
802 } 802 }
803 803
804 frame()->document()->updateLayoutTree(); 804 frame()->document()->updateStyleAndLayoutTree();
805 805
806 FrameHost* host = frame()->host(); 806 FrameHost* host = frame()->host();
807 if (!host) 807 if (!host)
808 return; 808 return;
809 809
810 host->chromeClient().openJavaScriptAlert(frame(), message); 810 host->chromeClient().openJavaScriptAlert(frame(), message);
811 } 811 }
812 812
813 bool LocalDOMWindow::confirm(ScriptState* scriptState, const String& message) 813 bool LocalDOMWindow::confirm(ScriptState* scriptState, const String& message)
814 { 814 {
815 if (!frame()) 815 if (!frame())
816 return false; 816 return false;
817 817
818 if (frame()->document()->isSandboxed(SandboxModals)) { 818 if (frame()->document()->isSandboxed(SandboxModals)) {
819 UseCounter::count(frame()->document(), UseCounter::DialogInSandboxedCont ext); 819 UseCounter::count(frame()->document(), UseCounter::DialogInSandboxedCont ext);
820 if (RuntimeEnabledFeatures::sandboxBlocksModalsEnabled()) { 820 if (RuntimeEnabledFeatures::sandboxBlocksModalsEnabled()) {
821 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'confirm()'. The document is sandboxed, and the 'allow-modals' keyword is not set.")); 821 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'confirm()'. The document is sandboxed, and the 'allow-modals' keyword is not set."));
822 return false; 822 return false;
823 } 823 }
824 } 824 }
825 825
826 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) { 826 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) {
827 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Confirm); 827 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Confirm);
828 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) { 828 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) {
829 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'confirm()' during microtask execution. ")); 829 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'confirm()' during microtask execution. "));
830 return false; 830 return false;
831 } 831 }
832 } 832 }
833 833
834 frame()->document()->updateLayoutTree(); 834 frame()->document()->updateStyleAndLayoutTree();
835 835
836 FrameHost* host = frame()->host(); 836 FrameHost* host = frame()->host();
837 if (!host) 837 if (!host)
838 return false; 838 return false;
839 839
840 return host->chromeClient().openJavaScriptConfirm(frame(), message); 840 return host->chromeClient().openJavaScriptConfirm(frame(), message);
841 } 841 }
842 842
843 String LocalDOMWindow::prompt(ScriptState* scriptState, const String& message, c onst String& defaultValue) 843 String LocalDOMWindow::prompt(ScriptState* scriptState, const String& message, c onst String& defaultValue)
844 { 844 {
845 if (!frame()) 845 if (!frame())
846 return String(); 846 return String();
847 847
848 if (frame()->document()->isSandboxed(SandboxModals)) { 848 if (frame()->document()->isSandboxed(SandboxModals)) {
849 UseCounter::count(frame()->document(), UseCounter::DialogInSandboxedCont ext); 849 UseCounter::count(frame()->document(), UseCounter::DialogInSandboxedCont ext);
850 if (RuntimeEnabledFeatures::sandboxBlocksModalsEnabled()) { 850 if (RuntimeEnabledFeatures::sandboxBlocksModalsEnabled()) {
851 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'prompt()'. The document is sandboxed, and the 'allow-modals' keyword is not set.")); 851 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'prompt()'. The document is sandboxed, and the 'allow-modals' keyword is not set."));
852 return String(); 852 return String();
853 } 853 }
854 } 854 }
855 855
856 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) { 856 if (v8::MicrotasksScope::IsRunningMicrotasks(scriptState->isolate())) {
857 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Prompt); 857 Deprecation::countDeprecation(frame()->document(), UseCounter::During_Mi crotask_Prompt);
858 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) { 858 if (RuntimeEnabledFeatures::disableBlockingMethodsDuringMicrotasksEnable d()) {
859 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'prompt()' during microtask execution." )); 859 frameConsole()->addMessage(ConsoleMessage::create(SecurityMessageSou rce, ErrorMessageLevel, "Ignored call to 'prompt()' during microtask execution." ));
860 return String(); 860 return String();
861 } 861 }
862 } 862 }
863 863
864 frame()->document()->updateLayoutTree(); 864 frame()->document()->updateStyleAndLayoutTree();
865 865
866 FrameHost* host = frame()->host(); 866 FrameHost* host = frame()->host();
867 if (!host) 867 if (!host)
868 return String(); 868 return String();
869 869
870 String returnValue; 870 String returnValue;
871 if (host->chromeClient().openJavaScriptPrompt(frame(), message, defaultValue , returnValue)) 871 if (host->chromeClient().openJavaScriptPrompt(frame(), message, defaultValue , returnValue))
872 return returnValue; 872 return returnValue;
873 873
874 return String(); 874 return String();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 925
926 FrameHost* host = frame->host(); 926 FrameHost* host = frame->host();
927 if (!host) 927 if (!host)
928 return FloatSize(); 928 return FloatSize();
929 929
930 // The main frame's viewport size depends on the page scale. Since the 930 // The main frame's viewport size depends on the page scale. Since the
931 // initial page scale depends on the content width and is set after a 931 // initial page scale depends on the content width and is set after a
932 // layout, perform one now so queries during page load will use the up to 932 // layout, perform one now so queries during page load will use the up to
933 // date viewport. 933 // date viewport.
934 if (host->settings().viewportEnabled() && frame->isMainFrame()) 934 if (host->settings().viewportEnabled() && frame->isMainFrame())
935 frame->document()->updateLayoutIgnorePendingStylesheets(); 935 frame->document()->updateStyleAndLayoutIgnorePendingStylesheets();
936 936
937 // FIXME: This is potentially too much work. We really only need to know the dimensions of the parent frame's layoutObject. 937 // FIXME: This is potentially too much work. We really only need to know the dimensions of the parent frame's layoutObject.
938 if (Frame* parent = frame->tree().parent()) { 938 if (Frame* parent = frame->tree().parent()) {
939 if (parent && parent->isLocalFrame()) 939 if (parent && parent->isLocalFrame())
940 toLocalFrame(parent)->document()->updateLayoutIgnorePendingStyleshee ts(); 940 toLocalFrame(parent)->document()->updateStyleAndLayoutIgnorePendingS tylesheets();
941 } 941 }
942 942
943 return frame->isMainFrame() && !host->settings().inertVisualViewport() 943 return frame->isMainFrame() && !host->settings().inertVisualViewport()
944 ? FloatSize(host->visualViewport().visibleRect().size()) 944 ? FloatSize(host->visualViewport().visibleRect().size())
945 : FloatSize(view->visibleContentRect(IncludeScrollbars).size()); 945 : FloatSize(view->visibleContentRect(IncludeScrollbars).size());
946 } 946 }
947 947
948 int LocalDOMWindow::innerHeight() const 948 int LocalDOMWindow::innerHeight() const
949 { 949 {
950 if (!frame()) 950 if (!frame())
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
997 return 0; 997 return 0;
998 998
999 FrameView* view = frame()->view(); 999 FrameView* view = frame()->view();
1000 if (!view) 1000 if (!view)
1001 return 0; 1001 return 0;
1002 1002
1003 FrameHost* host = frame()->host(); 1003 FrameHost* host = frame()->host();
1004 if (!host) 1004 if (!host)
1005 return 0; 1005 return 0;
1006 1006
1007 frame()->document()->updateLayoutIgnorePendingStylesheets(); 1007 frame()->document()->updateStyleAndLayoutIgnorePendingStylesheets();
1008 1008
1009 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea(); 1009 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea();
1010 double viewportX = viewport->scrollPositionDouble().x(); 1010 double viewportX = viewport->scrollPositionDouble().x();
1011 return adjustScrollForAbsoluteZoom(viewportX, frame()->pageZoomFactor()); 1011 return adjustScrollForAbsoluteZoom(viewportX, frame()->pageZoomFactor());
1012 } 1012 }
1013 1013
1014 double LocalDOMWindow::scrollY() const 1014 double LocalDOMWindow::scrollY() const
1015 { 1015 {
1016 if (!frame()) 1016 if (!frame())
1017 return 0; 1017 return 0;
1018 1018
1019 FrameView* view = frame()->view(); 1019 FrameView* view = frame()->view();
1020 if (!view) 1020 if (!view)
1021 return 0; 1021 return 0;
1022 1022
1023 FrameHost* host = frame()->host(); 1023 FrameHost* host = frame()->host();
1024 if (!host) 1024 if (!host)
1025 return 0; 1025 return 0;
1026 1026
1027 frame()->document()->updateLayoutIgnorePendingStylesheets(); 1027 frame()->document()->updateStyleAndLayoutIgnorePendingStylesheets();
1028 1028
1029 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea(); 1029 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea();
1030 double viewportY = viewport->scrollPositionDouble().y(); 1030 double viewportY = viewport->scrollPositionDouble().y();
1031 return adjustScrollForAbsoluteZoom(viewportY, frame()->pageZoomFactor()); 1031 return adjustScrollForAbsoluteZoom(viewportY, frame()->pageZoomFactor());
1032 } 1032 }
1033 1033
1034 const AtomicString& LocalDOMWindow::name() const 1034 const AtomicString& LocalDOMWindow::name() const
1035 { 1035 {
1036 if (!isCurrentlyDisplayedInFrame()) 1036 if (!isCurrentlyDisplayedInFrame())
1037 return nullAtom; 1037 return nullAtom;
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
1105 if (!isCurrentlyDisplayedInFrame()) 1105 if (!isCurrentlyDisplayedInFrame())
1106 return nullptr; 1106 return nullptr;
1107 1107
1108 unsigned colonStart = pseudoElement[0] == ':' ? (pseudoElement[1] == ':' ? 2 : 1) : 0; 1108 unsigned colonStart = pseudoElement[0] == ':' ? (pseudoElement[1] == ':' ? 2 : 1) : 0;
1109 CSSSelector::PseudoType pseudoType = CSSSelector::parsePseudoType(AtomicStri ng(pseudoElement.substring(colonStart)), false); 1109 CSSSelector::PseudoType pseudoType = CSSSelector::parsePseudoType(AtomicStri ng(pseudoElement.substring(colonStart)), false);
1110 if (pseudoType == CSSSelector::PseudoUnknown && !pseudoElement.isEmpty()) 1110 if (pseudoType == CSSSelector::PseudoUnknown && !pseudoElement.isEmpty())
1111 return nullptr; 1111 return nullptr;
1112 1112
1113 unsigned rulesToInclude = StyleResolver::AuthorCSSRules; 1113 unsigned rulesToInclude = StyleResolver::AuthorCSSRules;
1114 PseudoId pseudoId = CSSSelector::pseudoId(pseudoType); 1114 PseudoId pseudoId = CSSSelector::pseudoId(pseudoType);
1115 element->document().updateLayoutTree(); 1115 element->document().updateStyleAndLayoutTree();
1116 return frame()->document()->ensureStyleResolver().pseudoCSSRulesForElement(e lement, pseudoId, rulesToInclude); 1116 return frame()->document()->ensureStyleResolver().pseudoCSSRulesForElement(e lement, pseudoId, rulesToInclude);
1117 } 1117 }
1118 1118
1119 double LocalDOMWindow::devicePixelRatio() const 1119 double LocalDOMWindow::devicePixelRatio() const
1120 { 1120 {
1121 if (!frame()) 1121 if (!frame())
1122 return 0.0; 1122 return 0.0;
1123 1123
1124 return frame()->devicePixelRatio(); 1124 return frame()->devicePixelRatio();
1125 } 1125 }
1126 1126
1127 void LocalDOMWindow::scrollBy(double x, double y, ScrollBehavior scrollBehavior) const 1127 void LocalDOMWindow::scrollBy(double x, double y, ScrollBehavior scrollBehavior) const
1128 { 1128 {
1129 if (!isCurrentlyDisplayedInFrame()) 1129 if (!isCurrentlyDisplayedInFrame())
1130 return; 1130 return;
1131 1131
1132 document()->updateLayoutIgnorePendingStylesheets(); 1132 document()->updateStyleAndLayoutIgnorePendingStylesheets();
1133 1133
1134 FrameView* view = frame()->view(); 1134 FrameView* view = frame()->view();
1135 if (!view) 1135 if (!view)
1136 return; 1136 return;
1137 1137
1138 FrameHost* host = frame()->host(); 1138 FrameHost* host = frame()->host();
1139 if (!host) 1139 if (!host)
1140 return; 1140 return;
1141 1141
1142 x = ScrollableArea::normalizeNonFiniteScroll(x); 1142 x = ScrollableArea::normalizeNonFiniteScroll(x);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 FrameHost* host = frame()->host(); 1175 FrameHost* host = frame()->host();
1176 if (!host) 1176 if (!host)
1177 return; 1177 return;
1178 1178
1179 x = ScrollableArea::normalizeNonFiniteScroll(x); 1179 x = ScrollableArea::normalizeNonFiniteScroll(x);
1180 y = ScrollableArea::normalizeNonFiniteScroll(y); 1180 y = ScrollableArea::normalizeNonFiniteScroll(y);
1181 1181
1182 // It is only necessary to have an up-to-date layout if the position may be clamped, 1182 // It is only necessary to have an up-to-date layout if the position may be clamped,
1183 // which is never the case for (0, 0). 1183 // which is never the case for (0, 0).
1184 if (x || y) 1184 if (x || y)
1185 document()->updateLayoutIgnorePendingStylesheets(); 1185 document()->updateStyleAndLayoutIgnorePendingStylesheets();
1186 1186
1187 DoublePoint layoutPos(x * frame()->pageZoomFactor(), y * frame()->pageZoomFa ctor()); 1187 DoublePoint layoutPos(x * frame()->pageZoomFactor(), y * frame()->pageZoomFa ctor());
1188 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea(); 1188 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea();
1189 viewport->setScrollPosition(layoutPos, ProgrammaticScroll, ScrollBehaviorAut o); 1189 viewport->setScrollPosition(layoutPos, ProgrammaticScroll, ScrollBehaviorAut o);
1190 } 1190 }
1191 1191
1192 void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const 1192 void LocalDOMWindow::scrollTo(const ScrollToOptions& scrollToOptions) const
1193 { 1193 {
1194 if (!isCurrentlyDisplayedInFrame()) 1194 if (!isCurrentlyDisplayedInFrame())
1195 return; 1195 return;
1196 1196
1197 FrameView* view = frame()->view(); 1197 FrameView* view = frame()->view();
1198 if (!view) 1198 if (!view)
1199 return; 1199 return;
1200 1200
1201 FrameHost* host = frame()->host(); 1201 FrameHost* host = frame()->host();
1202 if (!host) 1202 if (!host)
1203 return; 1203 return;
1204 1204
1205 // It is only necessary to have an up-to-date layout if the position may be clamped, 1205 // It is only necessary to have an up-to-date layout if the position may be clamped,
1206 // which is never the case for (0, 0). 1206 // which is never the case for (0, 0).
1207 if (!scrollToOptions.hasLeft() 1207 if (!scrollToOptions.hasLeft()
1208 || !scrollToOptions.hasTop() 1208 || !scrollToOptions.hasTop()
1209 || scrollToOptions.left() 1209 || scrollToOptions.left()
1210 || scrollToOptions.top()) { 1210 || scrollToOptions.top()) {
1211 document()->updateLayoutIgnorePendingStylesheets(); 1211 document()->updateStyleAndLayoutIgnorePendingStylesheets();
1212 } 1212 }
1213 1213
1214 double scaledX = 0.0; 1214 double scaledX = 0.0;
1215 double scaledY = 0.0; 1215 double scaledY = 0.0;
1216 1216
1217 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea(); 1217 ScrollableArea* viewport = host->settings().inertVisualViewport() ? view->la youtViewportScrollableArea() : view->getScrollableArea();
1218 1218
1219 DoublePoint currentOffset = viewport->scrollPositionDouble(); 1219 DoublePoint currentOffset = viewport->scrollPositionDouble();
1220 scaledX = currentOffset.x(); 1220 scaledX = currentOffset.x();
1221 scaledY = currentOffset.y(); 1221 scaledY = currentOffset.y();
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1535 { 1535 {
1536 // If the LocalDOMWindow still has a frame reference, that frame must point 1536 // If the LocalDOMWindow still has a frame reference, that frame must point
1537 // back to this LocalDOMWindow: otherwise, it's easy to get into a situation 1537 // back to this LocalDOMWindow: otherwise, it's easy to get into a situation
1538 // where script execution leaks between different LocalDOMWindows. 1538 // where script execution leaks between different LocalDOMWindows.
1539 if (m_frameObserver->frame()) 1539 if (m_frameObserver->frame())
1540 ASSERT_WITH_SECURITY_IMPLICATION(m_frameObserver->frame()->domWindow() = = this); 1540 ASSERT_WITH_SECURITY_IMPLICATION(m_frameObserver->frame()->domWindow() = = this);
1541 return m_frameObserver->frame(); 1541 return m_frameObserver->frame();
1542 } 1542 }
1543 1543
1544 } // namespace blink 1544 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/frame/FrameViewAutoSizeInfo.cpp ('k') | third_party/WebKit/Source/core/frame/LocalFrame.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698