|
|
DescriptionFix font loading in OOP PDF
This does two things
- avoids pdf.dll being loaded into the renderer when OOP PDF is
being used (this was caused by the patching)
- does the patch in PpapiThread when pdf.dll is loaded there for OOP
The IAT patch to GetFontData allows various users of GDI font methods
to succeed when sandboxed.
R=cpu@chromium.org,raymes@chromium.org,ananta@chromium.org
BUG=448473
Committed: https://crrev.com/55a856eb124f941c191c62dab40055b827186395
Cr-Commit-Position: refs/heads/master@{#311730}
Patch Set 1 #Patch Set 2 : . #
Total comments: 4
Patch Set 3 : add comment #Patch Set 4 : comment #Messages
Total messages: 26 (7 generated)
Looks good. https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... File content/ppapi_plugin/ppapi_thread.cc (right): https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... content/ppapi_plugin/ppapi_thread.cc:98: // renderer once PDF is always OOP and/or PDF is made to use Skia instead of GDI Move the once PDF is always OOP comment portion to the other file. https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... content/ppapi_plugin/ppapi_thread.cc:375: // be removed once we switch PDF to use Skia. Some commentary which explains this voodoo to get fonts to work would be helpful.
https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... File content/ppapi_plugin/ppapi_thread.cc (right): https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... content/ppapi_plugin/ppapi_thread.cc:98: // renderer once PDF is always OOP and/or PDF is made to use Skia instead of GDI On 2015/01/15 02:31:22, ananta wrote: > Move the once PDF is always OOP comment portion to the other file. Done. https://codereview.chromium.org/854773002/diff/20001/content/ppapi_plugin/ppa... content/ppapi_plugin/ppapi_thread.cc:375: // be removed once we switch PDF to use Skia. On 2015/01/15 02:31:22, ananta wrote: > Some commentary which explains this voodoo to get fonts to work would be > helpful. Done, above at the PreCache... call.
Thanks Scott!! I defer to the others - the only part I understand is the pepper API call you added and that looks fine. Note that it takes a LOGFONTW but I assume in this case it's the same as LOGFONT
On 2015/01/15 03:08:01, raymes wrote: > Thanks Scott!! > > I defer to the others - the only part I understand is the pepper API call you > added and that looks fine. Note that it takes a LOGFONTW but I assume in this > case it's the same as LOGFONT I don't understand the locking requirements, do you? I added the "ppapi::ProxyAutoLock lock;" because the function it's calling does ProxyAutoUnlock in the body, but I'm honestly not sure what we're serializing access to. This seemed relatively safe (in that it'll CHECK if the locking is wrong) but it's obviously not pretty.
lgtm
We're serializing access into the pepper API as a whole. This stuff was added so that you could safely call pepper APIs from multiple threads. Usually the locking is done automatically but because you're calling a function internally in Chrome you need to lock yourself. I hope that makes sense.
On 2015/01/15 03:44:19, raymes wrote: > We're serializing access into the pepper API as a whole. This stuff was added so > that you could safely call pepper APIs from multiple threads. Usually the > locking is done automatically but because you're calling a function internally > in Chrome you need to lock yourself. I hope that makes sense. OK, if you're happy, I am. :)
The CQ bit was checked by scottmg@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/854773002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_clang_dbg_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...)
The CQ bit was checked by scottmg@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/854773002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_clang_dbg_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...)
The CQ bit was checked by scottmg@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/854773002/60001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: android_clang_dbg_recipe on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/android_clang_d...)
The CQ bit was checked by scottmg@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/854773002/60001
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/55a856eb124f941c191c62dab40055b827186395 Cr-Commit-Position: refs/heads/master@{#311730}
Message was sent while issue was closed.
belated comment: this is a layering violation, since PDF is a chrome thing and doesn't below in chrome. i'll fix this in a followup
Message was sent while issue was closed.
On 2015/02/02 20:51:39, jam wrote: > belated comment: this is a layering violation, since PDF is a chrome thing and > doesn't below in chrome. i'll fix this in a followup Oops, sorry. You mean content shouldn't know about PDF, right? |