Moved parseLink with dependencies to shared CKEDITOR.plugins.link.
Use strict and closure in link plugin.
Use strict and closure in link dialog.
Moved plugin-specific protected variable from CKEDITOR.plugins.link#parseLink to link plugin's onShow.
Use CKEDITOR.plugins.link#parseLink during init to fill widget.data#link.
Extracted the logic of link dialog's onOk into CKEDITOR.plugins.link#getLinkAttributes (with dependencies).
CKEDITOR.plugins.link#getCompiledProtectionFunction does not need to be public any longer.
Code refactoring: Renamed parseLink -> parseLinkAttributes.
There's no need to call parseLinkAttributes in any particular context because it's a public, independent method.
Update link attributes while shifting link state.