OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 if (!extractTransferables(info[transferablesArgIndex], ports, arrayBuffe
rs, notASequence, info.GetIsolate())) { | 53 if (!extractTransferables(info[transferablesArgIndex], ports, arrayBuffe
rs, notASequence, info.GetIsolate())) { |
54 if (notASequence) | 54 if (notASequence) |
55 throwTypeError(ExceptionMessages::failedToExecute("postMessage",
"Worker", ExceptionMessages::notAnArrayTypeArgumentOrValue(transferablesArgInde
x + 1)), info.GetIsolate()); | 55 throwTypeError(ExceptionMessages::failedToExecute("postMessage",
"Worker", ExceptionMessages::notAnArrayTypeArgumentOrValue(transferablesArgInde
x + 1)), info.GetIsolate()); |
56 return; | 56 return; |
57 } | 57 } |
58 } | 58 } |
59 bool didThrow = false; | 59 bool didThrow = false; |
60 RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0
], &ports, &arrayBuffers, didThrow, info.GetIsolate()); | 60 RefPtr<SerializedScriptValue> message = SerializedScriptValue::create(info[0
], &ports, &arrayBuffers, didThrow, info.GetIsolate()); |
61 if (didThrow) | 61 if (didThrow) |
62 return; | 62 return; |
63 ExceptionState es(info.GetIsolate()); | 63 ExceptionState es(info.Holder(), info.GetIsolate()); |
64 worker->postMessage(message.release(), &ports, es); | 64 worker->postMessage(message.release(), &ports, es); |
65 es.throwIfNeeded(); | 65 es.throwIfNeeded(); |
66 } | 66 } |
67 | 67 |
68 } // namespace WebCore | 68 } // namespace WebCore |
OLD | NEW |