Summary: It's OK to deliver content to Chrome dynamically over the internet, but Chrome behavior should be a part of the Chrome binary or delivered via Component Updater.
There are several reasons for this:
What do we mean by ‘behavior’? ‘Behavior’ is anything that a reasonable user would consider to be ‘part of Chrome’ as opposed to content displayed by Chrome. So, the feed of articles is definitely ‘content’ whereas the settings pages are ‘behavior’. Web pages themselves are ‘content’ but any action which the browser applies to those pages is ‘behavior’. Generally speaking, code which runs in the browser process is likely to be ‘behavior’. Configuration information is likely to be ‘behavior’ too if it meaningfully alters Chrome's functionality.
A solution is available for fairly-dynamic Chrome behavior: Component Updater. Components can be updated without an update to Chrome itself, which allows them to have faster or desynchronized release cadences. (The same signing technology can be used elsewhere, but this should be avoided if possible because component updater has documentation and controls such as enterprise policies that might need to be replicated for per-feature signing and code delivery schemes).