I apologize for this being a long story although I hope it's understandable due to the serious nature of my dilemma. I'll start with some back story. Also, I am 27 years old and my boyfriend is 24 years old.
I was single from 19 to 22 after being very seriously physically and mentally abused by an ex. It was hard for me to meet someone I trusted afterwards and more than that it was hard for me to fall in love. While feeling pretty lonely after moving back home when I finished college, I met my now boyfriend on an online dating site. I know it's cliche to say this, but I could swear he is my soulmate. At least, that's what I've thought these past 5 years. He has always been such an incredible boyfriend and he treats me like I always wished I could be treated. We both mesh so well together and we spend as much time as we can together. I truly do love him and I don't know what I'd do without him. But now I don't know what to do at all.
Last night he was acting very strange, he was staying over at my place which he usually does but he kept disappearing to his car or to the bathroom for long periods at a time. Now usually I wouldn't be suspicious of him, but he had admitted to me that earlier that week his ex had been contacting him quite a bit and had showed up to his place which he had lied about before. He told me he only didn't say anything because he knew how upset I'd be. I know they didn't do anything because I had shown up only 5 minutes after she left and he had only been home for 10 minutes so she wasn't there long. I trust him not to cheat, but last night I was being paranoid since he kept disappearing with his phone. I figured it was her trying to talk to him and since he had just lied to me days before, I just did something stupid. I snooped through his phone for the first time in 5 years. I told myself I wouldnt be that girl from the beginning but i did it anyways and what I found just makes this whole situation... unbearable. When I opened his phone he had left the web browser open. It was on some porn of "barely legal teens." This didn't bother me at all because I don't mind if he watches porn. I pressed the back button to go to the previous page he was on, though, and I found he had searched for "hot middle schoolers." I pressed back again and found google pictures of little girls in diapers. Now, let me be clear, no pictures were of the children being abused in person, it was more like pictures people post to facebook. None of the younger girls were naked, and there was adult porn in between searches. But I knew why he was looking at them and what he was doing and that just made me absolutely sick I actually threw up. I put his phone back, I didn't know what to do at that point if I should confront him or not. It was 4am and he was sleeping. I just laid down and cried for the rest of the evening trying to figure out what to do. When he woke up for work early this morning, he knew something was wrong, but he was running late so he said we will talk when he gets back.
I know this story is going to disgust some people and maybe they will tell me to go straight to the police or something like that. But I just don't know if maybe he's been through something traumatic that lead to this or what. It's hard to just label him as a monster when I know the rest of him so well. And it's weird because I've seen him around children, and he never acts inappropriately around them in fact he is nice to them but he more or less avoids too much interaction with them at all. If he sees a young cousin or something, he will give a side hug and that's the end of physical interaction. Maybe I'm being stupid, maybe people will tell me that in the comments. But I genuinely need help. I need to figure out what to do about this. If I should tell him I snooped through his phone and saw it; if I should leave him... I just don't know. I'm in so much pain finding this out about the man I've loved for these years, and it's so hard to picture life without him. But I wonder if it will be hard for me to be normal with him from now on. Please help.