OLD | NEW |
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 11 matching lines...) Expand all Loading... |
22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 22 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 24 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
25 */ | 25 */ |
26 | 26 |
27 #include "sky/engine/config.h" | 27 #include "sky/engine/config.h" |
28 #include "sky/engine/core/frame/LocalDOMWindow.h" | 28 #include "sky/engine/core/frame/LocalDOMWindow.h" |
29 | 29 |
30 #include <algorithm> | 30 #include <algorithm> |
31 #include "gen/sky/platform/RuntimeEnabledFeatures.h" | 31 #include "gen/sky/platform/RuntimeEnabledFeatures.h" |
| 32 #include "mojo/services/navigation/public/interfaces/navigation.mojom.h" |
32 #include "sky/engine/bindings/exception_messages.h" | 33 #include "sky/engine/bindings/exception_messages.h" |
33 #include "sky/engine/bindings/exception_state.h" | 34 #include "sky/engine/bindings/exception_state.h" |
34 #include "sky/engine/bindings/exception_state_placeholder.h" | 35 #include "sky/engine/bindings/exception_state_placeholder.h" |
35 #include "sky/engine/core/app/Application.h" | 36 #include "sky/engine/core/app/Application.h" |
36 #include "sky/engine/core/css/CSSComputedStyleDeclaration.h" | 37 #include "sky/engine/core/css/CSSComputedStyleDeclaration.h" |
37 #include "sky/engine/core/css/DOMWindowCSS.h" | 38 #include "sky/engine/core/css/DOMWindowCSS.h" |
38 #include "sky/engine/core/css/MediaQueryList.h" | 39 #include "sky/engine/core/css/MediaQueryList.h" |
39 #include "sky/engine/core/css/MediaQueryMatcher.h" | 40 #include "sky/engine/core/css/MediaQueryMatcher.h" |
40 #include "sky/engine/core/css/resolver/StyleResolver.h" | 41 #include "sky/engine/core/css/resolver/StyleResolver.h" |
41 #include "sky/engine/core/dom/Document.h" | 42 #include "sky/engine/core/dom/Document.h" |
(...skipping 20 matching lines...) Expand all Loading... |
62 #include "sky/engine/core/page/EventHandler.h" | 63 #include "sky/engine/core/page/EventHandler.h" |
63 #include "sky/engine/core/page/Page.h" | 64 #include "sky/engine/core/page/Page.h" |
64 #include "sky/engine/core/rendering/style/RenderStyle.h" | 65 #include "sky/engine/core/rendering/style/RenderStyle.h" |
65 #include "sky/engine/core/script/dart_controller.h" | 66 #include "sky/engine/core/script/dart_controller.h" |
66 #include "sky/engine/platform/EventDispatchForbiddenScope.h" | 67 #include "sky/engine/platform/EventDispatchForbiddenScope.h" |
67 #include "sky/engine/platform/PlatformScreen.h" | 68 #include "sky/engine/platform/PlatformScreen.h" |
68 #include "sky/engine/platform/geometry/FloatRect.h" | 69 #include "sky/engine/platform/geometry/FloatRect.h" |
69 #include "sky/engine/platform/weborigin/KURL.h" | 70 #include "sky/engine/platform/weborigin/KURL.h" |
70 #include "sky/engine/platform/weborigin/SecurityPolicy.h" | 71 #include "sky/engine/platform/weborigin/SecurityPolicy.h" |
71 #include "sky/engine/public/platform/Platform.h" | 72 #include "sky/engine/public/platform/Platform.h" |
| 73 #include "sky/engine/public/platform/ServiceProvider.h" |
72 #include "sky/engine/tonic/dart_gc_visitor.h" | 74 #include "sky/engine/tonic/dart_gc_visitor.h" |
73 #include "sky/engine/wtf/MainThread.h" | 75 #include "sky/engine/wtf/MainThread.h" |
74 #include "sky/engine/wtf/MathExtras.h" | 76 #include "sky/engine/wtf/MathExtras.h" |
75 #include "sky/engine/wtf/text/WTFString.h" | 77 #include "sky/engine/wtf/text/WTFString.h" |
76 | 78 |
77 using std::min; | 79 using std::min; |
78 using std::max; | 80 using std::max; |
79 | 81 |
80 namespace blink { | 82 namespace blink { |
81 | 83 |
(...skipping 598 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
680 removeAllUnloadEventListeners(this); | 682 removeAllUnloadEventListeners(this); |
681 } | 683 } |
682 | 684 |
683 void LocalDOMWindow::removeAllEventListeners() | 685 void LocalDOMWindow::removeAllEventListeners() |
684 { | 686 { |
685 removeAllEventListenersInternal(DoBroadcastListenerRemoval); | 687 removeAllEventListenersInternal(DoBroadcastListenerRemoval); |
686 } | 688 } |
687 | 689 |
688 void LocalDOMWindow::setLocation(const String& urlString, SetLocationLocking loc
king) | 690 void LocalDOMWindow::setLocation(const String& urlString, SetLocationLocking loc
king) |
689 { | 691 { |
690 // FIXME(sky): remove. | 692 if (!m_frame) |
| 693 return; |
| 694 FrameHost* host = m_frame->host(); |
| 695 if (!host) |
| 696 return; |
| 697 mojo::URLRequestPtr request = mojo::URLRequest::New(); |
| 698 request->url = urlString.toUTF8(); |
| 699 host->services()->NavigatorHost()->RequestNavigate( |
| 700 mojo::TARGET_SOURCE_NODE, request.Pass()); |
691 } | 701 } |
692 | 702 |
693 void LocalDOMWindow::printErrorMessage(const String& message) | 703 void LocalDOMWindow::printErrorMessage(const String& message) |
694 { | 704 { |
695 if (message.isEmpty()) | 705 if (message.isEmpty()) |
696 return; | 706 return; |
697 | 707 |
698 frameConsole()->addMessage(ConsoleMessage::create(JSMessageSource, ErrorMess
ageLevel, message)); | 708 frameConsole()->addMessage(ConsoleMessage::create(JSMessageSource, ErrorMess
ageLevel, message)); |
699 } | 709 } |
700 | 710 |
701 | 711 |
702 bool LocalDOMWindow::isInsecureScriptAccess(LocalDOMWindow& callingWindow, const
String& urlString) | 712 bool LocalDOMWindow::isInsecureScriptAccess(LocalDOMWindow& callingWindow, const
String& urlString) |
703 { | 713 { |
704 // FIXME(sky): remove. | 714 // FIXME(sky): remove. |
705 return false; | 715 return false; |
706 } | 716 } |
707 | 717 |
708 DOMWindowLifecycleNotifier& LocalDOMWindow::lifecycleNotifier() | 718 DOMWindowLifecycleNotifier& LocalDOMWindow::lifecycleNotifier() |
709 { | 719 { |
710 return static_cast<DOMWindowLifecycleNotifier&>(LifecycleContext<LocalDOMWin
dow>::lifecycleNotifier()); | 720 return static_cast<DOMWindowLifecycleNotifier&>(LifecycleContext<LocalDOMWin
dow>::lifecycleNotifier()); |
711 } | 721 } |
712 | 722 |
713 PassOwnPtr<LifecycleNotifier<LocalDOMWindow> > LocalDOMWindow::createLifecycleNo
tifier() | 723 PassOwnPtr<LifecycleNotifier<LocalDOMWindow> > LocalDOMWindow::createLifecycleNo
tifier() |
714 { | 724 { |
715 return DOMWindowLifecycleNotifier::create(this); | 725 return DOMWindowLifecycleNotifier::create(this); |
716 } | 726 } |
717 | 727 |
718 } // namespace blink | 728 } // namespace blink |
OLD | NEW |