selma 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5b5e70ce5e954bbd53e8df94b58facb21a78174562f001ce328f9d3ba4b09a3
4
- data.tar.gz: 4360c58ce183593b8b5ec8c2bc2a15090aa5ed86f3e8a69b5975111274e01749
3
+ metadata.gz: 4f3bbf7895a04619bbf8f4c4a703b4d84d9621eef2e492dbca69ddec287b51bf
4
+ data.tar.gz: 78f4a3afa4b340f1261c8d4ed99089ff916dba2d4c1dbde250b1be111d69e6c7
5
5
  SHA512:
6
- metadata.gz: 9528b3320b2bbe90bf17ee1cffe17e6ab65f58ebae1c8edda77f61d2c4b8e8c08782b4bf11cbbaae50610c44aa0dc69c58ca70c4c943a96af84285db167929bd
7
- data.tar.gz: 8cf5ebd4259fa09b07b7908a2de795746a45cf7fc25eb3243affe373e0c90a04760cd2d8798367ffc3abe343e5b499a9253b2f01ac195843a067c8cbc88701a5
6
+ metadata.gz: 825e71b47e7cc393ed592a62bca3c2d9147ca0c6ecb234cde9c7a6593e63eb10692811b3ea8460a2426878a6fc4f70646187e80bdf9f5fc4331ae2187da2a032
7
+ data.tar.gz: 02c81c3b84a49ac65a93dcc3c16d3950ad20034820e8f551d42149938bbb85e20793e7156576026c54e2fec7571382403f6b23e6910a32f0b9a3327c3e4615cf
@@ -304,7 +304,7 @@ impl SelmaRewriter {
304
304
  }
305
305
  };
306
306
 
307
- let handlers = &binding.handlers;
307
+ let handlers: &Vec<Handler> = &binding.handlers;
308
308
 
309
309
  match Self::perform_handler_rewrite(
310
310
  self,
@@ -372,6 +372,9 @@ impl SelmaRewriter {
372
372
  // TODO: this should ideally be done ahead of time on `initialize`, not on every `#rewrite` call
373
373
  let mut element_content_handlers: Vec<(Cow<Selector>, ElementContentHandlers)> = vec![];
374
374
 
375
+ // have sanitization happen first
376
+ element_content_handlers.extend(sanitizer_element_content_handlers);
377
+
375
378
  handlers.iter().for_each(|handler| {
376
379
  let element_stack: Rc<RefCell<Vec<String>>> = Rc::new(RefCell::new(vec![]));
377
380
 
@@ -451,25 +454,12 @@ impl SelmaRewriter {
451
454
  }));
452
455
  });
453
456
 
454
- let rewritten_html = Self::run_rewrite(
457
+ Self::run_rewrite(
455
458
  self,
456
459
  sanitizer_document_content_handlers,
457
460
  element_content_handlers,
458
461
  html.as_bytes(),
459
- );
460
-
461
- // sanitization must happen separately, because text chunks
462
- // could potentially have rewritten the html. ideally we'd
463
- // be able to sanitize around the `process_text_handlers` call
464
- match rewritten_html {
465
- Ok(rewritten_html) => Self::run_rewrite(
466
- self,
467
- vec![],
468
- sanitizer_element_content_handlers,
469
- rewritten_html.as_slice(),
470
- ),
471
- Err(err) => Err(err),
472
- }
462
+ )
473
463
  }
474
464
 
475
465
  fn run_rewrite(
data/lib/selma/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Selma
4
- VERSION = "0.4.1"
4
+ VERSION = "0.4.2"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selma
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garen J. Torikian
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-07-15 00:00:00.000000000 Z
11
+ date: 2024-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys