WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 131521
Pipe initial scale factor to TileController
https://bugs.webkit.org/show_bug.cgi?id=131521
Summary
Pipe initial scale factor to TileController
Antti Koivisto
Reported
2014-04-10 18:02:16 PDT
We need it to support caching multiple scales.
Attachments
patch
(12.07 KB, patch)
2014-04-10 18:10 PDT
,
Antti Koivisto
no flags
Details
Formatted Diff
Diff
renamed to zoomedOutScale
(13.18 KB, patch)
2014-04-11 11:34 PDT
,
Antti Koivisto
thorton
: review+
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Antti Koivisto
Comment 1
2014-04-10 18:10:47 PDT
Created
attachment 229097
[details]
patch
Simon Fraser (smfr)
Comment 2
2014-04-10 18:21:08 PDT
Comment on
attachment 229097
[details]
patch View in context:
https://bugs.webkit.org/attachment.cgi?id=229097&action=review
> Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:2989 > + if (tiledBacking()) { > + float initialScale = (m_client ? m_client->initialPageScaleFactor() : 1) * deviceScaleFactor(); > + tiledBacking()->setInitialContentsScale(initialScale); > + }
This seems like an odd way to get initial scale, and could easily have timing issues. I think we should explicitly get the initial scale from viewport-related information.
Antti Koivisto
Comment 3
2014-04-10 18:31:29 PDT
> This seems like an odd way to get initial scale, and could easily have timing issues. I think we should explicitly get the initial scale from viewport-related information.
It is done the same way as the content scale is passed and is fully analogous. Are you a suggesting we refactor that too?
Antti Koivisto
Comment 4
2014-04-10 19:11:14 PDT
What do you mean by timing issues? This is specifically done on layer commit to avoid timing issues.
Antti Koivisto
Comment 5
2014-04-11 11:34:59 PDT
Created
attachment 229143
[details]
renamed to zoomedOutScale
Tim Horton
Comment 6
2014-04-11 11:42:45 PDT
Comment on
attachment 229143
[details]
renamed to zoomedOutScale View in context:
https://bugs.webkit.org/attachment.cgi?id=229143&action=review
> Source/WebCore/platform/graphics/GraphicsLayerClient.h:89 > + virtual float zoomedOutPageScaleFactor() const { return 0; }
Would getting a zero cause trouble anywhere? (divide-by-zero, etc.)
> Source/WebCore/platform/graphics/TiledBacking.h:92 > + virtual void setZoomedOutContentsScale(float) = 0; > + virtual float zoomedOutContentsScale() const = 0;
Every 'push' property we've had on TileController has caused trouble (and we have since made many 'pull' via PlatformCALayerClient), but I think this one is OK because it's called from updateContentsScale. That said, I would not be opposed to inverting it.
> Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:75 > +typedef int AVPlayerViewControllerExitFullScreenReason;
?
Antti Koivisto
Comment 7
2014-04-11 11:46:32 PDT
(In reply to
comment #6
)
> (From update of
attachment 229143
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=229143&action=review
> > > Source/WebCore/platform/graphics/GraphicsLayerClient.h:89 > > + virtual float zoomedOutPageScaleFactor() const { return 0; } > > Would getting a zero cause trouble anywhere? (divide-by-zero, etc.)
The plan is to use it to mean "disabled". Might change it later.
> Every 'push' property we've had on TileController has caused trouble (and we have since made many 'pull' via PlatformCALayerClient), but I think this one is OK because it's called from updateContentsScale. That said, I would not be opposed to inverting it.
Yeah, push is right thing to do for things that go via layer commits
> > Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm:75 > > +typedef int AVPlayerViewControllerExitFullScreenReason; > > ?
Oops, build fix.
Antti Koivisto
Comment 8
2014-04-11 11:59:07 PDT
https://trac.webkit.org/r167138
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug