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

Side by Side Diff: third_party/harfbuzz-ng/src/hb-shape-plan-private.hh

Issue 202083003: Fix unsafe shape_plan->face dependency (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-shape-plan.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright © 2012 Google, Inc. 2 * Copyright © 2012 Google, Inc.
3 * 3 *
4 * This is part of HarfBuzz, a text shaping library. 4 * This is part of HarfBuzz, a text shaping library.
5 * 5 *
6 * Permission is hereby granted, without written agreement and without 6 * Permission is hereby granted, without written agreement and without
7 * license or royalty fees, to use, copy, modify, and distribute this 7 * license or royalty fees, to use, copy, modify, and distribute this
8 * software and its documentation for any purpose, provided that the 8 * software and its documentation for any purpose, provided that the
9 * above copyright notice and the following two paragraphs appear in 9 * above copyright notice and the following two paragraphs appear in
10 * all copies of this software. 10 * all copies of this software.
(...skipping 21 matching lines...) Expand all
32 #include "hb-object-private.hh" 32 #include "hb-object-private.hh"
33 #include "hb-shaper-private.hh" 33 #include "hb-shaper-private.hh"
34 34
35 35
36 struct hb_shape_plan_t 36 struct hb_shape_plan_t
37 { 37 {
38 hb_object_header_t header; 38 hb_object_header_t header;
39 ASSERT_POD (); 39 ASSERT_POD ();
40 40
41 hb_bool_t default_shaper_list; 41 hb_bool_t default_shaper_list;
42 hb_face_t *face; 42 hb_face_t *face_unsafe; /* We don't carry a reference to face. */
43 hb_segment_properties_t props; 43 hb_segment_properties_t props;
44 44
45 hb_shape_func_t *shaper_func; 45 hb_shape_func_t *shaper_func;
46 const char *shaper_name; 46 const char *shaper_name;
47 47
48 struct hb_shaper_data_t shaper_data; 48 struct hb_shaper_data_t shaper_data;
49 }; 49 };
50 50
51 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS \ 51 #define HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS \
52 , const hb_feature_t *user_features \ 52 , const hb_feature_t *user_features \
53 , unsigned int num_user_features 53 , unsigned int num_user_features
54 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, shape_plan) ; 54 #define HB_SHAPER_IMPLEMENT(shaper) HB_SHAPER_DATA_PROTOTYPE(shaper, shape_plan) ;
55 #include "hb-shaper-list.hh" 55 #include "hb-shaper-list.hh"
56 #undef HB_SHAPER_IMPLEMENT 56 #undef HB_SHAPER_IMPLEMENT
57 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS 57 #undef HB_SHAPER_DATA_CREATE_FUNC_EXTRA_ARGS
58 58
59 59
60 #endif /* HB_SHAPE_PLAN_PRIVATE_HH */ 60 #endif /* HB_SHAPE_PLAN_PRIVATE_HH */
OLDNEW
« no previous file with comments | « third_party/harfbuzz-ng/src/hb-shape-plan.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698