diff --git a/mozilla/modules/rdf/include/htrdf.h b/mozilla/modules/rdf/include/htrdf.h index c6a58ce7efc..2986f13c548 100644 --- a/mozilla/modules/rdf/include/htrdf.h +++ b/mozilla/modules/rdf/include/htrdf.h @@ -73,6 +73,12 @@ typedef struct _HT_CursorStruct* HT_Cursor; typedef struct _HT_ResourceStruct* HT_Resource; +/* for use with HT_GetTemplate */ +enum TemplateType { + ht_template_chrome, + ht_template_management, + ht_template_navigation +}; /* * This is the Notification structure that gets passed to the HT layer on @@ -274,6 +280,11 @@ PR_PUBLIC_API(HT_Resource) HT_GetParent (HT_Resource node); PR_PUBLIC_API(HT_Error) HT_NodeDisplayString (HT_Resource node, char *buffer, int bufferLen); /* obsolete! */ PR_PUBLIC_API(HT_Error) HT_ViewDisplayString (HT_View view, char *buffer, int bufferLen); /* obsolete! */ +/* an API for external access to the templates. It takes a specifier + defined by enum TemplateType, in this file. HT_GetTemplate() returns + the basic HT_Pane corresponding to the requested type. */ +PR_PUBLIC_API(HT_Pane) HT_GetTemplate(int templateType); + PR_PUBLIC_API(PRBool) HT_GetTemplateData(HT_Resource node, void* token, uint32 tokenType, void **nodeData); PR_PUBLIC_API(PRBool) HT_GetNodeData (HT_Resource node, void *token, uint32 tokenType, void **data); diff --git a/mozilla/modules/rdf/include/vocab.h b/mozilla/modules/rdf/include/vocab.h index 43219db52ac..cc04510c386 100644 --- a/mozilla/modules/rdf/include/vocab.h +++ b/mozilla/modules/rdf/include/vocab.h @@ -168,6 +168,7 @@ typedef struct _RDF_NCVocabStruct { /* Toolbar Appearance Styles */ RDF_Resource toolbarBitmapPosition; /* Bitmap's position ("side"/"top") */ + RDF_Resource toolbarDisplayMode; /* Cookie Stuff */ diff --git a/mozilla/modules/rdf/src/ht.c b/mozilla/modules/rdf/src/ht.c index b50d2959a3c..2bdaa800e24 100644 --- a/mozilla/modules/rdf/src/ht.c +++ b/mozilla/modules/rdf/src/ht.c @@ -363,6 +363,7 @@ newHTEntry (HT_View view, RDF_Resource node) nr->view = view; if (existing != NULL) { + nr->nextItem = existing->nextItem; existing->nextItem = nr; } else @@ -628,8 +629,7 @@ bmkNotifFunc (RDF_Event ns, void* pdata) htr = htr->nextItem; } } - else if ((aev->s == gCoreVocab->RDF_name) || (aev->s == gNavCenter->RDF_smallIcon) || - (aev->s == gNavCenter->RDF_largeIcon)) + else { htr = PL_HashTableLookup(hash, aev->u); while (htr != NULL) @@ -5115,6 +5115,25 @@ ht_isURLReal(HT_Resource node) +PR_PUBLIC_API(HT_Pane) +HT_GetTemplate(int templateType) +{ + XP_ASSERT(templateType == ht_template_chrome || + templateType == ht_template_management || + templateType == ht_template_navigation); + switch(templateType) { + case ht_template_chrome : + return gChromeTemplate; + case ht_template_management : + return gManagementTemplate; + case ht_template_navigation : + return gNavigationTemplate; + default : + return 0; + } +} + + PR_PUBLIC_API(PRBool) HT_GetTemplateData(HT_Resource node, void* token, uint32 tokenType, void **nodeData) { @@ -5372,6 +5391,7 @@ HT_IsNodeDataEditable(HT_Resource node, void *token, uint32 tokenType) (token == gNavCenter->viewRolloverColor) || (token == gNavCenter->viewPressedColor) || (token == gNavCenter->viewDisabledColor) || (token == gNavCenter->toolbarBitmapPosition) || (token == gNavCenter->toolbarButtonsFixedSize) || + (token == gNavCenter->toolbarDisplayMode) || (token == gNavCenter->RDF_smallDisabledIcon) || (token == gNavCenter->RDF_largeDisabledIcon) || (token == gNavCenter->RDF_smallRolloverIcon) || (token == gNavCenter->RDF_largeRolloverIcon) || (token == gNavCenter->RDF_smallPressedIcon) || (token == gNavCenter->RDF_largePressedIcon) || @@ -5894,6 +5914,7 @@ htIsPropertyInMoreOptions(RDF_Resource r) (r == gNavCenter->triggerPlacement) || (r == gNavCenter->viewRolloverColor) || (r == gNavCenter->viewPressedColor) || (r == gNavCenter->viewDisabledColor) || (r == gNavCenter->toolbarBitmapPosition) || (r == gNavCenter->toolbarButtonsFixedSize) || + (r == gNavCenter->toolbarDisplayMode) || (r == gNavCenter->RDF_smallDisabledIcon) || (r == gNavCenter->RDF_largeDisabledIcon) || (r == gNavCenter->RDF_smallRolloverIcon) || (r == gNavCenter->RDF_largeRolloverIcon) || (r == gNavCenter->RDF_smallPressedIcon) || (r == gNavCenter->RDF_largePressedIcon) || diff --git a/mozilla/modules/rdf/src/vocab.c b/mozilla/modules/rdf/src/vocab.c index b82d4cb6080..5ec2d15c688 100644 --- a/mozilla/modules/rdf/src/vocab.c +++ b/mozilla/modules/rdf/src/vocab.c @@ -245,6 +245,7 @@ createNavCenterVocab () { /* Toolbar Appearance Styles */ gNavCenter->toolbarBitmapPosition = newResource("toolbarBitmapPosition", 0 /* XXX "Toolbar Bitmap Position" */ ); gNavCenter->toolbarButtonsFixedSize = newResource("toolbarButtonsFixedSize", 0 /* XXX "Toolbar Bitmap Position" */ ); + gNavCenter->toolbarDisplayMode = newResource("toolbarDisplayMode", 0); gNavCenter->RDF_smallDisabledIcon = newResource("smallDisabledIcon", 0 /* XXX */); gNavCenter->RDF_largeDisabledIcon = newResource("largeDisabledIcon", 0 /* XXX */); gNavCenter->RDF_smallRolloverIcon = newResource("smallRolloverIcon", 0 /* XXX */);