| Index: third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp | 
| diff --git a/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp b/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp | 
| index edd1b71cd982da82a44bf65a365e495152d6d901..43ac12846daf9ddca9a6050301035f5223636844 100644 | 
| --- a/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp | 
| +++ b/third_party/WebKit/Source/core/workers/MainThreadWorklet.cpp | 
| @@ -11,22 +11,42 @@ | 
| #include "core/workers/WorkletGlobalScopeProxy.h" | 
| #include "core/workers/WorkletPendingTasks.h" | 
| #include "platform/wtf/WTF.h" | 
| +#include "public/platform/WebURLRequest.h" | 
|  | 
| namespace blink { | 
|  | 
| +namespace { | 
| + | 
| +WebURLRequest::FetchCredentialsMode ParseCredentialsOption( | 
| +    const String& credentials_option) { | 
| +  if (credentials_option == "omit") | 
| +    return WebURLRequest::kFetchCredentialsModeOmit; | 
| +  if (credentials_option == "same-origin") | 
| +    return WebURLRequest::kFetchCredentialsModeSameOrigin; | 
| +  if (credentials_option == "include") | 
| +    return WebURLRequest::kFetchCredentialsModeInclude; | 
| +  NOTREACHED(); | 
| +  return WebURLRequest::kFetchCredentialsModeOmit; | 
| +} | 
| + | 
| +}  // namespace | 
| + | 
| MainThreadWorklet::MainThreadWorklet(LocalFrame* frame) : Worklet(frame) {} | 
|  | 
| // Implementation of the second half of the "addModule(moduleURL, options)" | 
| // algorithm: | 
| // https://drafts.css-houdini.org/worklets/#dom-worklet-addmodule | 
| void MainThreadWorklet::FetchAndInvokeScript(const KURL& module_url_record, | 
| +                                             const WorkletOptions& options, | 
| ScriptPromiseResolver* resolver) { | 
| DCHECK(IsMainThread()); | 
| if (!GetExecutionContext()) | 
| return; | 
|  | 
| // Step 6: "Let credentialOptions be the credentials member of options." | 
| -  // TODO(nhiroki): Implement credentialOptions (https://crbug.com/710837). | 
| +  // TODO(nhiroki): Add tests for credentialOptions (https://crbug.com/710837). | 
| +  WebURLRequest::FetchCredentialsMode credentials_mode = | 
| +      ParseCredentialsOption(options.credentials()); | 
|  | 
| // Step 7: "Let outsideSettings be the relevant settings object of this." | 
| // TODO(nhiroki): outsideSettings will be used for posting a task to the | 
| @@ -62,10 +82,9 @@ void MainThreadWorklet::FetchAndInvokeScript(const KURL& module_url_record, | 
| // invoke a worklet script given workletGlobalScope, moduleURLRecord, | 
| // moduleResponsesMap, credentialOptions, outsideSettings, pendingTaskStruct, | 
| // and promise." | 
| -  // TODO(nhiroki): Pass the remaining parameters (e.g., credentialOptions). | 
| // TODO(nhiroki): Queue a task instead of executing this here. | 
| -  GetWorkletGlobalScopeProxy()->FetchAndInvokeScript(module_url_record, | 
| -                                                     pending_tasks); | 
| +  GetWorkletGlobalScopeProxy()->FetchAndInvokeScript( | 
| +      module_url_record, credentials_mode, pending_tasks); | 
| } | 
|  | 
| void MainThreadWorklet::ContextDestroyed(ExecutionContext* execution_context) { | 
|  |