OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved. |
3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 4 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
5 * Copyright (C) 2009 Adam Barth. All rights reserved. | 5 * Copyright (C) 2009 Adam Barth. All rights reserved. |
6 * | 6 * |
7 * Redistribution and use in source and binary forms, with or without | 7 * Redistribution and use in source and binary forms, with or without |
8 * modification, are permitted provided that the following conditions | 8 * modification, are permitted provided that the following conditions |
9 * are met: | 9 * are met: |
10 * | 10 * |
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 | 303 |
304 // If the URL we're going to navigate to is the same as the current one, exc
ept for the | 304 // If the URL we're going to navigate to is the same as the current one, exc
ept for the |
305 // fragment part, we don't need to schedule the location change. We'll skip
this | 305 // fragment part, we don't need to schedule the location change. We'll skip
this |
306 // optimization for cross-origin navigations to minimize the navigator's abi
lity to | 306 // optimization for cross-origin navigations to minimize the navigator's abi
lity to |
307 // execute timing attacks. | 307 // execute timing attacks. |
308 if (originDocument->securityOrigin()->canAccess(m_frame->document()->securit
yOrigin())) { | 308 if (originDocument->securityOrigin()->canAccess(m_frame->document()->securit
yOrigin())) { |
309 KURL parsedURL(ParsedURLString, url); | 309 KURL parsedURL(ParsedURLString, url); |
310 if (parsedURL.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier
(m_frame->document()->url(), parsedURL)) { | 310 if (parsedURL.hasFragmentIdentifier() && equalIgnoringFragmentIdentifier
(m_frame->document()->url(), parsedURL)) { |
311 FrameLoadRequest request(originDocument, ResourceRequest(m_frame->do
cument()->completeURL(url), AtomicString(referrer)), "_self"); | 311 FrameLoadRequest request(originDocument, ResourceRequest(m_frame->do
cument()->completeURL(url), AtomicString(referrer)), "_self"); |
312 request.setLockBackForwardList(lockBackForwardList); | 312 request.setLockBackForwardList(lockBackForwardList); |
313 request.setClientRedirect(ClientRedirect); | 313 if (lockBackForwardList) |
| 314 request.setClientRedirect(ClientRedirect); |
314 m_frame->loader().load(request); | 315 m_frame->loader().load(request); |
315 return; | 316 return; |
316 } | 317 } |
317 } | 318 } |
318 | 319 |
319 schedule(adoptPtr(new ScheduledLocationChange(originDocument, url, AtomicStr
ing(referrer), lockBackForwardList))); | 320 schedule(adoptPtr(new ScheduledLocationChange(originDocument, url, AtomicStr
ing(referrer), lockBackForwardList))); |
320 } | 321 } |
321 | 322 |
322 void NavigationScheduler::scheduleFormSubmission(PassRefPtr<FormSubmission> subm
ission) | 323 void NavigationScheduler::scheduleFormSubmission(PassRefPtr<FormSubmission> subm
ission) |
323 { | 324 { |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 | 395 |
395 void NavigationScheduler::cancel() | 396 void NavigationScheduler::cancel() |
396 { | 397 { |
397 if (m_timer.isActive()) | 398 if (m_timer.isActive()) |
398 InspectorInstrumentation::frameClearedScheduledNavigation(m_frame); | 399 InspectorInstrumentation::frameClearedScheduledNavigation(m_frame); |
399 m_timer.stop(); | 400 m_timer.stop(); |
400 m_redirect.clear(); | 401 m_redirect.clear(); |
401 } | 402 } |
402 | 403 |
403 } // namespace WebCore | 404 } // namespace WebCore |
OLD | NEW |