|
|
Created:
4 years, 9 months ago by Tom Sepez Modified:
4 years, 9 months ago CC:
chromium-reviews, pawliger, Lei Zhang, dsinclair, Oliver Chang, Wei Li, laforge Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionEnable XFA-Forms for the PDFium plugin.
This is a change to gather stability, performance, and size
data and will be rolled back by 2016-03-15.
This is the gyp portion of the change; the GN variables
controlling the same things currently reside in the pdfium
product itsef.
Committed: https://crrev.com/afa43e7fa9754cff9ceb6969c665830a79a84c5b
Cr-Commit-Position: refs/heads/master@{#379622}
Patch Set 1 #
Messages
Total messages: 28 (8 generated)
Description was changed from ========== Enable XFA-Forms for the PDFium plugin ========== to ========== Enable XFA-Forms for the PDFium plugin. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ==========
tsepez@chromium.org changed reviewers: + rpop@chromium.org, thakis@chromium.org
Requires pdfium to be rolled past https://codereview.chromium.org/1763493002/ before landing this change.
lgtm Does this change binary size much? Binary size monitoring is currently broken, so please watch that manually.
On 2016/03/03 00:11:05, Nico wrote: > lgtm > > Does this change binary size much? Binary size monitoring is currently broken, > so please watch that manually. The difference in the pdfium_test binary (which links the same library) is about 3MB with the feature enabled.
…that sounds kind of prohibitively large. How on earth can this be 3MB? On Wed, Mar 2, 2016 at 4:25 PM, <tsepez@chromium.org> wrote: > On 2016/03/03 00:11:05, Nico wrote: > > lgtm > > > > Does this change binary size much? Binary size monitoring is currently > broken, > > so please watch that manually. > > The difference in the pdfium_test binary (which links the same library) is > about > 3MB with the feature enabled. > > https://codereview.chromium.org/1761673002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
It adds about 160K LOC.
That too sounds unreasonably large. This is a very nice feature, but I'm not sure it's +3MB nice. Is there any way to get rid of large chunks of the binary size / that code? What does all that code do?
It implements the 1500 page spec at http://partners.adobe.com/public/developer/en/xml/xfa_spec_3_3.pdf On Wed, Mar 2, 2016 at 4:56 PM, <thakis@chromium.org> wrote: > That too sounds unreasonably large. This is a very nice feature, but I'm > not > sure it's +3MB nice. Is there any way to get rid of large chunks of the > binary > size / that code? What does all that code do? > > https://codereview.chromium.org/1761673002/ > -- You received this message because you are subscribed to the Google Groups "Chromium-reviews" group. To unsubscribe from this group and stop receiving emails from it, send an email to chromium-reviews+unsubscribe@chromium.org.
We've asked about stripping it down before, and its authors have always said that would be difficult.
Is all of that spec used in practice? Is it possible to download this on demand or something? Adding 3MB of binary size for a feature that is super useful when needed but realistically only used very rarely does not lgtm :-/
Just to be sure my baseline sizes are reasonable, for a release build on linux I get the following, depending upon whether XFA is present: -rwxr-x--- 1 tsepez eng 161986440 Mar 2 17:51 out/Release/chrome -rwxr-x--- 1 tsepez eng 158920400 Mar 2 18:17 out/Release/chrome I haven't looked in a while, does this make sense?
The product decision to support the full XFA spec was made quite a while ago, and was a central reason for the purchase and open sourcing this code. So, this review is probably not the right place to make product arguments against it. Rather, this feature is headed to launch review, which is unquestionably the right place to weigh the binary size increase and any other concerns that could block shipping. However, we need to have the feature enabled on trunk ASAP, so we can get the data we need to bring it to launch review and have that discussion. Tom, prior to launch review, we definitely need better data on the binary size impact. The concerns I see are: * Verify that size is for a stripped Linux executable * Verify the release size increase on Mac * Verify the binary size increase on official Windows builds * Verify the installer size increase on official Windows builds * Verify pdfium/XFA are not compiled in on Android That stated, I think we're most concerned about not increasing the binary size on Android, and not increasing the download size on Windows -- because those are increases that would cause genuine pain. (Anthony, please let me know if there's anything else on that front.) Nico, are you comfortable with enabling given the circumstances, or would you rather someone else signed off on this CL? Also, if you're concerned about binary size being sufficiently discussed at launch review, would you like to be added to the calendar once it's scheduled?
On 2016/03/03 14:08:47, jschuh (very slow) wrote: > The product decision to support the full XFA spec was made quite a while ago, > and was a central reason for the purchase and open sourcing this code. So, this > review is probably not the right place to make product arguments against it. > Rather, this feature is headed to launch review, which is unquestionably the > right place to weigh the binary size increase and any other concerns that could > block shipping. However, we need to have the feature enabled on trunk ASAP, so > we can get the data we need to bring it to launch review and have that > discussion. > > Tom, prior to launch review, we definitely need better data on the binary size > impact. The concerns I see are: > * Verify that size is for a stripped Linux executable > * Verify the release size increase on Mac > * Verify the binary size increase on official Windows builds > * Verify the installer size increase on official Windows builds > * Verify pdfium/XFA are not compiled in on Android > > That stated, I think we're most concerned about not increasing the binary size > on Android, and not increasing the download size on Windows -- because those are > increases that would cause genuine pain. (Anthony, please let me know if there's > anything else on that front.) > > Nico, are you comfortable with enabling given the circumstances, or would you > rather someone else signed off on this CL? Also, if you're concerned about > binary size being sufficiently discussed at launch review, would you like to be > added to the calendar once it's scheduled? So, if the plan here is to collect data and to not ship to beta until size is figured out, then landing this temporarily lgtm. The CL description should be updated to say that then (ideally with a "will be reverted by $date, this is to collect stability data and whatnot") I don't disagree with the product decision to have XFA support at all, I think it's a great feature. I think an implementation approach that adds 3 MB to chrome by default is the wrong implementation approach is all. I feel that's a technical argument, not a product decision argument.
Description was changed from ========== Enable XFA-Forms for the PDFium plugin. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ========== to ========== Enable XFA-Forms for the PDFium plugin. This is a change to gather stability, performance, and size data and will be rolled back by 2016-03-15. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ==========
On 2016/03/03 19:06:36, Nico wrote: > On 2016/03/03 14:08:47, jschuh (very slow) wrote: > > The product decision to support the full XFA spec was made quite a while ago, > > and was a central reason for the purchase and open sourcing this code. So, > this > > review is probably not the right place to make product arguments against it. > > Rather, this feature is headed to launch review, which is unquestionably the > > right place to weigh the binary size increase and any other concerns that > could > > block shipping. However, we need to have the feature enabled on trunk ASAP, so > > we can get the data we need to bring it to launch review and have that > > discussion. > > > > Tom, prior to launch review, we definitely need better data on the binary size > > impact. The concerns I see are: > > * Verify that size is for a stripped Linux executable > > * Verify the release size increase on Mac > > * Verify the binary size increase on official Windows builds > > * Verify the installer size increase on official Windows builds > > * Verify pdfium/XFA are not compiled in on Android > > > > That stated, I think we're most concerned about not increasing the binary size > > on Android, and not increasing the download size on Windows -- because those > are > > increases that would cause genuine pain. (Anthony, please let me know if > there's > > anything else on that front.) > > > > Nico, are you comfortable with enabling given the circumstances, or would you > > rather someone else signed off on this CL? Also, if you're concerned about > > binary size being sufficiently discussed at launch review, would you like to > be > > added to the calendar once it's scheduled? > > So, if the plan here is to collect data and to not ship to beta until size is > figured out, then landing this temporarily lgtm. The CL description should be > updated to say that then (ideally with a "will be reverted by $date, this is to > collect stability data and whatnot") > > I don't disagree with the product decision to have XFA support at all, I think > it's a great feature. I think an implementation approach that adds 3 MB to > chrome by default is the wrong implementation approach is all. I feel that's a > technical argument, not a product decision argument. Thanks Nico. Let's discuss in launch review. LGTM
The CQ bit was checked by tsepez@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1761673002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1761673002/1
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by tsepez@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1761673002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1761673002/1
Message was sent while issue was closed.
Description was changed from ========== Enable XFA-Forms for the PDFium plugin. This is a change to gather stability, performance, and size data and will be rolled back by 2016-03-15. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ========== to ========== Enable XFA-Forms for the PDFium plugin. This is a change to gather stability, performance, and size data and will be rolled back by 2016-03-15. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1)
Message was sent while issue was closed.
Description was changed from ========== Enable XFA-Forms for the PDFium plugin. This is a change to gather stability, performance, and size data and will be rolled back by 2016-03-15. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. ========== to ========== Enable XFA-Forms for the PDFium plugin. This is a change to gather stability, performance, and size data and will be rolled back by 2016-03-15. This is the gyp portion of the change; the GN variables controlling the same things currently reside in the pdfium product itsef. Committed: https://crrev.com/afa43e7fa9754cff9ceb6969c665830a79a84c5b Cr-Commit-Position: refs/heads/master@{#379622} ==========
Message was sent while issue was closed.
Patchset 1 (id:??) landed as https://crrev.com/afa43e7fa9754cff9ceb6969c665830a79a84c5b Cr-Commit-Position: refs/heads/master@{#379622}
Message was sent while issue was closed.
A revert of this CL (patchset #1 id:1) has been created in https://codereview.chromium.org/1773043002/ by thakis@chromium.org. The reason for reverting is: Fails to build with clang-cl with very very scary warnings: In file included from ..\..\third_party\pdfium\xfa/src/fxfa/src/app/xfa_ffapp.h:15: ..\..\third_party\pdfium\xfa/src/fgas/include/fx_fnt.h(131,23) : error: first operand of this 'memcmp' call is a pointer to dynamic class '_FX_FONTSIGNATURE'; vtable pointer will be compared [-Werror,-Wdynamic-class-memaccess] FXSYS_memcmp(&left.FontSignature, &right.FontSignature, ~~~~~~~~~~~~ ^ ..\..\third_party\pdfium\xfa/src/fgas/include/fx_fnt.h(131,23) : note: explicitly cast the pointer to silence this warning FXSYS_memcmp(&left.FontSignature, &right.FontSignature, ^ (void*) Reverting for now..
Message was sent while issue was closed.
On 2016/03/08 02:13:34, Nico wrote: > A revert of this CL (patchset #1 id:1) has been created in > https://codereview.chromium.org/1773043002/ by mailto:thakis@chromium.org. > > The reason for reverting is: Fails to build with clang-cl with very very scary > warnings: > > In file included from > ..\..\third_party\pdfium\xfa/src/fxfa/src/app/xfa_ffapp.h:15: > ..\..\third_party\pdfium\xfa/src/fgas/include/fx_fnt.h(131,23) : error: first > operand of this 'memcmp' call is a pointer to dynamic class '_FX_FONTSIGNATURE'; > vtable pointer will be compared [-Werror,-Wdynamic-class-memaccess] > FXSYS_memcmp(&left.FontSignature, &right.FontSignature, > ~~~~~~~~~~~~ ^ > ..\..\third_party\pdfium\xfa/src/fgas/include/fx_fnt.h(131,23) : note: > explicitly cast the pointer to silence this warning > FXSYS_memcmp(&left.FontSignature, &right.FontSignature, > ^ > (void*) > > Reverting for now.. I filed this as pdfium:429. |