Bug 164713 - Fix the !ENABLE(FETCH_API) build after r208613
Summary: Fix the !ENABLE(FETCH_API) build after r208613
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: Other
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords:
Depends on:
Blocks: 164644
  Show dependency treegraph
 
Reported: 2016-11-14 08:21 PST by Csaba Osztrogonác
Modified: 2016-11-14 10:02 PST (History)
8 users (show)

See Also:


Attachments
Patch (3.99 KB, patch)
2016-11-14 09:18 PST, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2016-11-14 08:21:57 PST
DerivedSources/WebCore/JSWorkerGlobalScope.cpp: In member function 'void WebCore::JSWorkerGlobalScopePrototype::finishCreation(JSC::VM&)':
DerivedSources/WebCore/JSWorkerGlobalScope.cpp:544:124: error: 'jsWorkerGlobalScopePrototypeFunctionFetchRequest' was not declared in this scope
Comment 1 Csaba Osztrogonác 2016-11-14 08:23:39 PST
...
#if ENABLE(FETCH_API)
JSC::EncodedJSValue JSC_HOST_CALL jsWorkerGlobalScopePrototypeFunctionFetchRequest(JSC::ExecState*);
#endif
...
void JSWorkerGlobalScopePrototype::finishCreation(VM& vm)
{
    Base::finishCreation(vm);
    reifyStaticProperties(vm, JSWorkerGlobalScopePrototypeTableValues, *this);
#if ENABLE(FETCH_API)
    if (!RuntimeEnabledFeatures::sharedFeatures().fetchAPIEnabled()) {
        Identifier propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("fetch"), strlen("fetch"));
        VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
        JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
    }
#endif
#if ENABLE(INDEXED_DATABASE_IN_WORKERS)
    if (!RuntimeEnabledFeatures::sharedFeatures().indexedDBWorkersEnabled()) {
        Identifier propertyName = Identifier::fromString(&vm, reinterpret_cast<const LChar*>("indexedDB"), strlen("indexedDB"));
        VM::DeletePropertyModeScope scope(vm, VM::DeletePropertyMode::IgnoreConfigurable);
        JSObject::deleteProperty(this, globalObject()->globalExec(), propertyName);
    }
#endif
    JSVMClientData& clientData = *static_cast<JSVMClientData*>(vm.clientData);
    putDirect(vm, clientData.builtinNames().fetchRequestPrivateName(), JSFunction::create(vm, globalObject(), 0, String(), jsWorkerGlobalScopePrototypeFunctionFetchRequest), ReadOnly | DontEnum); <-------------------- BANG!!! This line should be guarded.
}
Comment 2 Csaba Osztrogonác 2016-11-14 08:53:02 PST
I bisected, it is a regression caused by http://trac.webkit.org/changeset/208613 .
Comment 3 Chris Dumez 2016-11-14 08:56:56 PST
I am investigating, thanks.
Comment 4 Chris Dumez 2016-11-14 09:18:57 PST
Created attachment 294705 [details]
Patch
Comment 5 WebKit Commit Bot 2016-11-14 10:02:17 PST
Comment on attachment 294705 [details]
Patch

Clearing flags on attachment: 294705

Committed r208689: <http://trac.webkit.org/changeset/208689>
Comment 6 WebKit Commit Bot 2016-11-14 10:02:22 PST
All reviewed patches have been landed.  Closing bug.