The problem I hit is that my ~/.config/chromium/ directory should have unconfined_u:object_r:chromium_xdg_config_t context, but it has unconfined_u:object_r:xdg_config_home_t instead.
I could manually force the "right" context, but it turned out even removing the directory in question and allowing the browser to re-create it still results in wrong context. Looks like something deeper is broken (maybe just on my system), and fixing the root cause is always better. After all, other people may hit this problem too.
Here is what error messages appear on chromium launch:
$ chromium [2557:2557:1727940797:ERROR:process_singleton_linux.cc(263)] Failed to create /home/ph/.config/chromium/SingletonLock: Permission denied [2557:2557:1727941544:ERROR:chrome_browser_main.cc(1552)] Failed to create a ProcessSingleton for your profile directory. This means that running multiple instances would start multiple browser processes rather than opening a new window in the existing process. Aborting now to avoid profile corruption.
And SELinux messages:
# audit2allow -d #============= chromium_t ============== allow chromium_t xdg_config_home_t:file create; allow chromium_t xdg_config_home_t:lnk_file { read create }; [ 107.872466] type=1400 audit(1348505952.982:67): avc: denied { read } for pid=2166 comm="chrome" name="SingletonLock" dev="sda1" ino=522327 scontext=unconfined_u:unconfined_r:chromium_t tcontext=unconfined_u:object_r:xdg_config_home_t tclass=lnk_file [ 107.873916] type=1400 audit(1348505952.983:68): avc: denied { create } for pid=2178 comm="Chrome_FileThre" name=".org.chromium.Chromium.ZO3dGF" scontext=unconfined_u:unconfined_r:chromium_t tcontext=unconfined_u:object_r:xdg_config_home_t tclass=file
If you have any ideas how to further debug it, or how to solve it, please share (e.g. comment on the bug or send me an e-mail). Thanks!