Skip to content
Permalink
Browse files

Make use of RefCell::try_borrow_unguarded

  • Loading branch information...
nox committed Apr 12, 2019
1 parent a74f522 commit 44163148c2fe2b6b92f1129a493e086ab5594d19
@@ -2030,18 +2030,22 @@ where
None
};

// https://github.com/rust-lang/rust/issues/59159
let browsing_context_size = browsing_context.size;
let browsing_context_is_visible = browsing_context.is_visible;

// Create the new pipeline, attached to the parent and push to pending changes
self.new_pipeline(
new_pipeline_id,
browsing_context_id,
top_level_browsing_context_id,
Some(parent_pipeline_id),
None,
browsing_context.size,
browsing_context_size,
load_data,
load_info.sandbox,
is_private,
browsing_context.is_visible,
browsing_context_is_visible,
);
self.add_pending_change(SessionHistoryChange {
top_level_browsing_context_id: top_level_browsing_context_id,
@@ -26,7 +26,9 @@ impl<T> DomRefCell<T> {
#[allow(unsafe_code)]
pub unsafe fn borrow_for_layout(&self) -> &T {
debug_assert!(thread_state::get().is_layout());
&*self.value.as_ptr()
self.value
.try_borrow_unguarded()
.expect("cell is mutably borrowed")
}

/// Borrow the contents for the purpose of script deallocation.
@@ -1442,8 +1442,6 @@ impl XMLHttpRequest {

fn filter_response_headers(&self) -> HeaderMap {
// https://fetch.spec.whatwg.org/#concept-response-header-list
use http::header::{self, HeaderName};

let mut headers = self.response_headers.borrow().clone();
headers.remove(header::SET_COOKIE);
headers.remove(HeaderName::from_static("set-cookie2"));
@@ -4,6 +4,7 @@

#![cfg_attr(feature = "unstable", feature(core_intrinsics))]
#![cfg_attr(feature = "unstable", feature(on_unimplemented))]
#![feature(borrow_state)]
#![feature(const_fn)]
#![feature(drain_filter)]
#![feature(inner_deref)]
@@ -245,7 +245,6 @@ impl ParseErrorReporter for RustLogReporter {
location: SourceLocation,
error: ContextualParseError,
) {
use log;
if log_enabled!(log::Level::Info) {
info!(
"Url:\t{}\n{}:{} {}",
@@ -354,7 +354,6 @@ impl NonTSPseudoClass {
/// selector matching, and it's set from the DOM.
pub fn state_flag(&self) -> ElementState {
use self::NonTSPseudoClass::*;
use crate::element_state::ElementState;
match *self {
Active => ElementState::IN_ACTIVE_STATE,
Focus => ElementState::IN_FOCUS_STATE,
@@ -1 +1 @@
nightly-2019-03-26
nightly-2019-04-12

0 comments on commit 4416314

Please sign in to comment.
You can’t perform that action at this time.