| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 3 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
| 4 * Copyright (C) 2009 Adam Barth. All rights reserved. | 4 * Copyright (C) 2009 Adam Barth. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 void schedule(ScheduledNavigation*); | 83 void schedule(ScheduledNavigation*); |
| 84 | 84 |
| 85 static bool mustReplaceCurrentItem(LocalFrame* targetFrame); | 85 static bool mustReplaceCurrentItem(LocalFrame* targetFrame); |
| 86 | 86 |
| 87 Member<LocalFrame> m_frame; | 87 Member<LocalFrame> m_frame; |
| 88 std::unique_ptr<CancellableTaskFactory> m_navigateTaskFactory; | 88 std::unique_ptr<CancellableTaskFactory> m_navigateTaskFactory; |
| 89 Member<ScheduledNavigation> m_redirect; | 89 Member<ScheduledNavigation> m_redirect; |
| 90 WebScheduler::NavigatingFrameType m_frameType; // Exists because we can't de
ref m_frame in destructor. | 90 WebScheduler::NavigatingFrameType m_frameType; // Exists because we can't de
ref m_frame in destructor. |
| 91 }; | 91 }; |
| 92 | 92 |
| 93 class NavigationDisablerForBeforeUnload { | 93 class NavigationDisablerForUnload { |
| 94 WTF_MAKE_NONCOPYABLE(NavigationDisablerForBeforeUnload); | 94 WTF_MAKE_NONCOPYABLE(NavigationDisablerForUnload); |
| 95 STACK_ALLOCATED(); | 95 STACK_ALLOCATED(); |
| 96 public: | 96 public: |
| 97 NavigationDisablerForBeforeUnload() | 97 NavigationDisablerForUnload() |
| 98 { | 98 { |
| 99 s_navigationDisableCount++; | 99 s_navigationDisableCount++; |
| 100 } | 100 } |
| 101 ~NavigationDisablerForBeforeUnload() | 101 ~NavigationDisablerForUnload() |
| 102 { | 102 { |
| 103 ASSERT(s_navigationDisableCount); | 103 ASSERT(s_navigationDisableCount); |
| 104 s_navigationDisableCount--; | 104 s_navigationDisableCount--; |
| 105 } | 105 } |
| 106 static bool isNavigationAllowed() { return !s_navigationDisableCount; } | 106 static bool isNavigationAllowed() { return !s_navigationDisableCount; } |
| 107 | 107 |
| 108 private: | 108 private: |
| 109 static unsigned s_navigationDisableCount; | 109 static unsigned s_navigationDisableCount; |
| 110 }; | 110 }; |
| 111 | 111 |
| 112 class CORE_EXPORT NavigationCounterForUnload { | |
| 113 WTF_MAKE_NONCOPYABLE(NavigationCounterForUnload); | |
| 114 STACK_ALLOCATED(); | |
| 115 public: | |
| 116 NavigationCounterForUnload() | |
| 117 { | |
| 118 s_inUnloadHandler++; | |
| 119 } | |
| 120 ~NavigationCounterForUnload() | |
| 121 { | |
| 122 DCHECK(s_inUnloadHandler); | |
| 123 s_inUnloadHandler--; | |
| 124 } | |
| 125 static bool inUnloadHandler() { return !!s_inUnloadHandler; } | |
| 126 | |
| 127 private: | |
| 128 static unsigned s_inUnloadHandler; | |
| 129 }; | |
| 130 | |
| 131 } // namespace blink | 112 } // namespace blink |
| 132 | 113 |
| 133 #endif // NavigationScheduler_h | 114 #endif // NavigationScheduler_h |
| OLD | NEW |