WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED INVALID
46825
build fails if NETSCAPE_PLUGIN_API is disabled
https://bugs.webkit.org/show_bug.cgi?id=46825
Summary
build fails if NETSCAPE_PLUGIN_API is disabled
sccameron
Reported
2010-09-29 11:20:48 PDT
Created
attachment 69228
[details]
Patch for Page.cpp Calls to PluginView:: need to be wrapped in #if ENABLE(NETSCAPE_PLUGIN_API)] This should identify the commit causing this error:
http://svn.webkit.org/repository/webkit/trunk@65707
268f45cc-cd09-0410-ab3c-d52691b4dbfc
Attachments
Patch for Page.cpp
(2.30 KB, patch)
2010-09-29 11:20 PDT
,
sccameron
andersca
: review-
darin
: commit-queue-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Anders Carlsson
Comment 1
2010-09-30 08:13:55 PDT
Comment on
attachment 69228
[details]
Patch for Page.cpp I think the #if ENABLE needs to go inside the function body, otherwise the code in Settings.cpp that tries to call it will fail.
Anders Carlsson
Comment 2
2010-09-30 08:42:13 PDT
Actually, I don't see how this would cause the build to fail. PluginView is still built even though NETSCAPE_PLUGIN_API is disabled.
sccameron
Comment 3
2010-10-01 06:52:11 PDT
(In reply to
comment #2
)
> Actually, I don't see how this would cause the build to fail. PluginView is still built even though NETSCAPE_PLUGIN_API is disabled.
The linker error is: (Page.obj) : error LNK2001: unresolved external symbol "public: void __thiscall WebCore::PluginView::privateBrowsingStateChanged(bool)" (?privateBrowsingStateChanged@PluginView@WebCore@@QAEX_N@Z) I'll post a new patch if you agree that it's a valid problem. In addition, the following linker error occurs: (ScriptDebugServer.obj) : error LNK2001: unresolved external symbol "public: void __thiscall WebCore::PluginView::setJavaScriptPaused(bool)" (?setJavaScriptPaused@PluginView@WebCore@@QAEX_N@Z) ...which requires the following change: --- a/WebCore/bindings/js/ScriptDebugServer.cpp +++ b/WebCore/bindings/js/ScriptDebugServer.cpp @@ -433,9 +433,7 @@ void ScriptDebugServer::setJavaScriptPaused(FrameView* view, bool paused) Widget* widget = (*it).get(); if (!widget->isPluginView()) continue; +#if ENABLE(NETSCAPE_PLUGIN_API) static_cast<PluginView*>(widget)->setJavaScriptPaused(paused); +#endif } }
Anders Carlsson
Comment 4
2010-10-01 09:14:04 PDT
(In reply to
comment #3
)
> (In reply to
comment #2
) > > Actually, I don't see how this would cause the build to fail. PluginView is still built even though NETSCAPE_PLUGIN_API is disabled. > > > The linker error is: > (Page.obj) : error LNK2001: unresolved external symbol "public: void __thiscall WebCore::PluginView::privateBrowsingStateChanged(bool)" (?privateBrowsingStateChanged@PluginView@WebCore@@QAEX_N@Z) > > I'll post a new patch if you agree that it's a valid problem. >
Are you including the plugins/PluginViewNone.cpp file in your build? Not doing that would cause those two build errors.
sccameron
Comment 5
2010-10-01 09:26:26 PDT
(In reply to
comment #4
)
> (In reply to
comment #3
) > > (In reply to
comment #2
) > > > Actually, I don't see how this would cause the build to fail. PluginView is still built even though NETSCAPE_PLUGIN_API is disabled. > > > > > > The linker error is: > > (Page.obj) : error LNK2001: unresolved external symbol "public: void __thiscall WebCore::PluginView::privateBrowsingStateChanged(bool)" (?privateBrowsingStateChanged@PluginView@WebCore@@QAEX_N@Z) > > > > I'll post a new patch if you agree that it's a valid problem. > > > > Are you including the plugins/PluginViewNone.cpp file in your build? Not doing that would cause those two build errors.
Yes it is. WebCore.pro contains: contains(DEFINES, ENABLE_NETSCAPE_PLUGIN_API=1) { ... } else { SOURCES += \ plugins/PluginPackageNone.cpp \ plugins/PluginViewNone.cpp } ...and PluginViewNone.cpp is build in the logfile.
Joe Mason
Comment 6
2010-10-18 12:23:04 PDT
Aha, the problem is: // The functions below are for platforms that do not use PluginView for plugins // due to architectural differences. The plan is to eventually have all // ports using PluginView, but until then, if new functions like this are // added, please make sure they have the proper platform #ifs so that changes // do not break ports who compile both this file and PluginView.cpp. #if PLATFORM(MAC) || PLATFORM(CHROMIUM) || PLATFORM(EFL) || (OS(WINCE) && !PLATFORM(QT)) || (PLATFORM(QT) && !OS(WINCE)) || PLATFORM(BREWMP) ... void PluginView::privateBrowsingStateChanged(bool) { } ... #endif We just need to add our port to that list.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug