Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 53ef599

Browse filesBrowse files
committed
REGRESSION(r229484): Plugins often require CGS Connections to draw
https://bugs.webkit.org/show_bug.cgi?id=183663 <rdar://problem/38439218> Reviewed by Per Arne Vollan. Flash requires an active CGSConnection to work properly. Since we don't want the WebContent process to have on, create a new plugin process-specific layer host creation method that gives this access. * Platform/mac/LayerHostingContext.h: * Platform/mac/LayerHostingContext.mm: (WebKit::LayerHostingContext::createForExternalPluginHostingProcess): Added. * PluginProcess/mac/PluginControllerProxyMac.mm: (WebKit::PluginControllerProxy::updateLayerHostingContext): Use the new creation method. Canonical link: https://commits.webkit.org/199309@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent a2b9560 commit 53ef599
Copy full SHA for 53ef599

4 files changed

+33-1Lines changed: 33 additions & 1 deletion

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎Source/WebKit/ChangeLog‎

Copy file name to clipboardExpand all lines: Source/WebKit/ChangeLog
+19Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
2018-03-15 Brent Fulgham <bfulgham@apple.com>
2+
3+
REGRESSION(r229484): Plugins often require CGS Connections to draw
4+
https://bugs.webkit.org/show_bug.cgi?id=183663
5+
<rdar://problem/38439218>
6+
7+
Reviewed by Per Arne Vollan.
8+
9+
Flash requires an active CGSConnection to work properly. Since we don't want the WebContent
10+
process to have on, create a new plugin process-specific layer host creation method that
11+
gives this access.
12+
13+
* Platform/mac/LayerHostingContext.h:
14+
* Platform/mac/LayerHostingContext.mm:
15+
(WebKit::LayerHostingContext::createForExternalPluginHostingProcess): Added.
16+
* PluginProcess/mac/PluginControllerProxyMac.mm:
17+
(WebKit::PluginControllerProxy::updateLayerHostingContext): Use the new creation
18+
method.
19+
120
2018-03-15 Zan Dobersek <zdobersek@igalia.com>
221

322
[TexMap] Remove TextureMapperLayer::texture()
Collapse file

‎Source/WebKit/Platform/mac/LayerHostingContext.h‎

Copy file name to clipboardExpand all lines: Source/WebKit/Platform/mac/LayerHostingContext.h
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ class LayerHostingContext {
4646
static std::unique_ptr<LayerHostingContext> createForPort(const WebCore::MachSendRight& serverPort);
4747
#if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
4848
static std::unique_ptr<LayerHostingContext> createForExternalHostingProcess();
49+
#if PLATFORM(MAC)
50+
static std::unique_ptr<LayerHostingContext> createForExternalPluginHostingProcess();
51+
#endif
4952
#endif
5053

5154
LayerHostingContext();
Collapse file

‎Source/WebKit/Platform/mac/LayerHostingContext.mm‎

Copy file name to clipboardExpand all lines: Source/WebKit/Platform/mac/LayerHostingContext.mm
+10Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,17 @@
7272

7373
return layerHostingContext;
7474
}
75+
76+
#if PLATFORM(MAC)
77+
std::unique_ptr<LayerHostingContext> LayerHostingContext::createForExternalPluginHostingProcess()
78+
{
79+
auto layerHostingContext = std::make_unique<LayerHostingContext>();
80+
layerHostingContext->m_layerHostingMode = LayerHostingMode::OutOfProcess;
81+
layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{ kCAContextCIFilterBehavior : @"ignore" }];
82+
return layerHostingContext;
83+
}
7584
#endif
85+
#endif // HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
7686

7787
LayerHostingContext::LayerHostingContext()
7888
{
Collapse file

‎Source/WebKit/PluginProcess/mac/PluginControllerProxyMac.mm‎

Copy file name to clipboardExpand all lines: Source/WebKit/PluginProcess/mac/PluginControllerProxyMac.mm
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@
130130
break;
131131
#if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
132132
case LayerHostingMode::OutOfProcess:
133-
m_layerHostingContext = LayerHostingContext::createForExternalHostingProcess();
133+
m_layerHostingContext = LayerHostingContext::createForExternalPluginHostingProcess();
134134
break;
135135
#endif
136136
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.