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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 // excessive IPC congestion. We limit this to 100 per thread to throttle the | 72 // excessive IPC congestion. We limit this to 100 per thread to throttle the |
73 // requests (the value is arbitrarily chosen). | 73 // requests (the value is arbitrarily chosen). |
74 static const size_t kMaxOutstandingRequestsPerThread = 100; | 74 static const size_t kMaxOutstandingRequestsPerThread = 100; |
75 static const double progressNotificationIntervalMS = 50; | 75 static const double progressNotificationIntervalMS = 50; |
76 | 76 |
77 typedef PersistentHeapDequeWillBeHeapDeque<Member<FileReader> > FileReaderDeque; | 77 typedef PersistentHeapDequeWillBeHeapDeque<Member<FileReader> > FileReaderDeque; |
78 typedef PersistentHeapHashSetWillBeHeapHashSet<Member<FileReader> > FileReaderHa
shSet; | 78 typedef PersistentHeapHashSetWillBeHeapHashSet<Member<FileReader> > FileReaderHa
shSet; |
79 | 79 |
80 // FIXME: Oilpan: if ExecutionContext is moved to the heap, consider | 80 // FIXME: Oilpan: if ExecutionContext is moved to the heap, consider |
81 // making this object an ExecutionContext supplement (only.) | 81 // making this object an ExecutionContext supplement (only.) |
82 class FileReader::ThrottlingController FINAL : public NoBaseWillBeGarbageCollect
edFinalized<FileReader::ThrottlingController>, public WillBeHeapSupplement<Local
Frame>, public WillBeHeapSupplement<WorkerClients> { | 82 class FileReader::ThrottlingController final : public NoBaseWillBeGarbageCollect
edFinalized<FileReader::ThrottlingController>, public WillBeHeapSupplement<Local
Frame>, public WillBeHeapSupplement<WorkerClients> { |
83 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(FileReader::ThrottlingController); | 83 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(FileReader::ThrottlingController); |
84 public: | 84 public: |
85 static ThrottlingController* from(ExecutionContext* context) | 85 static ThrottlingController* from(ExecutionContext* context) |
86 { | 86 { |
87 if (!context) | 87 if (!context) |
88 return 0; | 88 return 0; |
89 | 89 |
90 if (context->isDocument()) { | 90 if (context->isDocument()) { |
91 Document* document = toDocument(context); | 91 Document* document = toDocument(context); |
92 if (!document->frame()) | 92 if (!document->frame()) |
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 return m_loader->stringResult(); | 484 return m_loader->stringResult(); |
485 } | 485 } |
486 | 486 |
487 void FileReader::trace(Visitor* visitor) | 487 void FileReader::trace(Visitor* visitor) |
488 { | 488 { |
489 visitor->trace(m_error); | 489 visitor->trace(m_error); |
490 EventTargetWithInlineData::trace(visitor); | 490 EventTargetWithInlineData::trace(visitor); |
491 } | 491 } |
492 | 492 |
493 } // namespace blink | 493 } // namespace blink |
OLD | NEW |