Первая проблема заключается в том, что API-интерфейсы chrome.storage являются асинхронными, а localStorage - синхронизацией. Теоретически возможно создать localStorage mock, поддерживаемый chrome.storage, но во многих случаях он будет ломаться.
Вторая проблема заключается в том, что chrome.storage работает с объектами, когда localStorage допускает только строки. Поэтому, если у вас будет какой-то код, который будет опираться на режим localStorage, у вас будут только хранить строки в chrome.storage.local, иначе у вас появятся очень странные ошибки.
Последняя проблема заключается в том, что вы не можете переназначить переменную window.localStorage в хромовых приложениях, так что единственный способ, чтобы обернуть код в себя исполняющее закрытие, а также обеспечить окно и LocalStorage издевается в качестве закрывающей переменных, например:
(function(window,localStorage){
//some code relying on localStorage here
})(windowObjectMock,windowObjectMock.localStorage);
Это проще и более подвержено ошибкам переписать внешний код, чтобы использовать chrome.storage.local, а не пытаться обеспечить реализацию localStorage, поддерживаемую chrome.storage.local.
Я думаю, что ваш запрос очень похож на [этот] (http://stackoverflow.com/questions/13612643/is-it-possible-to-override-local-storage-and-session-storage-separately- in-html5) (хотя спрашивают о других методах HTML5). – adjuremods