Make IPC_MESSAGE_EXPORT more robust.
Make IPC_MESSAGE_EXPORT more robust.

Currently, files that want to export ipc messages currently do

  #undef IPC_MESSAGE_EXPORT
  #define IPC_MESSAGE_EXPORT  CONTENT_EXPORT

at the top, and files that don't want to export ipc messages just do nothing. This is problematic if a cc file does

  #include "exported_messages.h"
  #include "not_exported_messages.h"

because the second header file picks up the #define from the first file and declares all its messages as exported. In other translation units, where not_exported_messages.h is #included without another header above it, the messages will get default visibility – so the same class ends up with different visibilities in different translation units.

Instead, let ipc_message_macros.h #undef IPC_MESSAGE_EXPORT outside of the include guard, so that all files that don't set the define see it as defined to nothing. (Idea from jam@)

BUG=90078
TEST=No linker errors about IPC messages when doing components build on mac. (Other linker errors remain for now.)
TBR=brettw

Review URL: http://codereview.chromium.org/9425006

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@122689 0039d316-1c4b-4281-b951-d872f2087c98

rogerwang/chromium,junmin-zhu/chromium-rivertrail,crosswalk-project/chromium-crosswalk-efl,TheTypoMaster/chromium-crosswalk,chuan9/chromium-crosswalk,nacl-webkit/chrome_deps,dushu1203/chromium.src,markYoungH/chromium.src,crosswalk-project/chromium-crosswalk-efl,pozdnyakov/chromium-crosswalk,axinging/chromium-crosswalk,axinging/chromium-crosswalk,junmin-zhu/chromium-rivertrail,M4sse/chromium.src,junmin-zhu/chromium-rivertrail,dushu1203/chromium.src,robclark/chromium,Jonekee/chromium.src,krieger-od/nwjs_chromium.src,TheTypoMaster/chromium-crosswalk,anirudhSK/chromium,markYoungH/chromium.src,mohamed--abdel-maksoud/chromium.src,mohamed--abdel-maksoud/chromium.src,pozdnyakov/chromium-crosswalk,timopulkkinen/BubbleFish,Pluto-tv/chromium-crosswalk,krieger-od/nwjs_chromium.src,crosswalk-project/chromium-crosswalk-efl,zcbenz/cefode-chromium,krieger-od/nwjs_chromium.src,crosswalk-project/chromium-crosswalk-efl,ondra-novak/chromium.src,hgl888/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,dednal/chromium.src,bright-sparks/chromium-spacewalk,anirudhSK/chromium,anirudhSK/chromium,littlstar/chromium.src,pozdnyakov/chromium-crosswalk,ltilve/chromium,keishi/chromium,hgl888/chromium-crosswalk-efl,hgl888/chromium-crosswalk,patrickm/chromium.src,keishi/chromium,bright-sparks/chromium-spacewalk,krieger-od/nwjs_chromium.src,TheTypoMaster/chromium-crosswalk,zcbenz/cefode-chromium,jaruba/chromium.src,chuan9/chromium-crosswalk,fujunwei/chromium-crosswalk,pozdnyakov/chromium-crosswalk,hgl888/chromium-crosswalk,mogoweb/chromium-crosswalk,krieger-od/nwjs_chromium.src,keishi/chromium,crosswalk-project/chromium-crosswalk-efl,Pluto-tv/chromium-crosswalk,robclark/chromium,markYoungH/chromium.src,mohamed--abdel-maksoud/chromium.src,ChromiumWebApps/chromium,axinging/chromium-crosswalk,Just-D/chromium-1,jaruba/chromium.src,markYoungH/chromium.src,mogoweb/chromium-crosswalk,hgl888/chromium-crosswalk-efl,pozdnyakov/chromium-crosswalk,mogoweb/chromium-crosswalk,rogerwang/chromium,fujunwei/chromium-crosswalk,hujiajie/pa-chromium,Fireblend/chromium-crosswalk,nacl-webkit/chrome_deps,krieger-od/nwjs_chromium.src,timopulkkinen/BubbleFish,Chilledheart/chromium,markYoungH/chromium.src,hgl888/chromium-crosswalk-efl,axinging/chromium-crosswalk,anirudhSK/chromium,hgl888/chromium-crosswalk-efl,chuan9/chromium-crosswalk,bright-sparks/chromium-spacewalk,anirudhSK/chromium,TheTypoMaster/chromium-crosswalk,fujunwei/chromium-crosswalk,M4sse/chromium.src,pozdnyakov/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,ltilve/chromium,keishi/chromium,Jonekee/chromium.src,Just-D/chromium-1,Fireblend/chromium-crosswalk,littlstar/chromium.src,pozdnyakov/chromium-crosswalk,chuan9/chromium-crosswalk,keishi/chromium,mogoweb/chromium-crosswalk,ltilve/chromium,hujiajie/pa-chromium,patrickm/chromium.src,patrickm/chromium.src,patrickm/chromium.src,axinging/chromium-crosswalk,jaruba/chromium.src,ondra-novak/chromium.src,Jonekee/chromium.src,axinging/chromium-crosswalk,Fireblend/chromium-crosswalk,hgl888/chromium-crosswalk-efl,pozdnyakov/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,mogoweb/chromium-crosswalk,keishi/chromium,junmin-zhu/chromium-rivertrail,axinging/chromium-crosswalk,ltilve/chromium,timopulkkinen/BubbleFish,fujunwei/chromium-crosswalk,mogoweb/chromium-crosswalk,anirudhSK/chromium,ondra-novak/chromium.src,TheTypoMaster/chromium-crosswalk,Chilledheart/chromium,bright-sparks/chromium-spacewalk,markYoungH/chromium.src,junmin-zhu/chromium-rivertrail,timopulkkinen/BubbleFish,mohamed--abdel-maksoud/chromium.src,robclark/chromium,robclark/chromium,keishi/chromium,dushu1203/chromium.src,bright-sparks/chromium-spacewalk,timopulkkinen/BubbleFish,Jonekee/chromium.src,hgl888/chromium-crosswalk-efl,PeterWangIntel/chromium-crosswalk,ltilve/chromium,Chilledheart/chromium,timopulkkinen/BubbleFish,krieger-od/nwjs_chromium.src,M4sse/chromium.src,zcbenz/cefode-chromium,littlstar/chromium.src,nacl-webkit/chrome_deps,markYoungH/chromium.src,rogerwang/chromium,ChromiumWebApps/chromium,ltilve/chromium,markYoungH/chromium.src,junmin-zhu/chromium-rivertrail,krieger-od/nwjs_chromium.src,pozdnyakov/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,robclark/chromium,crosswalk-project/chromium-crosswalk-efl,hujiajie/pa-chromium,anirudhSK/chromium,hgl888/chromium-crosswalk,dednal/chromium.src,Fireblend/chromium-crosswalk,keishi/chromium,Chilledheart/chromium,anirudhSK/chromium,pozdnyakov/chromium-crosswalk,dushu1203/chromium.src,nacl-webkit/chrome_deps,littlstar/chromium.src,M4sse/chromium.src,M4sse/chromium.src,timopulkkinen/BubbleFish,hujiajie/pa-chromium,TheTypoMaster/chromium-crosswalk,junmin-zhu/chromium-rivertrail,robclark/chromium,M4sse/chromium.src,dednal/chromium.src,fujunwei/chromium-crosswalk,littlstar/chromium.src,fujunwei/chromium-crosswalk,dednal/chromium.src,dushu1203/chromium.src,mogoweb/chromium-crosswalk,axinging/chromium-crosswalk,chuan9/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,rogerwang/chromium,ChromiumWebApps/chromium,mogoweb/chromium-crosswalk,Fireblend/chromium-crosswalk,Just-D/chromium-1,dushu1203/chromium.src,junmin-zhu/chromium-rivertrail,krieger-od/nwjs_chromium.src,patrickm/chromium.src,jaruba/chromium.src,hgl888/chromium-crosswalk,dednal/chromium.src,Jonekee/chromium.src,zcbenz/cefode-chromium,axinging/chromium-crosswalk,Fireblend/chromium-crosswalk,Pluto-tv/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,krieger-od/nwjs_chromium.src,Jonekee/chromium.src,rogerwang/chromium,ondra-novak/chromium.src,M4sse/chromium.src,keishi/chromium,Jonekee/chromium.src,PeterWangIntel/chromium-crosswalk,hgl888/chromium-crosswalk,junmin-zhu/chromium-rivertrail,zcbenz/cefode-chromium,PeterWangIntel/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,dednal/chromium.src,keishi/chromium,Fireblend/chromium-crosswalk,rogerwang/chromium,robclark/chromium,keishi/chromium,robclark/chromium,PeterWangIntel/chromium-crosswalk,ChromiumWebApps/chromium,ChromiumWebApps/chromium,dednal/chromium.src,mohamed--abdel-maksoud/chromium.src,mohamed--abdel-maksoud/chromium.src,Chilledheart/chromium,jaruba/chromium.src,nacl-webkit/chrome_deps,hgl888/chromium-crosswalk-efl,rogerwang/chromium,jaruba/chromium.src,anirudhSK/chromium,chuan9/chromium-crosswalk,Pluto-tv/chromium-crosswalk,nacl-webkit/chrome_deps,bright-sparks/chromium-spacewalk,junmin-zhu/chromium-rivertrail,Pluto-tv/chromium-crosswalk,zcbenz/cefode-chromium,patrickm/chromium.src,ChromiumWebApps/chromium,dednal/chromium.src,timopulkkinen/BubbleFish,zcbenz/cefode-chromium,zcbenz/cefode-chromium,fujunwei/chromium-crosswalk,littlstar/chromium.src,markYoungH/chromium.src,hujiajie/pa-chromium,zcbenz/cefode-chromium,chuan9/chromium-crosswalk,Fireblend/chromium-crosswalk,Chilledheart/chromium,chuan9/chromium-crosswalk,littlstar/chromium.src,Jonekee/chromium.src,patrickm/chromium.src,rogerwang/chromium,dednal/chromium.src,M4sse/chromium.src,ChromiumWebApps/chromium,fujunwei/chromium-crosswalk,M4sse/chromium.src,timopulkkinen/BubbleFish,PeterWangIntel/chromium-crosswalk,junmin-zhu/chromium-rivertrail,Pluto-tv/chromium-crosswalk,jaruba/chromium.src,mohamed--abdel-maksoud/chromium.src,Just-D/chromium-1,ondra-novak/chromium.src,dushu1203/chromium.src,axinging/chromium-crosswalk,dednal/chromium.src,robclark/chromium,Pluto-tv/chromium-crosswalk,patrickm/chromium.src,PeterWangIntel/chromium-crosswalk,M4sse/chromium.src,nacl-webkit/chrome_deps,PeterWangIntel/chromium-crosswalk,ChromiumWebApps/chromium,dushu1203/chromium.src,hujiajie/pa-chromium,ondra-novak/chromium.src,Chilledheart/chromium,zcbenz/cefode-chromium,Chilledheart/chromium,nacl-webkit/chrome_deps,nacl-webkit/chrome_deps,ltilve/chromium,nacl-webkit/chrome_deps,Pluto-tv/chromium-crosswalk,axinging/chromium-crosswalk,M4sse/chromium.src,hgl888/chromium-crosswalk,zcbenz/cefode-chromium,Jonekee/chromium.src,robclark/chromium,hgl888/chromium-crosswalk-efl,dushu1203/chromium.src,Just-D/chromium-1,Chilledheart/chromium,Jonekee/chromium.src,bright-sparks/chromium-spacewalk,jaruba/chromium.src,dednal/chromium.src,markYoungH/chromium.src,ondra-novak/chromium.src,Fireblend/chromium-crosswalk,pozdnyakov/chromium-crosswalk,Just-D/chromium-1,jaruba/chromium.src,rogerwang/chromium,ChromiumWebApps/chromium,Pluto-tv/chromium-crosswalk,ChromiumWebApps/chromium,mogoweb/chromium-crosswalk,Just-D/chromium-1,anirudhSK/chromium,markYoungH/chromium.src,littlstar/chromium.src,fujunwei/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,hujiajie/pa-chromium,krieger-od/nwjs_chromium.src,jaruba/chromium.src,hujiajie/pa-chromium,patrickm/chromium.src,ltilve/chromium,anirudhSK/chromium,ChromiumWebApps/chromium,chuan9/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,anirudhSK/chromium,dushu1203/chromium.src,nacl-webkit/chrome_deps,PeterWangIntel/chromium-crosswalk,Just-D/chromium-1,dushu1203/chromium.src,ondra-novak/chromium.src,timopulkkinen/BubbleFish,mohamed--abdel-maksoud/chromium.src,hgl888/chromium-crosswalk,hgl888/chromium-crosswalk-efl,hujiajie/pa-chromium,jaruba/chromium.src,ondra-novak/chromium.src,hgl888/chromium-crosswalk-efl,timopulkkinen/BubbleFish,TheTypoMaster/chromium-crosswalk,mogoweb/chromium-crosswalk,rogerwang/chromium,hujiajie/pa-chromium,hujiajie/pa-chromium,bright-sparks/chromium-spacewalk,hgl888/chromium-crosswalk,Just-D/chromium-1,ltilve/chromium,Jonekee/chromium.src,bright-sparks/chromium-spacewalk,ChromiumWebApps/chromium