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

Side by Side Diff: third_party/WebKit/Source/web/WebLocalFrameImpl.cpp

Issue 1830883002: Add blink::ServiceRegistry and expose it from LocalFrame and Platform. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 1407 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 RefPtrWillBeRawPtr<WebLocalFrameImpl> webFrame = adoptRefWillBeNoop(new WebL ocalFrameImpl(oldWebFrame, client)); 1418 RefPtrWillBeRawPtr<WebLocalFrameImpl> webFrame = adoptRefWillBeNoop(new WebL ocalFrameImpl(oldWebFrame, client));
1419 Frame* oldFrame = oldWebFrame->toImplBase()->frame(); 1419 Frame* oldFrame = oldWebFrame->toImplBase()->frame();
1420 webFrame->setParent(oldWebFrame->parent()); 1420 webFrame->setParent(oldWebFrame->parent());
1421 webFrame->setOpener(oldWebFrame->opener()); 1421 webFrame->setOpener(oldWebFrame->opener());
1422 // Note: this *always* temporarily sets a frame owner, even for main frames! 1422 // Note: this *always* temporarily sets a frame owner, even for main frames!
1423 // When a core Frame is created with no owner, it attempts to set itself as 1423 // When a core Frame is created with no owner, it attempts to set itself as
1424 // the main frame of the Page. However, this is a provisional frame, and may 1424 // the main frame of the Page. However, this is a provisional frame, and may
1425 // disappear, so Page::m_mainFrame can't be updated just yet. 1425 // disappear, so Page::m_mainFrame can't be updated just yet.
1426 OwnPtrWillBeRawPtr<FrameOwner> tempOwner = DummyFrameOwner::create(); 1426 OwnPtrWillBeRawPtr<FrameOwner> tempOwner = DummyFrameOwner::create();
1427 // TODO(dcheng): This block is very similar to initializeCoreFrame. Try to r euse it here. 1427 // TODO(dcheng): This block is very similar to initializeCoreFrame. Try to r euse it here.
1428 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(webFrame->m_frameL oaderClientImpl.get(), oldFrame->host(), tempOwner.get()); 1428 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(webFrame->m_frameL oaderClientImpl.get(), oldFrame->host(), tempOwner.get(), client->serviceRegistr y());
1429 // Set the name and unique name directly, bypassing any of the normal logic 1429 // Set the name and unique name directly, bypassing any of the normal logic
1430 // to calculate unique name. 1430 // to calculate unique name.
1431 frame->tree().setPrecalculatedName(toWebRemoteFrameImpl(oldWebFrame)->frame( )->tree().name(), toWebRemoteFrameImpl(oldWebFrame)->frame()->tree().uniqueName( )); 1431 frame->tree().setPrecalculatedName(toWebRemoteFrameImpl(oldWebFrame)->frame( )->tree().name(), toWebRemoteFrameImpl(oldWebFrame)->frame()->tree().uniqueName( ));
1432 webFrame->setCoreFrame(frame); 1432 webFrame->setCoreFrame(frame);
1433 1433
1434 frame->setOwner(oldFrame->owner()); 1434 frame->setOwner(oldFrame->owner());
1435 1435
1436 if (frame->owner() && frame->owner()->isRemote()) { 1436 if (frame->owner() && frame->owner()->isRemote()) {
1437 toRemoteFrameOwner(frame->owner())->setSandboxFlags(static_cast<SandboxF lags>(flags)); 1437 toRemoteFrameOwner(frame->owner())->setSandboxFlags(static_cast<SandboxF lags>(flags));
1438 // Since a remote frame doesn't get the notifications about frame owner 1438 // Since a remote frame doesn't get the notifications about frame owner
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
1543 if (RuntimeEnabledFeatures::wakeLockEnabled()) 1543 if (RuntimeEnabledFeatures::wakeLockEnabled())
1544 ScreenWakeLock::provideTo(*m_frame, m_client ? m_client->wakeLockClient( ) : nullptr); 1544 ScreenWakeLock::provideTo(*m_frame, m_client ? m_client->wakeLockClient( ) : nullptr);
1545 if (RuntimeEnabledFeatures::audioOutputDevicesEnabled()) 1545 if (RuntimeEnabledFeatures::audioOutputDevicesEnabled())
1546 provideAudioOutputDeviceClientTo(*m_frame, AudioOutputDeviceClientImpl:: create()); 1546 provideAudioOutputDeviceClientTo(*m_frame, AudioOutputDeviceClientImpl:: create());
1547 if (RuntimeEnabledFeatures::installedAppEnabled()) 1547 if (RuntimeEnabledFeatures::installedAppEnabled())
1548 InstalledAppController::provideTo(*m_frame, m_client ? m_client->install edAppClient() : nullptr); 1548 InstalledAppController::provideTo(*m_frame, m_client ? m_client->install edAppClient() : nullptr);
1549 } 1549 }
1550 1550
1551 void WebLocalFrameImpl::initializeCoreFrame(FrameHost* host, FrameOwner* owner, const AtomicString& name, const AtomicString& uniqueName) 1551 void WebLocalFrameImpl::initializeCoreFrame(FrameHost* host, FrameOwner* owner, const AtomicString& name, const AtomicString& uniqueName)
1552 { 1552 {
1553 setCoreFrame(LocalFrame::create(m_frameLoaderClientImpl.get(), host, owner)) ; 1553 setCoreFrame(LocalFrame::create(m_frameLoaderClientImpl.get(), host, owner, client()->serviceRegistry()));
1554 frame()->tree().setPrecalculatedName(name, uniqueName); 1554 frame()->tree().setPrecalculatedName(name, uniqueName);
1555 // We must call init() after m_frame is assigned because it is referenced 1555 // We must call init() after m_frame is assigned because it is referenced
1556 // during init(). Note that this may dispatch JS events; the frame may be 1556 // during init(). Note that this may dispatch JS events; the frame may be
1557 // detached after init() returns. 1557 // detached after init() returns.
1558 frame()->init(); 1558 frame()->init();
1559 } 1559 }
1560 1560
1561 PassRefPtrWillBeRawPtr<LocalFrame> WebLocalFrameImpl::createChildFrame(const Fra meLoadRequest& request, 1561 PassRefPtrWillBeRawPtr<LocalFrame> WebLocalFrameImpl::createChildFrame(const Fra meLoadRequest& request,
1562 const AtomicString& name, HTMLFrameOwnerElement* ownerElement) 1562 const AtomicString& name, HTMLFrameOwnerElement* ownerElement)
1563 { 1563 {
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
2170 return WebSandboxFlags::None; 2170 return WebSandboxFlags::None;
2171 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags( )); 2171 return static_cast<WebSandboxFlags>(frame()->loader().effectiveSandboxFlags( ));
2172 } 2172 }
2173 2173
2174 void WebLocalFrameImpl::forceSandboxFlags(WebSandboxFlags flags) 2174 void WebLocalFrameImpl::forceSandboxFlags(WebSandboxFlags flags)
2175 { 2175 {
2176 frame()->loader().forceSandboxFlags(static_cast<SandboxFlags>(flags)); 2176 frame()->loader().forceSandboxFlags(static_cast<SandboxFlags>(flags));
2177 } 2177 }
2178 2178
2179 } // namespace blink 2179 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698