OLD | NEW |
1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
2 | 2 |
3 #include "PluginClass.h" | 3 #include "PluginClass.h" |
4 #include "PluginDictionary.h" | 4 #include "PluginDictionary.h" |
5 #include "PluginSettings.h" | 5 #include "PluginSettings.h" |
6 #include "PluginSystem.h" | 6 #include "PluginSystem.h" |
7 #ifdef SUPPORT_FILTER | 7 #ifdef SUPPORT_FILTER |
8 #include "PluginFilter.h" | 8 #include "PluginFilter.h" |
9 #endif | 9 #endif |
10 #include "PluginMimeFilterClient.h" | 10 #include "PluginMimeFilterClient.h" |
(...skipping 1425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1436 | 1436 |
1437 case ID_ABOUT: | 1437 case ID_ABOUT: |
1438 { | 1438 { |
1439 url = CPluginHttpRequest::GetStandardUrl(USERS_SCRIPT_ABOUT); | 1439 url = CPluginHttpRequest::GetStandardUrl(USERS_SCRIPT_ABOUT); |
1440 navigationErrorId = PLUGIN_ERROR_NAVIGATION_ABOUT; | 1440 navigationErrorId = PLUGIN_ERROR_NAVIGATION_ABOUT; |
1441 } | 1441 } |
1442 break; | 1442 break; |
1443 | 1443 |
1444 default: | 1444 default: |
1445 | 1445 |
1446 #ifdef SUPPORT_WHITELIST | |
1447 { | |
1448 if (nCommand >= WM_WHITELIST_DOMAIN && nCommand <= WM_WHITELIST_DOMAIN_MAX
) | |
1449 { | |
1450 CPluginSettings* settings = CPluginSettings::GetInstance(); | |
1451 | |
1452 CString domain; | |
1453 | |
1454 s_criticalSectionLocal.Lock(); | |
1455 { | |
1456 domain = s_menuDomains[nCommand]; | |
1457 } | |
1458 s_criticalSectionLocal.Unlock(); | |
1459 | |
1460 if (settings->IsWhiteListedDomain(domain)) | |
1461 { | |
1462 settings->AddWhiteListedDomain(domain, 3, true); | |
1463 } | |
1464 else | |
1465 { | |
1466 settings->AddWhiteListedDomain(domain, 1, true); | |
1467 } | |
1468 | |
1469 client->ClearWhiteListCache(); | |
1470 } | |
1471 } | |
1472 #endif // SUPPORT_WHITELIST | |
1473 break; | 1446 break; |
1474 } | 1447 } |
1475 | 1448 |
1476 // Invalidate and redraw the control | 1449 // Invalidate and redraw the control |
1477 UpdateStatusBar(); | 1450 UpdateStatusBar(); |
1478 | 1451 |
1479 CComQIPtr<IWebBrowser2> browser = GetBrowser(); | 1452 CComQIPtr<IWebBrowser2> browser = GetBrowser(); |
1480 if (!url.IsEmpty() && browser) | 1453 if (!url.IsEmpty() && browser) |
1481 { | 1454 { |
1482 VARIANT vFlags; | 1455 VARIANT vFlags; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1555 { | 1528 { |
1556 // White list domain | 1529 // White list domain |
1557 ctext = dictionary->Lookup("MENU_DISABLE_ON"); | 1530 ctext = dictionary->Lookup("MENU_DISABLE_ON"); |
1558 fmii.fMask = MIIM_STRING | MIIM_STATE; | 1531 fmii.fMask = MIIM_STRING | MIIM_STATE; |
1559 fmii.fState = MFS_DISABLED; | 1532 fmii.fState = MFS_DISABLED; |
1560 fmii.dwTypeData = ctext.GetBuffer(); | 1533 fmii.dwTypeData = ctext.GetBuffer(); |
1561 fmii.cch = ctext.GetLength(); | 1534 fmii.cch = ctext.GetLength(); |
1562 | 1535 |
1563 UINT index = WM_WHITELIST_DOMAIN; | 1536 UINT index = WM_WHITELIST_DOMAIN; |
1564 | 1537 |
1565 // Add domains from history | |
1566 if (client) | |
1567 { | |
1568 bool isFirst = true; | |
1569 | |
1570 TDomainHistory domainHistory = settings->GetDomainHistory(); | |
1571 | |
1572 CString documentDomain = tab->GetDocumentDomain(); | |
1573 | |
1574 if (CPluginClient::IsValidDomain(documentDomain)) | |
1575 { | |
1576 CString documentDomainT = documentDomain; | |
1577 | |
1578 for (TDomainHistory::const_reverse_iterator it = domainHistory.rbegin();
it != domainHistory.rend(); ++it) | |
1579 { | |
1580 if (documentDomain == it->first) | |
1581 { | |
1582 if (isFirst) | |
1583 { | |
1584 fmii.fState = MFS_ENABLED; | |
1585 fmii.fMask |= MIIM_SUBMENU; | |
1586 fmii.hSubMenu = ::CreateMenu(); | |
1587 } | |
1588 | |
1589 MENUITEMINFO smii; | |
1590 memset(&smii, 0, sizeof(MENUITEMINFO)); | |
1591 smii.cbSize = sizeof(MENUITEMINFO); | |
1592 | |
1593 smii.fMask = MIIM_STRING | MIIM_ID; | |
1594 smii.dwTypeData = documentDomainT.GetBuffer(); | |
1595 smii.cch = documentDomainT.GetLength(); | |
1596 smii.wID = index; | |
1597 | |
1598 bool isWhitelisted = settings->IsWhiteListedDomain(it->first); | |
1599 if (isWhitelisted) | |
1600 { | |
1601 smii.fMask |= MIIM_STATE; | |
1602 smii.fState |= MFS_CHECKED; | |
1603 } | |
1604 | |
1605 if (isFirst) | |
1606 { | |
1607 smii.fMask |= MIIM_STATE; | |
1608 smii.fState |= MFS_DEFAULT; | |
1609 | |
1610 isFirst = false; | |
1611 } | |
1612 | |
1613 InsertMenuItem(fmii.hSubMenu, index, FALSE, &smii); | |
1614 | |
1615 s_criticalSectionLocal.Lock(); | |
1616 { | |
1617 s_menuDomains[index++] = documentDomain; | |
1618 } | |
1619 s_criticalSectionLocal.Unlock(); | |
1620 } | |
1621 } | |
1622 } | |
1623 | |
1624 // Add last domains | |
1625 for (TDomainHistory::const_reverse_iterator it = domainHistory.rbegin(); i
t != domainHistory.rend(); ++it) | |
1626 { | |
1627 if (it->first != documentDomain) | |
1628 { | |
1629 if (isFirst) | |
1630 { | |
1631 fmii.fMask |= MIIM_STATE | MIIM_SUBMENU; | |
1632 fmii.fState = MFS_ENABLED; | |
1633 fmii.hSubMenu = CreateMenu(); | |
1634 | |
1635 isFirst = false; | |
1636 } | |
1637 | |
1638 CString domain = it->first; | |
1639 | |
1640 MENUITEMINFO smii; | |
1641 memset(&smii, 0, sizeof(MENUITEMINFO)); | |
1642 smii.cbSize = sizeof(MENUITEMINFO); | |
1643 smii.fMask = MIIM_STRING | MIIM_ID; | |
1644 smii.dwTypeData = domain.GetBuffer(); | |
1645 smii.cch = domain.GetLength(); | |
1646 smii.wID = index; | |
1647 | |
1648 bool isWhitelisted = settings->IsWhiteListedDomain(it->first); | |
1649 if (isWhitelisted) | |
1650 { | |
1651 smii.fMask |= MIIM_STATE; | |
1652 smii.fState |= MFS_CHECKED; | |
1653 } | |
1654 | |
1655 ::InsertMenuItem(fmii.hSubMenu, index, FALSE, &smii); | |
1656 | |
1657 s_criticalSectionLocal.Lock(); | |
1658 { | |
1659 s_menuDomains[index++] = it->first; | |
1660 } | |
1661 s_criticalSectionLocal.Unlock(); | |
1662 } | |
1663 } | |
1664 } | |
1665 | |
1666 ::SetMenuItemInfo(hMenu, ID_WHITELISTDOMAIN, FALSE, &fmii); | 1538 ::SetMenuItemInfo(hMenu, ID_WHITELISTDOMAIN, FALSE, &fmii); |
1667 } | 1539 } |
1668 #else | 1540 #else |
1669 { | 1541 { |
1670 ::DeleteMenu(hMenu, ID_WHITELISTDOMAIN, FALSE); | 1542 ::DeleteMenu(hMenu, ID_WHITELISTDOMAIN, FALSE); |
1671 } | 1543 } |
1672 #endif // SUPPORT_WHITELIST | 1544 #endif // SUPPORT_WHITELIST |
1673 | 1545 |
1674 // Invite friends | 1546 // Invite friends |
1675 ctext = dictionary->Lookup("MENU_INVITE_FRIENDS"); | 1547 ctext = dictionary->Lookup("MENU_INVITE_FRIENDS"); |
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2333 } | 2205 } |
2334 } | 2206 } |
2335 } | 2207 } |
2336 | 2208 |
2337 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); | 2209 hTabWnd = ::GetWindow(hTabWnd, GW_HWNDNEXT); |
2338 } | 2210 } |
2339 | 2211 |
2340 return hTabWnd; | 2212 return hTabWnd; |
2341 | 2213 |
2342 } | 2214 } |
OLD | NEW |