Google have controversially removed a feature (showModalDialog) from Chrome v37+ that has been included in most browsers since 1994 and is still part of the HTML5 specification.
This has caused problems with lots of web applications including companies internally developed apps, ’3rd party apps’ and Microsoft products like Outlook Web Access, Dynamics and of course SharePoint.
TeamTime (our timesheet app for SharePoint) has been effected by this too as we use SharePoints built in People Picker control in the Timesheet to allow you to view other users timesheets (if you’ve got the right permissions).
With Google Chrome v37 and above it will open up the people picker and let you select an individual, but when you click OK it won’t update the main page.
This is actually due to a bug in SharePoint 2010 and you can see the same problem if you edit a normal “Person or Group” field like the Assigned To field in any task list.
Interestingly (to us nerds anyway!) it works fine if the Edit Form opens as a dialog, but won’t work if it opens up full screen (which will happen if you right click Open In New Window, click on an edit link in an email or turn of Launch forms in a dialog in List Settings > Advanced Settings).
|Edit Form opens in dialog – people picker will work OK.||Edit Form opened full screen, SharePoint 2010 people picker will not work in Google Chrome v37 or above|
Nerd Alert – The bug is in init.js, function commonShowModalDialog. At the end of the function (in the branch that runs if showModalDialog is not available) you have the line
if (window.frameElement != null)
window.fndlgClose = d
Where d is the ‘callback’ function to run when the user selects a person. The test if (window.frameElement != null) means this is only ran if its running in an iFrame – hence it working if the edit form opens up in a ‘popup’ itself.
What are my options?
- Stop using Chrome in favour of another browser.
- Temporarily use a registry hack to turn showModalDialog back on (but this will only work until the end of April 2015)
- Upgrade to SharePoint 2013 (this only happens on SharePoint 2010, not 2007 or 2013)
- Wait until either Microsoft fix this or Google come to their senses.