OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google 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 are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
348 } | 348 } |
349 | 349 |
350 } // namespace | 350 } // namespace |
351 | 351 |
352 Page* ChromeClientImpl::createWindow(LocalFrame* frame, const FrameLoadRequest&
r, const WindowFeatures& features, | 352 Page* ChromeClientImpl::createWindow(LocalFrame* frame, const FrameLoadRequest&
r, const WindowFeatures& features, |
353 NavigationPolicy navigationPolicy, ShouldSetOpener shouldSetOpener) | 353 NavigationPolicy navigationPolicy, ShouldSetOpener shouldSetOpener) |
354 { | 354 { |
355 if (!m_webView->client()) | 355 if (!m_webView->client()) |
356 return nullptr; | 356 return nullptr; |
357 | 357 |
| 358 if (!frame->page() || frame->page()->defersLoading()) |
| 359 return nullptr; |
| 360 |
358 WebNavigationPolicy policy = effectiveNavigationPolicy(navigationPolicy, fea
tures); | 361 WebNavigationPolicy policy = effectiveNavigationPolicy(navigationPolicy, fea
tures); |
359 DCHECK(frame->document()); | 362 DCHECK(frame->document()); |
360 Fullscreen::fullyExitFullscreen(*frame->document()); | 363 Fullscreen::fullyExitFullscreen(*frame->document()); |
361 | 364 |
362 WebViewImpl* newView = toWebViewImpl( | 365 WebViewImpl* newView = toWebViewImpl( |
363 m_webView->client()->createView(WebLocalFrameImpl::fromFrame(frame), Wra
ppedResourceRequest(r.resourceRequest()), features, r.frameName(), policy, shoul
dSetOpener == NeverSetOpener)); | 366 m_webView->client()->createView(WebLocalFrameImpl::fromFrame(frame), Wra
ppedResourceRequest(r.resourceRequest()), features, r.frameName(), policy, shoul
dSetOpener == NeverSetOpener)); |
364 if (!newView) | 367 if (!newView) |
365 return nullptr; | 368 return nullptr; |
366 return newView->page(); | 369 return newView->page(); |
367 } | 370 } |
(...skipping 740 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1108 { | 1111 { |
1109 return adoptPtr(m_webView->scheduler()->createFrameScheduler(blameContext).r
elease()); | 1112 return adoptPtr(m_webView->scheduler()->createFrameScheduler(blameContext).r
elease()); |
1110 } | 1113 } |
1111 | 1114 |
1112 double ChromeClientImpl::lastFrameTimeMonotonic() const | 1115 double ChromeClientImpl::lastFrameTimeMonotonic() const |
1113 { | 1116 { |
1114 return m_webView->lastFrameTimeMonotonic(); | 1117 return m_webView->lastFrameTimeMonotonic(); |
1115 } | 1118 } |
1116 | 1119 |
1117 } // namespace blink | 1120 } // namespace blink |
OLD | NEW |