Bản phát hành Chrome 74

Google trình bày phát hành trình duyệt web Chrome 74... Đồng thời có sẵn phát hành ổn định một dự án miễn phí Chromium, đóng vai trò là nền tảng của Chrome. trình duyệt Chrome khác nhau việc sử dụng biểu trưng của Google, khả năng tải xuống mô-đun Flash theo yêu cầu, sự hiện diện của hệ thống gửi thông báo trong trường hợp gặp sự cố, mô-đun phát nội dung video được bảo vệ, hệ thống tự động cài đặt các bản cập nhật và truyền trong quá trình tìm kiếm thông số RLZ. Bản phát hành tiếp theo của Chrome 75 được lên lịch vào ngày 4 tháng XNUMX.

Chính thay đổi в cơ rôm 74:

  • Khi sự kiện onUnload xảy ra, sự kiện này được gọi khi trang bị đóng, bây giờ hút thuốc hiển thị các cửa sổ bật lên (lệnh window.open() bị chặn), điều này sẽ bảo vệ người dùng khỏi bị buộc phải mở các trang quảng cáo sau khi đóng các trang web đáng ngờ;
  • Trong công cụ JavaScript thực hiện một chế độ mới đã xuất hiện Không có JIT Cờ (“—jitless”), cho phép thực thi JavaScript mà không cần sử dụng JIT (chỉ sử dụng trình thông dịch) và không cần phân bổ bộ nhớ thực thi trong quá trình thực thi mã. Việc tắt JIT có thể hữu ích để cải thiện tính bảo mật khi làm việc với các ứng dụng web tiềm ẩn nguy hiểm, cũng như đảm bảo các bản dựng trên nền tảng cấm sử dụng JIT (ví dụ: iOS, một số TV thông minh và bảng điều khiển trò chơi. Khi JIT bị tắt, việc thực thi JavaScript hiệu suất giảm 40% trong bài kiểm tra Speedometer 2.0 và 80% trong bài kiểm tra Web Tooling Benchmark, nhưng khi mô phỏng làm việc với YouTube, hiệu suất chỉ giảm 6%, trong khi mức tiêu thụ bộ nhớ giảm nhẹ, chỉ 1.7%;
  • V8 cũng cung cấp một lượng lớn các tối ưu hóa mới. Ví dụ: việc thực thi lệnh gọi hàm trong đó số lượng tham số thực tế được truyền không tương ứng với số lượng đối số được chỉ định khi xác định hàm đã được tăng tốc thêm 60%. Việc truy cập vào các thuộc tính DOM bằng hàm get đã được tăng tốc, điều này có tác động tích cực đến hiệu suất của khung Angular. Phân tích cú pháp JavaScript đã được tăng tốc: tối ưu hóa bộ giải mã UTF-8 giúp tăng hiệu suất của trình phân tích cú pháp ở chế độ phát trực tuyến (phân tích cú pháp khi tải) lên 8% và loại bỏ các hoạt động chống trùng lặp không cần thiết giúp tăng thêm 10.5%;
  • Công việc đã được thực hiện để giảm mức tiêu thụ bộ nhớ của công cụ JavaScript.
    Đã thêm mã để xóa bộ nhớ đệm mã byte, chiếm khoảng 15% tổng kích thước vùng nhớ heap. Một giai đoạn đã được thêm vào trình thu thập rác để loại bỏ mã byte được biên dịch không thường xuyên khỏi bộ đệm cho các hàm được sử dụng hoặc các hàm chỉ được gọi khi khởi tạo. Quyết định dọn dẹp được đưa ra dựa trên các bộ đếm mới có tính đến lần cuối cùng mã byte được truy cập. Thay đổi này giúp giảm mức tiêu thụ bộ nhớ từ 5–15% mà không ảnh hưởng tiêu cực đến hiệu suất. Ngoài ra, trình biên dịch mã byte loại trừ việc tạo mã rõ ràng không được sử dụng, chẳng hạn như mã theo sau return hoặc break (nếu không có chuyển đổi Jump sang mã đó);

    Bản phát hành Chrome 74

  • Dành cho WebAssugging thực hiện hỗ trợ các luồng và hoạt động nguyên tử (API WebAssembly Threads và WebAssembly Atomics);
  • Để phân phối các tập lệnh riêng biệt, hỗ trợ cho tiêu đề “#!” đã được thêm vào để xác định trình thông dịch sẽ chạy. Ví dụ: tương tự như các ngôn ngữ tập lệnh khác, tệp JavaScript có thể trông giống như thế này:

    Nút #!/usr/bin/env
    console.log(42);

  • Một truy vấn phương tiện mới đã được thêm vào CSS "thích-giảm-chuyển động“, cho phép trang web xác định trạng thái cài đặt trong hệ điều hành liên quan đến việc tắt hiệu ứng hoạt hình. Sử dụng yêu cầu được đề xuất, chủ sở hữu trang web có thể phát hiện ra rằng người dùng đã tắt các hiệu ứng hoạt ảnh và cũng vô hiệu hóa các tính năng hoạt ảnh khác nhau trên trang web, chẳng hạn như loại bỏ hiệu ứng rung của các nút được sử dụng để thu hút sự chú ý;
  • Ngoài khả năng xác định các trường công khai được giới thiệu trong Chrome 72 hỗ trợ thực hiện Đánh dấu các trường là riêng tư, sau đó quyền truy cập vào các giá trị của chúng sẽ chỉ được mở trong lớp. Để đánh dấu một trường là riêng tư, hãy thêm dấu “#” trước tên trường. Giống như các trường công khai, các thuộc tính riêng tư không yêu cầu sử dụng hàm tạo một cách rõ ràng.
  • Tiêu đề HTTP Chính sách tính năng, cho phép bạn kiểm soát hành vi của API và bật một số tính năng nhất định (ví dụ: bạn có thể bật chế độ hoạt động đồng bộ của XMLHttpRequest hoặc tắt API định vị địa lý), đã được thêm vào API JavaScript để kiểm soát hoạt động của những cơ hội nhất định. Đối với các nhà phát triển, có hai phương thức mới document.featurePolicy và frame.featurePolicy, cung cấp ba chức năng:
    allowFeatures() để nhận danh sách các tính năng được phép cho miền hiện tại, allowFeature() để kiểm tra có chọn lọc xem các tính năng cụ thể có được bật hay không và getAllowlistForFeature() để trả về danh sách các miền mà một tính năng được chỉ định được phép trên trang hiện tại;

  • Đã thêm hỗ trợ thử nghiệm (“chrome://flags#enable-text-fragment-anchor”) cho chế độ này Cuộn đến văn bản, cho phép bạn tạo liên kết đến các từ hoặc cụm từ riêng lẻ mà không cần chỉ định rõ ràng các nhãn trong tài liệu bằng cách sử dụng thẻ “a name” hoặc thuộc tính “id”. Để gửi một liên kết, một tham số đặc biệt “#targetText=” được cung cấp, trong đó bạn có thể chỉ định văn bản cho quá trình chuyển đổi. Được phép chỉ định một mặt nạ bao gồm các cụm từ biểu thị phần đầu và phần cuối của đoạn bằng cách sử dụng dấu phẩy làm dấu phân cách (ví dụ: “example.com#targetText=start%20words, end%20words”);
  • Một tùy chọn đã được thêm vào hàm tạo AudioContext tỷ lệ mẫu, cho phép bạn đặt tốc độ lấy mẫu cho các hoạt động âm thanh thông qua API Web Audio;
  • Đã thêm hỗ trợ lớp học Intl.Locale, cung cấp các phương thức phân tích cú pháp và xử lý các tham số ngôn ngữ, vùng và kiểu do ngôn ngữ đặt, cũng như để đọc và ghi thẻ mở rộng Unicode, lưu cài đặt ngôn ngữ của người dùng ở định dạng được tuần tự hóa;
  • Механизм Trao đổi HTTP đã ký (SXG) được mở rộng với các công cụ dành cho thông báo nhà phân phối nội dung về lỗi khi tải xuống nội dung đã ký, chẳng hạn như sự cố khi xác minh chứng chỉ. Việc xử lý lỗi được thực hiện thông qua các tiện ích mở rộng API Ghi nhật ký lỗi mạng. Hãy nhớ lại rằng SXG cho phép chủ sở hữu của một trang web, sử dụng chữ ký điện tử, cho phép đặt một số trang nhất định trên một trang web khác, sau đó, nếu những trang này được truy cập trên trang web thứ hai, trình duyệt sẽ hiển thị cho người dùng URL của trang web gốc, mặc dù thực tế là trang đó đã được tải từ một máy chủ khác;
  • Một phương thức đã được thêm vào lớp TextEncode mã hóaInto(), cho phép bạn viết một chuỗi được mã hóa trực tiếp vào bộ đệm được cấp phát trước. Phương thức EncodeInto() là một phương thức thay thế hiệu suất cao cho phương thức Encode(), phương thức này yêu cầu thực hiện thao tác phân bổ bộ đệm mỗi khi nó được truy cập.
  • Nhân viên phục vụ bảo đảm đệm cuộc gọi client.postMessage() cho đến khi tài liệu sẵn sàng. Tin nhắn được gửi qua client.postMessage() sẽ được giữ cho đến khi sự kiện DOMContentLoaded được nêu ra, onmessage được đặt hoặc startMessages() được gọi;
  • Theo yêu cầu của đặc tả CSS Transitions thêm các sự kiện transitionrun, transitioncancel, transitionstart và transitionend được tạo khi quá trình chuyển đổi CSS được xếp hàng đợi, bị hủy, bắt đầu hoặc kết thúc thực thi.
  • Khi chỉ định mã hóa ký tự không chính xác thông qua loại ghi đèMimeType() hoặc MIME cho XMLHttpRequest, giờ đây nó sẽ quay trở lại UTF-8 thay vì Latin-1;
  • Thuộc tính “cho phép tải xuống mà không cần kích hoạt người dùng”, qua đó có thể tự động tải xuống tệp khi xử lý iframe, đã không được dùng nữa và sẽ bị xóa trong bản phát hành trong tương lai. Trong tương lai, việc bắt đầu tải xuống tệp mà không có hành động rõ ràng của người dùng sẽ bị cấm vì nó đã được sử dụng tích cực để lạm dụng, buộc tải xuống và chèn các phần phần mềm độc hại vào máy tính của người dùng. Người dùng nhấp vào cùng một trang sẽ được yêu cầu để bắt đầu tải xuống. Thuộc tính ban đầu được lên kế hoạch xóa trong Chrome 74, nhưng việc xóa đã được thực hiện hoãn lại lên đến Chrome 76.
  • Một chủ đề tối tùy chọn cho thiết kế giao diện được cung cấp cho nền tảng Windows (trong bản phát hành trước, một chủ đề tối đã được chuẩn bị cho macOS). Do thiết kế tối gần giống với thiết kế ở chế độ ẩn danh nên một chỉ báo đặc biệt đã được thêm vào thay vì biểu tượng hồ sơ người dùng để làm nổi bật chế độ vận hành riêng tư;
  • Một cơ hội đã được thêm cho người dùng doanh nghiệp Quản lý đám mây trình duyệt Chrome để quản lý cài đặt trình duyệt của người dùng thông qua Bảng điều khiển dành cho quản trị viên của Google;

    Bản phát hành Chrome 74

Ngoài những cải tiến và sửa lỗi, phiên bản mới còn loại bỏ 39 lỗ hổng. Nhiều lỗ hổng được xác định là kết quả của quá trình kiểm tra tự động bằng các công cụ Địa chỉSanitizer, MemoryVệ sinh, Tính toàn vẹn của luồng kiểm soát, LibFuzzer и AFL. Không có vấn đề nghiêm trọng nào được xác định có thể cho phép một người vượt qua tất cả các cấp độ bảo vệ của trình duyệt và thực thi mã trên hệ thống bên ngoài môi trường hộp cát. Là một phần của chương trình trả phần thưởng bằng tiền mặt cho việc phát hiện ra các lỗ hổng cho bản phát hành hiện tại, Google đã trả 19 giải thưởng với số tiền 26837 USD (bốn giải thưởng 3000 USD, bốn giải thưởng 2000 USD, một giải thưởng 1337 USD, bốn giải thưởng 1000 USD, ba giải thưởng 500 USD). Quy mô của 4 phần thưởng vẫn chưa được xác định.

Nguồn: opennet.ru

Thêm một lời nhận xét