Files
awesome-copilot/skills/web-coder/references/browsers-engines.md
John Haugabook 8fedf95507 new skill web-coder (#881)
* new skill web-coder

* codespellrc: add aNULL HTTPS config cipher string

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestion from @jhauga

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-05 21:43:04 +11:00

6.5 KiB

Browsers & Engines Reference

Web browsers, rendering engines, and browser-specific information.

Major Browsers

Google Chrome

Engine: Blink (rendering), V8 (JavaScript)
Released: 2008
Market Share: ~65% (desktop)

Developer Tools:

  • Elements panel
  • Console
  • Network tab
  • Performance profiler
  • Lighthouse audits

Mozilla Firefox

Engine: Gecko (rendering), SpiderMonkey (JavaScript)
Released: 2004
Market Share: ~3% (desktop)

Features:

  • Strong privacy focus
  • Container tabs
  • Enhanced tracking protection
  • Developer Edition

Apple Safari

Engine: WebKit (rendering), JavaScriptCore (JavaScript)
Released: 2003
Market Share: ~20% (desktop), dominant on iOS

Features:

  • Energy efficient
  • Privacy-focused
  • Intelligent Tracking Prevention
  • Only browser allowed on iOS

Microsoft Edge

Engine: Blink (Chromium-based since 2020)
Released: 2015 (EdgeHTML), 2020 (Chromium)

Features:

  • Windows integration
  • Collections
  • Vertical tabs
  • IE Mode (compatibility)

Opera

Engine: Blink
Based on: Chromium

Features:

  • Built-in VPN
  • Ad blocker
  • Sidebar

Rendering Engines

Used by: Chrome, Edge, Opera, Vivaldi
Forked from: WebKit (2013)
Language: C++

WebKit

Used by: Safari
Origin: KHTML (KDE)
Language: C++

Gecko

Used by: Firefox
Developed by: Mozilla
Language: C++, Rust

Legacy Engines

  • Trident: Internet Explorer (deprecated)
  • EdgeHTML: Original Edge (deprecated)
  • Presto: Old Opera (deprecated)

JavaScript Engines

Engine Browser Language
V8 Chrome, Edge C++
SpiderMonkey Firefox C++, Rust
JavaScriptCore Safari C++
Chakra IE/Edge (legacy) C++

V8 Features

  • JIT compilation
  • Inline caching
  • Hidden classes
  • Garbage collection
  • WASM support

Browser DevTools

Chrome DevTools

// Console API
console.log('message');
console.table(array);
console.time('label');
console.timeEnd('label');

// Command Line API
$() // document.querySelector()
$$() // document.querySelectorAll()
$x() // XPath query
copy(object) // Copy to clipboard
monitor(function) // Log function calls

Panels:

  • Elements: DOM inspection
  • Console: JavaScript console
  • Sources: Debugger
  • Network: HTTP requests
  • Performance: Profiling
  • Memory: Heap snapshots
  • Application: Storage, service workers
  • Security: Certificate info
  • Lighthouse: Audits

Firefox DevTools

Unique Features:

  • CSS Grid Inspector
  • Font Editor
  • Accessibility Inspector
  • Network throttling

Cross-Browser Compatibility

Browser Prefixes (Vendor Prefixes)

/* Legacy - use autoprefixer instead */
.element {
  -webkit-transform: rotate(45deg); /* Chrome, Safari */
  -moz-transform: rotate(45deg); /* Firefox */
  -ms-transform: rotate(45deg); /* IE */
  -o-transform: rotate(45deg); /* Opera */
  transform: rotate(45deg); /* Standard */
}

Modern approach: Use build tools (Autoprefixer)

User Agent String

// Check browser
const userAgent = navigator.userAgent;

if (userAgent.includes('Firefox')) {
  // Firefox-specific code
} else if (userAgent.includes('Chrome')) {
  // Chrome-specific code
}

// Better: Feature detection
if ('serviceWorker' in navigator) {
  // Modern browser
}

Graceful Degradation vs Progressive Enhancement

Graceful Degradation: Build for modern, degrade for old

.container {
  display: grid; /* Modern browsers */
  display: block; /* Fallback */
}

Progressive Enhancement: Build base, enhance for modern

.container {
  display: block; /* Base */
}

@supports (display: grid) {
  .container {
    display: grid; /* Enhancement */
  }
}

Browser Features

Service Workers

Background scripts for offline functionality

Supported: All modern browsers

WebAssembly

Binary instruction format for web

Supported: All modern browsers

Web Components

Custom HTML elements

Supported: All modern browsers (with polyfills)

WebRTC

Real-time communication

Supported: All modern browsers

Browser Storage

Storage Size Expiration Scope
Cookies 4KB Configurable Domain
LocalStorage 5-10MB Never Origin
SessionStorage 5-10MB Tab close Origin
IndexedDB 50MB+ Never Origin

Mobile Browsers

iOS Safari

  • Only browser allowed on iOS
  • All iOS browsers use WebKit
  • Different from desktop Safari

Chrome Mobile (Android)

  • Blink engine
  • Similar to desktop Chrome

Samsung Internet

  • Based on Chromium
  • Popular on Samsung devices

Browser Market Share (2026)

Desktop:

  • Chrome: ~65%
  • Safari: ~20%
  • Edge: ~5%
  • Firefox: ~3%
  • Other: ~7%

Mobile:

  • Chrome: ~65%
  • Safari: ~25%
  • Samsung Internet: ~5%
  • Other: ~5%

Testing Browsers

Tools

  • BrowserStack: Cloud browser testing
  • Sauce Labs: Automated testing
  • CrossBrowserTesting: Live testing
  • LambdaTest: Cross-browser testing

Virtual Machines

  • VirtualBox: Free virtualization
  • Parallels: Mac virtualization
  • Windows Dev VMs: Free Windows VMs

Developer Features

Chromium-based Developer Features

  • Remote Debugging: Debug mobile devices
  • Workspaces: Edit files directly
  • Snippets: Reusable code snippets
  • Coverage: Unused code detection

Firefox Developer Edition

  • CSS Grid Inspector
  • Flexbox Inspector
  • Font Panel
  • Accessibility Audits

Browser Extensions

Manifest V3 (Modern)

{
  "manifest_version": 3,
  "name": "My Extension",
  "version": "1.0",
  "permissions": ["storage", "activeTab"],
  "action": {
    "default_popup": "popup.html"
  },
  "content_scripts": [{
    "matches": ["<all_urls>"],
    "js": ["content.js"]
  }]
}

Glossary Terms

Key Terms Covered:

  • Apple Safari
  • Blink
  • blink element
  • Browser
  • Browsing context
  • Chrome
  • Developer tools
  • Engine
  • Firefox OS
  • Gecko
  • Google Chrome
  • JavaScript engine
  • Microsoft Edge
  • Microsoft Internet Explorer
  • Mozilla Firefox
  • Netscape Navigator
  • Opera browser
  • Presto
  • Rendering engine
  • Trident
  • User agent
  • Vendor prefix
  • WebKit

Additional Resources