OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 class ResourceError; | 46 class ResourceError; |
47 class ResourceHandle; | 47 class ResourceHandle; |
48 class ResourceRequest; | 48 class ResourceRequest; |
49 class ResourceResponse; | 49 class ResourceResponse; |
50 | 50 |
51 // This class triggers asynchronous loads independent of Frame staying alive (i.
e., auditing pingbacks). | 51 // This class triggers asynchronous loads independent of Frame staying alive (i.
e., auditing pingbacks). |
52 // Since nothing depends on resources loaded through this class, we just want | 52 // Since nothing depends on resources loaded through this class, we just want |
53 // to allow the load to live long enough to ensure the message was actually sent
. | 53 // to allow the load to live long enough to ensure the message was actually sent
. |
54 // Therefore, as soon as a callback is received from the ResourceHandle, this cl
ass | 54 // Therefore, as soon as a callback is received from the ResourceHandle, this cl
ass |
55 // will cancel the load and delete itself. | 55 // will cancel the load and delete itself. |
56 class PingLoader : private blink::WebURLLoaderClient { | 56 class PingLoader FINAL : private blink::WebURLLoaderClient { |
57 WTF_MAKE_NONCOPYABLE(PingLoader); WTF_MAKE_FAST_ALLOCATED; | 57 WTF_MAKE_NONCOPYABLE(PingLoader); WTF_MAKE_FAST_ALLOCATED; |
58 public: | 58 public: |
59 enum ViolationReportType { | 59 enum ViolationReportType { |
60 ContentSecurityPolicyViolationReport, | 60 ContentSecurityPolicyViolationReport, |
61 XSSAuditorViolationReport | 61 XSSAuditorViolationReport |
62 }; | 62 }; |
63 | 63 |
64 static void loadImage(Frame*, const KURL& url); | 64 static void loadImage(Frame*, const KURL& url); |
65 static void sendPing(Frame*, const KURL& pingURL, const KURL& destinationURL
); | 65 static void sendPing(Frame*, const KURL& pingURL, const KURL& destinationURL
); |
66 static void sendViolationReport(Frame*, const KURL& reportURL, PassRefPtr<Fo
rmData> report, ViolationReportType); | 66 static void sendViolationReport(Frame*, const KURL& reportURL, PassRefPtr<Fo
rmData> report, ViolationReportType); |
67 | 67 |
68 virtual ~PingLoader(); | 68 virtual ~PingLoader(); |
69 | 69 |
70 private: | 70 private: |
71 PingLoader(Frame*, ResourceRequest&, StoredCredentials = AllowStoredCredenti
als); | 71 PingLoader(Frame*, ResourceRequest&, StoredCredentials = AllowStoredCredenti
als); |
72 | 72 |
73 virtual void didReceiveResponse(blink::WebURLLoader*, const blink::WebURLRes
ponse&) OVERRIDE { delete this; } | 73 virtual void didReceiveResponse(blink::WebURLLoader*, const blink::WebURLRes
ponse&) OVERRIDE { delete this; } |
74 virtual void didReceiveData(blink::WebURLLoader*, const char*, int, int) OVE
RRIDE { delete this; } | 74 virtual void didReceiveData(blink::WebURLLoader*, const char*, int, int) OVE
RRIDE { delete this; } |
75 virtual void didFinishLoading(blink::WebURLLoader*, double) OVERRIDE { delet
e this; } | 75 virtual void didFinishLoading(blink::WebURLLoader*, double) OVERRIDE { delet
e this; } |
76 virtual void didFail(blink::WebURLLoader*, const blink::WebURLError&) OVERRI
DE { delete this; } | 76 virtual void didFail(blink::WebURLLoader*, const blink::WebURLError&) OVERRI
DE { delete this; } |
77 void timeout(Timer<PingLoader>*) { delete this; } | 77 void timeout(Timer<PingLoader>*) { delete this; } |
78 | 78 |
79 OwnPtr<blink::WebURLLoader> m_loader; | 79 OwnPtr<blink::WebURLLoader> m_loader; |
80 Timer<PingLoader> m_timeout; | 80 Timer<PingLoader> m_timeout; |
81 }; | 81 }; |
82 | 82 |
83 } | 83 } |
84 | 84 |
85 #endif | 85 #endif |
OLD | NEW |