Bug 133813

Summary: [Win] Avoid crashes in code that converted CFDictionarys to HashMap
Product: WebKit Reporter: Brent Fulgham <bfulgham>
Component: WebKit Misc.Assignee: Brent Fulgham <bfulgham>
Status: RESOLVED FIXED    
Severity: Critical CC: bfulgham, thorton, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Unspecified   
Attachments:
Description Flags
Patch thorton: review+

Description Brent Fulgham 2014-06-12 11:33:59 PDT
Work done in the past year to reduce dependencies on outside libraries included some changes to the Windows API routines where CFDictionaries were replaced with HashMaps. This introduced crashes in cases where nullptr were passed to these routines, since the CFDictionary logic would gracefully fail while the HashMap implementation crashes when attempting to hash a nullptr.

This patch protects these routines from the nullptr case so that the classes work as intended.
Comment 1 Brent Fulgham 2014-06-12 12:18:00 PDT
Created attachment 232972 [details]
Patch
Comment 2 Brent Fulgham 2014-06-12 12:19:25 PDT
Comment on attachment 232972 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=232972&action=review

> Source/WebKit/win/WebView.h:89
> +    , public WebCore::FullScreenControllerClient

This is needed so that std::make_unique can access the FullScreenControlerClient interface for casting.
Comment 3 Brent Fulgham 2014-06-12 13:15:46 PDT
The efl-wk2 error seems spurious. It does not build Windows-specific sources.
Comment 4 Radar WebKit Bug Importer 2014-06-12 13:30:18 PDT
<rdar://problem/17291647>
Comment 5 Brent Fulgham 2014-06-12 13:34:59 PDT
Committed r169909: <http://trac.webkit.org/changeset/169909>