Tag: Mozilla

iOS版Firefox Focus中的错误修复

大多数浏览器上的“私人浏览”并不全面,也不易于使用。 焦点是免费的,永远存在且始终在您身边的下一个级别的隐私-因为它得到了Mozilla的支持,Mozilla是为您的Web权利而战的非营利组织。 (摘自App Store中的应用说明) 它的功能之一是,如果您不想从Safari切换,仍然可以在Safari中使用Firefox Focus功能(请按照以下步骤操作)。 虫❌ 问题在于,使用前后导航后,URL栏中的搜索文本与实际搜索不匹配。 让我们来看一个例子: 搜索“监护人” 搜索“ mozilla” 按回 搜索“ firefox” 按回 搜索页面显示 “监护人”请求的结果,但URL栏包含“ mozilla”而不是“监护人”。 修复🔧 问题的作者在那里留下了注释,表明该问题可能存在于SearchHistoryUtils堆栈中。 它帮助我开始了对该问题的调查。 我找到了SearchHistoryUtils类,其中包含两个布尔属性。 isFromURLBar isNavigating 和四个功能: pushSearchToStack(with searchedText: String) —当用户发出新的搜索请求时,此函数将搜索推入堆栈。 pullSearchFromStack() -> String? —此函数不会从堆栈中弹出搜索,而是返回当前搜索文本(如果存在)的值。 goForward() —更新堆栈对象的isCurrentSearch值。 goBack() -与#3相同 当我分析代码时,我取消了pullSearchFromStack , goForward和goBack函数,因为它们并未真正处理堆栈更改。 因此,我开始调试pushSearchToStack函数。 我调试了几个测试用例,然后让我们看一下我的发现。 因此,我几乎重现了问题中描述的错误,然后发现了问题: 当最后一个搜索不是当前搜索(例如,在执行第一个“返回”用户操作后的堆栈中),并且用户进行了新搜索时,最后一个搜索不会被新搜索覆盖(请查看上表中的红线) )。 这就是为什么当用户返回时,URL Bar会采用旧的搜索文本,那时候甚至不应该将其放在堆栈中。 让我们看一下pushSearchToStack函数的一部分伪代码: 让我们分解上面的代码: 它声明一个空堆栈currentStack 。 它将currentStack的值设置为全局状态searchedHistory值的值。 然后,它遍历堆栈中的每个搜索,并将isCurrentSearch属性的值设置为false 。 […]

如何在macOS上构建Firefox浏览器?

在开始这项工作之前,我有一个很好的灵感故事。 Mohammad Zahidur Ra​​hman博士参加了我们的软件工程课程。 他始终表示要求他的学生开始使用大型开源软件构建并尝试对其进行编辑。 从那时起,我希望做这种工作。 虽然课程已经完成,但我没有时间工作! 这样,我过去了大约5个月。 当时,我忙于2018年的MozFest-伦敦,因为我被选为该会议的主持人。 由于签证复杂,我无法参加。 因此,这是完成这项工作的宝贵时间。 所以我只是坐下来开始。 起初,我不知道该过程称为构建。 通常,我们使用C / C ++,我们将其称为编译。 经过一番搜索后,我在developer.mozilla.org上看到了一篇文章,名为《为macOS构建Firefox》。 哦,太好了! 开始了! 但是一开始我就遇到了一个很大的错误。 因为我刚从Mercurial克隆并开始构建! 糟糕! 然后再次开始研究。 我一次又一次地敲打了孟加拉Mozilla社区负责人Mak。 最后,他给了我建议敲Mozilla的构建工程师。 还建议使用IRC。 在我们上一次在加尔各答举行的l10n研讨会上,他向我展示了如何使用IRC。 顺便说一句,我是NDA签署的Mozilla志愿者和代表。 因此,我很容易收到构建工程师的电子邮件。 我开始邮寄并得到了一些回应。 他们建议我通过IRC进行联系。 同时,我从他们那里得到了一些重要的指导。 首先,他们说您没有安装Homebrew。 现在该玩了。 在构建适用于macOS的Firefox时,我注意到有一行“单行设置”(首先尝试!)。 Homebrew是macOS的软件包管理器。 顺便说一句,MacPorts也可以。 它也是包管理器。 我安装了两次,然后再次出错。 现在在IRC上,有人建议我卸载MacPorts。 好的。 我卸载了它。 现在我要前进了。 1. xcode之前已安装在我的电脑上,因此也不需要。 2.1。 安装辅助构建工具:已安装Homebrew。 brew install yasm mercurial gawk ccache python […]