Allow Skinned Viewers to Change Find Bar without Changing Javascript #5803
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Problem
For those of use who write our own viewers, we often change or remove certain functionality from the stock viewer. In those situations, it's nice for the javascript to not be so tightly tied to the DOM layout. That way, we can remove/change objects without crashing the viewer or modifying any javascript.
The Solution
In this PR, we remove all javascript dependencies in the find bar's DOM. That is, anyone who skins pdf.js and removes or changes the DOM layout of the find bar will now no longer have to change their javascript too. We do this simply by adding null checks to make sure an element exists before acting on it.
Going Forward
There are many other places in pdf.js where the javascript is tightly tied to the DOM, not just the find bar. If this PR is acceptable, I can try to do the same for other areas as well. I thought I'd start small here though.