WebKit Bugzilla
Attachment 368433 Details for
Bug 197271
: [WPE][GTK] Add WebKitWebPage::did-associate-form-controls-for-frame and deprecate original did-associate-form-controls
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197271-20190428112232.patch (text/plain), 20.24 KB, created by
Michael Catanzaro
on 2019-04-28 09:22:33 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Michael Catanzaro
Created:
2019-04-28 09:22:33 PDT
Size:
20.24 KB
patch
obsolete
>Subversion Revision: 244723 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 0a8e4dc47de1be0c2adf1b8bb2c9fda576918b0e..e892648baf175f82a1a6d15f8427e2f89c03ba00 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,15 @@ >+2019-04-28 Michael Catanzaro <mcatanzaro@igalia.com> >+ >+ [WPE][GTK] Add WebKitWebPage::did-associate-form-controls-for-frame and deprecate original did-associate-form-controls >+ https://bugs.webkit.org/show_bug.cgi?id=197271 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * dom/Document.cpp: >+ (WebCore::Document::didAssociateFormControlsTimerFired): >+ * loader/EmptyClients.h: >+ * page/ChromeClient.h: >+ > 2019-04-27 Simon Fraser <simon.fraser@apple.com> > > Move some Compositing logging to the Layers log channel >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 3433e25307281486aca95a901ae873c894eb6e03..05d023c9f27dc2ad76e121c0e6ddb03167afb9b9 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,24 @@ >+2019-04-28 Michael Catanzaro <mcatanzaro@igalia.com> >+ >+ [WPE][GTK] Add WebKitWebPage::did-associate-form-controls-for-frame and deprecate original did-associate-form-controls >+ https://bugs.webkit.org/show_bug.cgi?id=197271 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h: >+ * WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp: >+ (webkit_web_page_class_init): >+ * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm: >+ (-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): >+ * WebProcess/InjectedBundle/APIInjectedBundleFormClient.h: >+ (API::InjectedBundle::FormClient::didAssociateFormControls): >+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp: >+ (WebKit::InjectedBundlePageFormClient::didAssociateFormControls): >+ * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: >+ * WebProcess/WebCoreSupport/WebChromeClient.cpp: >+ (WebKit::WebChromeClient::didAssociateFormControls): >+ * WebProcess/WebCoreSupport/WebChromeClient.h: >+ > 2019-04-27 Chris Dumez <cdumez@apple.com> > > Improve safety of MachMessage class >diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp >index 1794bed75a5bd9600331d2520f26b0ec70cd0f21..59540d0c2efb6785d02eead2918d51e799f97407 100644 >--- a/Source/WebCore/dom/Document.cpp >+++ b/Source/WebCore/dom/Document.cpp >@@ -7003,8 +7003,10 @@ void Document::didAssociateFormControlsTimerFired() > { > auto vector = copyToVector(m_associatedFormControls); > m_associatedFormControls.clear(); >- if (auto* page = this->page()) >- page->chrome().client().didAssociateFormControls(vector); >+ if (auto* page = this->page()) { >+ ASSERT(m_frame); >+ page->chrome().client().didAssociateFormControls(vector, *m_frame); >+ } > } > > void Document::setCachedDOMCookies(const String& cookies) >diff --git a/Source/WebCore/loader/EmptyClients.h b/Source/WebCore/loader/EmptyClients.h >index 6a663f826f3ae49c8c05bf03e3062ed7bb185630..d45228eed20eb995f5df2a462fb4e34b73b98f35 100644 >--- a/Source/WebCore/loader/EmptyClients.h >+++ b/Source/WebCore/loader/EmptyClients.h >@@ -194,7 +194,7 @@ class EmptyChromeClient : public ChromeClient { > > bool isEmptyChromeClient() const final { return true; } > >- void didAssociateFormControls(const Vector<RefPtr<Element>>&) final { } >+ void didAssociateFormControls(const Vector<RefPtr<Element>>&, Frame&) final { } > bool shouldNotifyOnFormChanges() final { return false; } > > RefPtr<Icon> createIconForFiles(const Vector<String>& /* filenames */) final { return nullptr; } >diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h >index cddf13cae88930e236e9409f92efc2ffd40bf5d9..a8cf8eefadcecea284d718c75f86b805008a6a7f 100644 >--- a/Source/WebCore/page/ChromeClient.h >+++ b/Source/WebCore/page/ChromeClient.h >@@ -426,7 +426,7 @@ public: > virtual String plugInExtraStyleSheet() const { return String(); } > virtual String plugInExtraScript() const { return String(); } > >- virtual void didAssociateFormControls(const Vector<RefPtr<Element>>&) { }; >+ virtual void didAssociateFormControls(const Vector<RefPtr<Element>>&, Frame&) { }; > virtual bool shouldNotifyOnFormChanges() { return false; }; > > virtual void didAddHeaderLayer(GraphicsLayer&) { } >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h b/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h >index 3fc33b98d166f2056d9ba70e96bffe5fdd68bfa2..362a44dfa0c37644ba7d073b42745e53a783c795 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h >@@ -39,6 +39,7 @@ typedef void (*WKBundlePageWillSendSubmitEventCallback)(WKBundlePageRef page, WK > typedef void (*WKBundlePageDidFocusTextFieldCallback)(WKBundlePageRef page, WKBundleNodeHandleRef htmlInputElementHandle, WKBundleFrameRef frame, const void* clientInfo); > typedef bool (*WKBundlePageShouldNotifyOnFormChangesCallback)(WKBundlePageRef page, const void* clientInfo); > typedef void (*WKBundlePageDidAssociateFormControlsCallback)(WKBundlePageRef page, WKArrayRef elementHandles, const void* clientInfo); >+typedef void (*WKBundlePageDidAssociateFormControlsForFrameCallback)(WKBundlePageRef page, WKArrayRef elementHandles, WKBundleFrameRef frame, const void* clientInfo); > > typedef struct WKBundlePageFormClientBase { > int version; >@@ -92,4 +93,27 @@ typedef struct WKBundlePageFormClientV2 { > WKBundlePageDidAssociateFormControlsCallback didAssociateFormControls; > } WKBundlePageFormClientV2; > >+typedef struct WKBundlePageFormClientV3 { >+ WKBundlePageFormClientBase base; >+ >+ // Version 0. >+ WKBundlePageTextFieldDidBeginEditingCallback textFieldDidBeginEditing; >+ WKBundlePageTextFieldDidEndEditingCallback textFieldDidEndEditing; >+ WKBundlePageTextDidChangeInTextFieldCallback textDidChangeInTextField; >+ WKBundlePageTextDidChangeInTextAreaCallback textDidChangeInTextArea; >+ WKBundlePageShouldPerformActionInTextFieldCallback shouldPerformActionInTextField; >+ WKBundlePageWillSubmitFormCallback willSubmitForm; >+ >+ // Version 1. >+ WKBundlePageWillSendSubmitEventCallback willSendSubmitEvent; >+ >+ // version 2. >+ WKBundlePageDidFocusTextFieldCallback didFocusTextField; >+ WKBundlePageShouldNotifyOnFormChangesCallback shouldNotifyOnFormChanges; >+ WKBundlePageDidAssociateFormControlsCallback didAssociateFormControls; >+ >+ // version 3. >+ WKBundlePageDidAssociateFormControlsForFrameCallback didAssociateFormControlsForFrame; >+} WKBundlePageFormClientV3; >+ > #endif // WKBundlePageFormClient_h >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp b/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp >index 47f0f04ce7f905d2b52217156e5c8481ae3ca6a2..02d68b6711250efc0f8fc682d3e8f375cc736c46 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp >@@ -68,6 +68,7 @@ enum { > CONTEXT_MENU, > CONSOLE_MESSAGE_SENT, > FORM_CONTROLS_ASSOCIATED, >+ FORM_CONTROLS_ASSOCIATED_FOR_FRAME, > WILL_SUBMIT_FORM, > > LAST_SIGNAL >@@ -380,13 +381,14 @@ public: > fireFormSubmissionEvent(WEBKIT_FORM_SUBMISSION_WILL_SEND_DOM_EVENT, formElement, frame, sourceFrame, values); > } > >- void didAssociateFormControls(WebPage*, const Vector<RefPtr<Element>>& elements) override >+ void didAssociateFormControls(WebPage*, const Vector<RefPtr<Element>>& elements, WebFrame* frame) override > { > GRefPtr<GPtrArray> formElements = adoptGRef(g_ptr_array_sized_new(elements.size())); > for (size_t i = 0; i < elements.size(); ++i) > g_ptr_array_add(formElements.get(), WebKit::kit(elements[i].get())); > > g_signal_emit(m_webPage, signals[FORM_CONTROLS_ASSOCIATED], 0, formElements.get()); >+ g_signal_emit(m_webPage, signals[FORM_CONTROLS_ASSOCIATED_FOR_FRAME], 0, formElements.get(), webkitFrameGetOrCreate(frame)); > } > > bool shouldNotifyOnFormChanges(WebPage*) override { return true; } >@@ -565,16 +567,47 @@ static void webkit_web_page_class_init(WebKitWebPageClass* klass) > * keep them alive after the signal handler returns. > * > * Since: 2.16 >+ * >+ * Deprecated: 2.26, use WebKitWebPage::form-controls-associated-for-frame instead. > */ > signals[FORM_CONTROLS_ASSOCIATED] = g_signal_new( > "form-controls-associated", > G_TYPE_FROM_CLASS(klass), >- G_SIGNAL_RUN_LAST, >+ static_cast<GSignalFlags>(G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED), > 0, 0, nullptr, > g_cclosure_marshal_VOID__BOXED, > G_TYPE_NONE, 1, > G_TYPE_PTR_ARRAY); > >+ /** >+ * WebKitWebPage::form-controls-associated-for-frame: >+ * @web_page: the #WebKitWebPage on which the signal is emitted >+ * @elements: (element-type WebKitDOMElement) (transfer none): a #GPtrArray of >+ * #WebKitDOMElement with the list of forms in the page >+ * @frame: the #WebKitFrame >+ * >+ * Emitted after form elements (or form associated elements) are associated to a particular web >+ * page. This is useful to implement form auto filling for web pages where form fields are added >+ * dynamically. This signal might be emitted multiple times for the same web page. >+ * >+ * Note that this signal could be also emitted when form controls are moved between forms. In >+ * that case, the @elements array carries the list of those elements which have moved. >+ * >+ * Clients should take a reference to the members of the @elements array if it is desired to >+ * keep them alive after the signal handler returns. >+ * >+ * Since: 2.26 >+ */ >+ signals[FORM_CONTROLS_ASSOCIATED_FOR_FRAME] = g_signal_new( >+ "form-controls-associated-for-frame", >+ G_TYPE_FROM_CLASS(klass), >+ G_SIGNAL_RUN_LAST, >+ 0, 0, nullptr, >+ g_cclosure_marshal_generic, >+ G_TYPE_NONE, 2, >+ G_TYPE_PTR_ARRAY, >+ WEBKIT_TYPE_FRAME); >+ > /** > * WebKitWebPage::will-submit-form: > * @web_page: the #WebKitWebPage on which the signal is emitted >diff --git a/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm b/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm >index 80caa2d597f517e3e861197183237c1162db4dbf..11a7bcda619d4af617323bd34bc7f4d33718ef1b 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm >+++ b/Source/WebKit/WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm >@@ -526,7 +526,7 @@ - (void)_setFormDelegate:(id <WKWebProcessPlugInFormDelegatePrivate>)formDelegat > return [formDelegate _webProcessPlugInBrowserContextControllerShouldNotifyOnFormChanges:m_controller]; > } > >- void didAssociateFormControls(WebKit::WebPage*, const Vector<RefPtr<WebCore::Element>>& elements) override >+ void didAssociateFormControls(WebKit::WebPage*, const Vector<RefPtr<WebCore::Element>>& elements, WebFrame*) override > { > auto formDelegate = m_controller->_formDelegate.get(); > >diff --git a/Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h b/Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h >index 92ebcfe013cc379896db7f143393710cd5b12ee9..0395b323f760123a07ba096e42b98dbe18d2f464 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h >+++ b/Source/WebKit/WebProcess/InjectedBundle/APIInjectedBundleFormClient.h >@@ -70,7 +70,7 @@ public: > virtual bool shouldPerformActionInTextField(WebKit::WebPage*, WebCore::HTMLInputElement*, InputFieldAction, WebKit::WebFrame*) { return false; } > virtual void willSubmitForm(WebKit::WebPage*, WebCore::HTMLFormElement*, WebKit::WebFrame*, WebKit::WebFrame*, const Vector<std::pair<WTF::String, WTF::String>>&, RefPtr<API::Object>& userData) { UNUSED_PARAM(userData); } > virtual void willSendSubmitEvent(WebKit::WebPage*, WebCore::HTMLFormElement*, WebKit::WebFrame*, WebKit::WebFrame*, const Vector<std::pair<WTF::String, WTF::String>>&) { } >- virtual void didAssociateFormControls(WebKit::WebPage*, const Vector<RefPtr<WebCore::Element>>&) { } >+ virtual void didAssociateFormControls(WebKit::WebPage*, const Vector<RefPtr<WebCore::Element>>&, WebKit::WebFrame*) { } > virtual bool shouldNotifyOnFormChanges(WebKit::WebPage*) { return false; } > virtual void willBeginInputSession(WebKit::WebPage*, WebCore::Element*, WebKit::WebFrame*, bool userIsInteracting, RefPtr<API::Object>& userData) { UNUSED_PARAM(userData); } > }; >diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp >index 02b5b53f2fab966b377080c43f454c57a39442e9..daa7ee557f5278d0f016655b69805f5a9347338a 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp >+++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp >@@ -157,7 +157,7 @@ void InjectedBundlePageFormClient::willSubmitForm(WebPage* page, HTMLFormElement > userData = adoptRef(toImpl(userDataToPass)); > } > >-void InjectedBundlePageFormClient::didAssociateFormControls(WebPage* page, const Vector<RefPtr<WebCore::Element>>& elements) >+void InjectedBundlePageFormClient::didAssociateFormControls(WebPage* page, const Vector<RefPtr<WebCore::Element>>& elements, WebFrame* frame) > { > if (!m_client.didAssociateFormControls) > return; >@@ -169,6 +169,10 @@ void InjectedBundlePageFormClient::didAssociateFormControls(WebPage* page, const > elementHandles.uncheckedAppend(InjectedBundleNodeHandle::getOrCreate(element.get())); > > m_client.didAssociateFormControls(toAPI(page), toAPI(API::Array::create(WTFMove(elementHandles)).ptr()), m_client.base.clientInfo); >+ >+ if (!m_client.didAssociateFormControlsForFrame) >+ return; >+ m_client.didAssociateFormControlsForFrame(toAPI(page), toAPI(API::Array::create(WTFMove(elementHandles)).ptr()), toAPI(frame), m_client.base.clientInfo); > } > > bool InjectedBundlePageFormClient::shouldNotifyOnFormChanges(WebPage* page) >diff --git a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h >index e9df5313db0309d2bf6101917723ffca1139442f..e35b21f58748a548d5a30938bf061df19b919e7b 100644 >--- a/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h >+++ b/Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFormClient.h >@@ -33,7 +33,7 @@ > namespace API { > > template<> struct ClientTraits<WKBundlePageFormClientBase> { >- typedef std::tuple<WKBundlePageFormClientV0, WKBundlePageFormClientV1, WKBundlePageFormClientV2> Versions; >+ typedef std::tuple<WKBundlePageFormClientV0, WKBundlePageFormClientV1, WKBundlePageFormClientV2, WKBundlePageFormClientV3> Versions; > }; > } > >@@ -51,7 +51,7 @@ public: > bool shouldPerformActionInTextField(WebPage*, WebCore::HTMLInputElement*, InputFieldAction, WebFrame*) override; > void willSubmitForm(WebPage*, WebCore::HTMLFormElement*, WebFrame*, WebFrame* sourceFrame, const Vector<std::pair<String, String>>&, RefPtr<API::Object>& userData) override; > void willSendSubmitEvent(WebPage*, WebCore::HTMLFormElement*, WebFrame*, WebFrame* sourceFrame, const Vector<std::pair<String, String>>&) override; >- void didAssociateFormControls(WebPage*, const Vector<RefPtr<WebCore::Element>>&) override; >+ void didAssociateFormControls(WebPage*, const Vector<RefPtr<WebCore::Element>>&, WebFrame*) override; > bool shouldNotifyOnFormChanges(WebPage*) override; > }; > >diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp >index 9baa84d38ae0801118a12b81e204ea2e8f0e9ef4..d5512194ab21fff74b78b51e805e93f0ce6fc720 100644 >--- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp >+++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp >@@ -845,9 +845,11 @@ RefPtr<Icon> WebChromeClient::createIconForFiles(const Vector<String>& filenames > > #endif > >-void WebChromeClient::didAssociateFormControls(const Vector<RefPtr<Element>>& elements) >+void WebChromeClient::didAssociateFormControls(const Vector<RefPtr<Element>>& elements, WebCore::Frame& frame) > { >- return m_page.injectedBundleFormClient().didAssociateFormControls(&m_page, elements); >+ WebFrame* webFrame = WebFrame::fromCoreFrame(frame); >+ ASSERT(webFrame); >+ return m_page.injectedBundleFormClient().didAssociateFormControls(&m_page, elements, webFrame); > } > > bool WebChromeClient::shouldNotifyOnFormChanges() >diff --git a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h >index 705b25e9fc912a63b5b4577ef2b8d5e0717a3540..beda1a17db0d2683ce346b7206ed9c21be911ee3 100644 >--- a/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h >+++ b/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h >@@ -200,7 +200,7 @@ private: > void requestPointerUnlock() final; > #endif > >- void didAssociateFormControls(const Vector<RefPtr<WebCore::Element>>&) final; >+ void didAssociateFormControls(const Vector<RefPtr<WebCore::Element>>&, WebCore::Frame&) final; > bool shouldNotifyOnFormChanges() final; > > bool selectItemWritingDirectionIsNatural() final; >diff --git a/Tools/ChangeLog b/Tools/ChangeLog >index 9c307d39eb8a622dc232f8b9ac7ee4ed908227fb..e3b1a83d2443fe8db71df058c313bb058ba43f78 100644 >--- a/Tools/ChangeLog >+++ b/Tools/ChangeLog >@@ -1,3 +1,15 @@ >+2019-04-28 Michael Catanzaro <mcatanzaro@igalia.com> >+ >+ [WPE][GTK] Add WebKitWebPage::did-associate-form-controls-for-frame and deprecate original did-associate-form-controls >+ https://bugs.webkit.org/show_bug.cgi?id=197271 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: >+ (formControlsAssociatedForFrameCallback): >+ (pageCreatedCallback): >+ (formControlsAssociatedCallback): Deleted. >+ > 2019-04-27 Chris Dumez <cdumez@apple.com> > > [WKTR] Move test timeout handling to the UIProcess >diff --git a/Tools/TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp b/Tools/TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp >index 266455523cce1fb3bdc888cc1eafcce9816b1e77..1a565844daa02ba62a9acee696ef505b4164012a 100644 >--- a/Tools/TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp >+++ b/Tools/TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp >@@ -316,9 +316,8 @@ static void emitFormControlsAssociated(GDBusConnection* connection, const char* > g_assert_true(ok); > } > >-static void formControlsAssociatedCallback(WebKitWebPage* webPage, GPtrArray* formElements, WebKitWebExtension* extension) >+static void formControlsAssociatedForFrameCallback(WebKitWebPage* webPage, GPtrArray* formElements, WebKitFrame* frame, WebKitWebExtension* extension) > { >- auto* frame = webkit_web_page_get_main_frame(webPage); > GString* formIdsBuilder = g_string_new(nullptr); > for (guint i = 0; i < formElements->len; ++i) { > g_assert_true(WEBKIT_DOM_IS_ELEMENT(g_ptr_array_index(formElements, i))); >@@ -413,7 +412,7 @@ static void pageCreatedCallback(WebKitWebExtension* extension, WebKitWebPage* we > g_signal_connect(webPage, "send-request", G_CALLBACK(sendRequestCallback), nullptr); > g_signal_connect(webPage, "console-message-sent", G_CALLBACK(consoleMessageSentCallback), nullptr); > g_signal_connect(webPage, "context-menu", G_CALLBACK(contextMenuCallback), nullptr); >- g_signal_connect(webPage, "form-controls-associated", G_CALLBACK(formControlsAssociatedCallback), extension); >+ g_signal_connect(webPage, "form-controls-associated-for-frame", G_CALLBACK(formControlsAssociatedForFrameCallback), extension); > g_signal_connect(webPage, "will-submit-form", G_CALLBACK(willSubmitFormCallback), extension); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197271
:
368211
|
368433
|
368434
|
369281
|
369303