Changeset 191459 in webkit


Ignore:
Timestamp:
Oct 22, 2015 11:35:55 AM (9 years ago)
Author:
matthew_hanson@apple.com
Message:

Merge r191063. rdar://problem/22900764

Location:
branches/safari-601.1.46-branch
Files:
3 deleted
24 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-601.1.46-branch/LayoutTests/ChangeLog

    r191458 r191459  
     12015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Merge r191063. rdar://problem/22900764
     4
     5    2015-10-14  Alex Christensen  <achristensen@webkit.org>
     6
     7            Add SPI for reloading without content blockers
     8            https://bugs.webkit.org/show_bug.cgi?id=150058
     9            rdar://problem/22742222
     10
     11            Reviewed by Sam Weinig.
     12
     13            * http/tests/contentextensions/disable-blocker-expected.txt: Removed.
     14            * http/tests/contentextensions/disable-blocker.html: Removed.
     15            * http/tests/contentextensions/disable-blocker.html.json: Removed.
     16            _userContentExtensionsEnabled is going to be removed, and its functionality is what this test tested.
     17
    1182015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
    219
  • branches/safari-601.1.46-branch/Source/WebCore/ChangeLog

    r191458 r191459  
     12015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Merge r191063. rdar://problem/22900764
     4
     5    2015-10-14  Alex Christensen  <achristensen@webkit.org>
     6
     7            Add SPI for reloading without content blockers
     8            https://bugs.webkit.org/show_bug.cgi?id=150058
     9            rdar://problem/22742222
     10
     11            Reviewed by Sam Weinig.
     12
     13            * loader/FrameLoader.cpp:
     14            (WebCore::FrameLoader::reloadWithOverrideEncoding):
     15            (WebCore::FrameLoader::reload):
     16            * loader/FrameLoader.h:
     17            * page/Page.h:
     18            (WebCore::Page::userContentController):
     19            (WebCore::Page::userContentExtensionsEnabled): Deleted.
     20            (WebCore::Page::setUserContentExtensionsEnabled): Deleted.
     21            * replay/UserInputBridge.cpp:
     22            (WebCore::UserInputBridge::loadRequest):
     23            (WebCore::UserInputBridge::reloadFrame):
     24            (WebCore::UserInputBridge::stopLoadingFrame):
     25            * replay/UserInputBridge.h:
     26            Pass a bool from the reloadWithoutContentBlockers call to the DocumentLoader,
     27            which stores the state of whether the content blockers are enabled or not.
     28            Remove the state from the Page and copying the state from the Page to the DocumentLoader
     29            because that caused issues with the content blockers being re-enabled at the wrong time.
     30
    1312015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
    232
  • branches/safari-601.1.46-branch/Source/WebCore/loader/FrameLoader.cpp

    r191458 r191459  
    15651565}
    15661566
    1567 void FrameLoader::reload(bool endToEndReload)
     1567void FrameLoader::reload(bool endToEndReload, bool contentBlockersEnabled)
    15681568{
    15691569    if (!m_documentLoader)
     
    15861586    applyShouldOpenExternalURLsPolicyToNewDocumentLoader(*loader, m_documentLoader->shouldOpenExternalURLsPolicyToPropagate());
    15871587
     1588    loader->setUserContentExtensionsEnabled(contentBlockersEnabled);
     1589   
    15881590    ResourceRequest& request = loader->request();
    15891591
  • branches/safari-601.1.46-branch/Source/WebCore/loader/FrameLoader.h

    r186005 r191459  
    124124    void submitForm(PassRefPtr<FormSubmission>);
    125125
    126     WEBCORE_EXPORT void reload(bool endToEndReload = false);
     126    WEBCORE_EXPORT void reload(bool endToEndReload = false, bool contentBlockersEnabled = true);
    127127    WEBCORE_EXPORT void reloadWithOverrideEncoding(const String& overrideEncoding);
    128128
  • branches/safari-601.1.46-branch/Source/WebCore/page/Page.h

    r187421 r191459  
    425425    WEBCORE_EXPORT void setUserContentController(UserContentController*);
    426426
    427     bool userContentExtensionsEnabled() const { return m_userContentExtensionsEnabled; }
    428     void setUserContentExtensionsEnabled(bool enabled) { m_userContentExtensionsEnabled = enabled; }
    429 
    430427    VisitedLinkStore& visitedLinkStore();
    431428    WEBCORE_EXPORT void setVisitedLinkStore(Ref<VisitedLinkStore>&&);
     
    624621    MediaProducer::MediaStateFlags m_mediaState { MediaProducer::IsNotPlaying };
    625622   
    626     bool m_userContentExtensionsEnabled { true };
    627623    bool m_allowsMediaDocumentInlinePlayback { false };
    628624};
  • branches/safari-601.1.46-branch/Source/WebCore/replay/UserInputBridge.cpp

    r182963 r191459  
    243243}
    244244
    245 void UserInputBridge::reloadFrame(Frame* frame, bool endToEndReload, InputSource)
    246 {
    247     frame->loader().reload(endToEndReload);
     245void UserInputBridge::reloadFrame(Frame* frame, bool endToEndReload, bool contentBlockersEnabled, InputSource)
     246{
     247    frame->loader().reload(endToEndReload, contentBlockersEnabled);
    248248}
    249249
  • branches/safari-601.1.46-branch/Source/WebCore/replay/UserInputBridge.h

    r182963 r191459  
    9090    // Navigation APIs.
    9191    WEBCORE_EXPORT void loadRequest(const FrameLoadRequest&, InputSource source = InputSource::User);
    92     WEBCORE_EXPORT void reloadFrame(Frame*, bool endToEndReload, InputSource source = InputSource::User);
     92    WEBCORE_EXPORT void reloadFrame(Frame*, bool endToEndReload, bool contentBlockersEnabled, InputSource = InputSource::User);
    9393    WEBCORE_EXPORT void stopLoadingFrame(Frame*, InputSource source = InputSource::User);
    9494    WEBCORE_EXPORT bool tryClosePage(InputSource source = InputSource::User);
  • branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog

    r191458 r191459  
     12015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Merge r191063. rdar://problem/22900764
     4
     5    2015-10-14  Alex Christensen  <achristensen@webkit.org>
     6
     7            Add SPI for reloading without content blockers
     8            https://bugs.webkit.org/show_bug.cgi?id=150058
     9            rdar://problem/22742222
     10
     11            Reviewed by Sam Weinig.
     12
     13            * Shared/WebPageCreationParameters.cpp:
     14            (WebKit::WebPageCreationParameters::encode):
     15            (WebKit::WebPageCreationParameters::decode):
     16            * Shared/WebPageCreationParameters.h:
     17            * UIProcess/API/C/WKPage.cpp:
     18            (WKPageReload):
     19            (WKPageReloadWithoutContentBlockers):
     20            (WKPageReloadFromOrigin):
     21            (WKPageTryClose):
     22            (WKPageSetUserContentExtensionsEnabled):
     23            (WKPageSupportsTextEncoding):
     24            * UIProcess/API/C/WKPage.h:
     25            * UIProcess/API/Cocoa/WKBrowsingContextController.mm:
     26            (-[WKBrowsingContextController reload]):
     27            (-[WKBrowsingContextController reloadFromOrigin]):
     28            (-[WKBrowsingContextController applicationNameForUserAgent]):
     29            * UIProcess/API/Cocoa/WKWebView.mm:
     30            (-[WKWebView reload]):
     31            (-[WKWebView reloadFromOrigin]):
     32            (-[WKWebView _setUserContentExtensionsEnabled:]):
     33            (-[WKWebView _userContentExtensionsEnabled]):
     34            (-[WKWebView _webProcessIdentifier]):
     35            (-[WKWebView _killWebContentProcess]):
     36            (-[WKWebView _reloadWithoutContentBlockers]):
     37            (-[WKWebView _killWebContentProcessAndResetState]):
     38            * UIProcess/API/Cocoa/WKWebViewPrivate.h:
     39            * UIProcess/API/gtk/WebKitWebView.cpp:
     40            (webkit_web_view_reload):
     41            (webkit_web_view_reload_bypass_cache):
     42            * UIProcess/WebFrameProxy.cpp:
     43            (WebKit::WebFrameProxy::didHandleContentFilterUnblockNavigation):
     44            * UIProcess/WebPageProxy.cpp:
     45            (WebKit::WebPageProxy::stopLoading):
     46            (WebKit::WebPageProxy::reload):
     47            (WebKit::WebPageProxy::creationParameters):
     48            (WebKit::WebPageProxy::setShouldScaleViewToFitDocument):
     49            (WebKit::WebPageProxy::setUserContentExtensionsEnabled): Deleted.
     50            * UIProcess/WebPageProxy.h:
     51            (WebKit::WebPageProxy::userContentExtensionsEnabled): Deleted.
     52            * WebProcess/WebPage/WebPage.cpp:
     53            (WebKit::m_shouldDispatchFakeMouseMoveEvents):
     54            (WebKit::WebPage::setDefersLoading):
     55            (WebKit::WebPage::reload):
     56            (WebKit::WebPage::goForward):
     57            (WebKit::WebPage::createDocumentLoader):
     58            (WebKit::WebPage::setShouldScaleViewToFitDocument):
     59            (WebKit::WebPage::imageOrMediaDocumentSizeChanged):
     60            (WebKit::WebPage::setUserContentExtensionsEnabled): Deleted.
     61            * WebProcess/WebPage/WebPage.h:
     62            * WebProcess/WebPage/WebPage.messages.in:
     63
    1642015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
    265
  • branches/safari-601.1.46-branch/Source/WebKit2/Shared/WebPageCreationParameters.cpp

    r185840 r191459  
    8585    encoder << appleMailPaginationQuirkEnabled;
    8686    encoder << shouldScaleViewToFitDocument;
    87     encoder << userContentExtensionsEnabled;
    8887}
    8988
     
    190189        return false;
    191190
    192     if (!decoder.decode(parameters.userContentExtensionsEnabled))
    193         return false;
    194 
    195191    return true;
    196192}
  • branches/safari-601.1.46-branch/Source/WebKit2/Shared/WebPageCreationParameters.h

    r185840 r191459  
    131131    bool appleMailPaginationQuirkEnabled;
    132132    bool shouldScaleViewToFitDocument;
    133     bool userContentExtensionsEnabled;
    134133};
    135134
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r186538 r191459  
    221221void WKPageReload(WKPageRef pageRef)
    222222{
    223     toImpl(pageRef)->reload(false);
     223    const bool reloadFromOrigin = false;
     224    const bool contentBlockersEnabled = true;
     225    toImpl(pageRef)->reload(reloadFromOrigin, contentBlockersEnabled);
     226}
     227
     228void WKPageReloadWithoutContentBlockers(WKPageRef pageRef)
     229{
     230    const bool reloadFromOrigin = false;
     231    const bool contentBlockersEnabled = false;
     232    toImpl(pageRef)->reload(reloadFromOrigin, contentBlockersEnabled);
    224233}
    225234
    226235void WKPageReloadFromOrigin(WKPageRef pageRef)
    227236{
    228     toImpl(pageRef)->reload(true);
     237    const bool reloadFromOrigin = true;
     238    const bool contentBlockersEnabled = true;
     239    toImpl(pageRef)->reload(reloadFromOrigin, contentBlockersEnabled);
    229240}
    230241
     
    356367void WKPageSetUserContentExtensionsEnabled(WKPageRef pageRef, bool enabled)
    357368{
    358     toImpl(pageRef)->setUserContentExtensionsEnabled(enabled);
     369    // FIXME: Remove this function once it is no longer used.
    359370}
    360371
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/C/WKPage.h

    r185840 r191459  
    8282WK_EXPORT void WKPageStopLoading(WKPageRef page);
    8383WK_EXPORT void WKPageReload(WKPageRef page);
     84WK_EXPORT void WKPageReloadWithoutContentBlockers(WKPageRef page);
    8485WK_EXPORT void WKPageReloadFromOrigin(WKPageRef page);
    8586
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm

    r186464 r191459  
    263263- (void)reload
    264264{
    265     _page->reload(false);
     265    const bool reloadFromOrigin = false;
     266    const bool contentBlockersEnabled = true;
     267    _page->reload(reloadFromOrigin, contentBlockersEnabled);
    266268}
    267269
    268270- (void)reloadFromOrigin
    269271{
    270     _page->reload(true);
     272    const bool reloadFromOrigin = true;
     273    const bool contentBlockersEnabled = true;
     274    _page->reload(reloadFromOrigin, contentBlockersEnabled);
    271275}
    272276
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm

    r190473 r191459  
    562562- (WKNavigation *)reload
    563563{
    564     auto navigation = _page->reload(false);
     564    const bool reloadFromOrigin = false;
     565    const bool contentBlockersEnabled = true;
     566    auto navigation = _page->reload(reloadFromOrigin, contentBlockersEnabled);
    565567    if (!navigation)
    566568        return nil;
     
    571573- (WKNavigation *)reloadFromOrigin
    572574{
    573     auto navigation = _page->reload(true);
     575    const bool reloadFromOrigin = true;
     576    const bool contentBlockersEnabled = true;
     577    auto navigation = _page->reload(reloadFromOrigin, contentBlockersEnabled);
    574578    if (!navigation)
    575579        return nil;
     
    20182022- (void)_setUserContentExtensionsEnabled:(BOOL)userContentExtensionsEnabled
    20192023{
    2020     _page->setUserContentExtensionsEnabled(userContentExtensionsEnabled);
     2024    // This is kept for binary compatibility with iOS 9.
    20212025}
    20222026
    20232027- (BOOL)_userContentExtensionsEnabled
    20242028{
    2025     return _page->userContentExtensionsEnabled();
     2029    // This is kept for binary compatibility with iOS 9.
     2030    return true;
    20262031}
    20272032
     
    20372042
    20382043    _page->process().terminate();
     2044}
     2045
     2046- (WKNavigation *)_reloadWithoutContentBlockers
     2047{
     2048    const bool reloadFromOrigin = false;
     2049    const bool contentBlockersEnabled = false;
     2050    auto navigation = _page->reload(reloadFromOrigin, contentBlockersEnabled);
     2051    if (!navigation)
     2052        return nil;
     2053   
     2054    return [wrapper(*navigation.release().leakRef()) autorelease];
    20392055}
    20402056
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h

    r187980 r191459  
    176176#endif
    177177
     178- (WKNavigation *)_reloadWithoutContentBlockers WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
     179
    178180- (void)_killWebContentProcessAndResetState;
    179181
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp

    r186229 r191459  
    24532453    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
    24542454
    2455     getPage(webView)->reload(false);
     2455    const bool reloadFromOrigin = false;
     2456    const bool contentBlockersEnabled = true;
     2457    getPage(webView)->reload(reloadFromOrigin, contentBlockersEnabled);
    24562458}
    24572459
     
    24672469    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
    24682470
    2469     getPage(webView)->reload(true);
     2471    const bool reloadFromOrigin = true;
     2472    const bool contentBlockersEnabled = true;
     2473    getPage(webView)->reload(reloadFromOrigin, contentBlockersEnabled);
    24702474}
    24712475
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/WebFrameProxy.cpp

    r187390 r191459  
    247247    ASSERT(page);
    248248    m_contentFilterUnblockHandler.requestUnblockAsync([page](bool unblocked) {
    249         if (unblocked)
    250             page->reload(false);
     249        if (unblocked) {
     250            const bool reloadFromOrigin = false;
     251            const bool contentBlockersEnabled = true;
     252            page->reload(reloadFromOrigin, contentBlockersEnabled);
     253        }
    251254    });
    252255    return true;
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r187649 r191459  
    10401040}
    10411041
    1042 RefPtr<API::Navigation> WebPageProxy::reload(bool reloadFromOrigin)
     1042RefPtr<API::Navigation> WebPageProxy::reload(bool reloadFromOrigin, bool contentBlockersEnabled)
    10431043{
    10441044    SandboxExtension::Handle sandboxExtensionHandle;
     
    10601060    auto navigation = m_navigationState->createReloadNavigation();
    10611061
    1062     m_process->send(Messages::WebPage::Reload(navigation->navigationID(), reloadFromOrigin, sandboxExtensionHandle), m_pageID);
     1062    m_process->send(Messages::WebPage::Reload(navigation->navigationID(), reloadFromOrigin, contentBlockersEnabled, sandboxExtensionHandle), m_pageID);
    10631063    m_process->responsivenessTimer()->start();
    10641064
     
    52035203#endif
    52045204    parameters.shouldScaleViewToFitDocument = m_shouldScaleViewToFitDocument;
    5205     parameters.userContentExtensionsEnabled = m_userContentExtensionsEnabled;
    52065205
    52075206    return parameters;
     
    61016100}
    61026101
    6103 void WebPageProxy::setUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
    6104 {
    6105     if (m_userContentExtensionsEnabled == userContentExtensionsEnabled)
    6106         return;
    6107 
    6108     m_userContentExtensionsEnabled = userContentExtensionsEnabled;
    6109 
    6110     if (!isValid())
    6111         return;
    6112 
    6113     m_process->send(Messages::WebPage::SetUserContentExtensionsEnabled(userContentExtensionsEnabled), m_pageID);
    6114 }
    6115 
    61166102} // namespace WebKit
  • branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/WebPageProxy.h

    r190797 r191459  
    377377
    378378    void stopLoading();
    379     RefPtr<API::Navigation> reload(bool reloadFromOrigin);
     379    RefPtr<API::Navigation> reload(bool reloadFromOrigin, bool contentBlockersEnabled);
    380380
    381381    RefPtr<API::Navigation> goForward();
     
    671671    void setShouldScaleViewToFitDocument(bool);
    672672   
    673     bool userContentExtensionsEnabled() { return m_userContentExtensionsEnabled; }
    674     void setUserContentExtensionsEnabled(bool);
    675 
    676673    float deviceScaleFactor() const;
    677674    void setIntrinsicDeviceScaleFactor(float);
     
    17861783#endif
    17871784
    1788     bool m_userContentExtensionsEnabled { true };
    17891785};
    17901786
  • branches/safari-601.1.46-branch/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r191458 r191459  
    519519        scaleView(parameters.viewScaleFactor);
    520520
    521     m_page->setUserContentExtensionsEnabled(parameters.userContentExtensionsEnabled);
    522 
    523521#if PLATFORM(IOS)
    524522    m_page->settings().setContentDispositionAttachmentSandboxEnabled(true);
     
    11501148}
    11511149
    1152 void WebPage::reload(uint64_t navigationID, bool reloadFromOrigin, const SandboxExtension::Handle& sandboxExtensionHandle)
     1150void WebPage::reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, const SandboxExtension::Handle& sandboxExtensionHandle)
    11531151{
    11541152    SendStopResponsivenessTimer stopper(this);
     
    11581156
    11591157    m_sandboxExtensionTracker.beginLoad(m_mainFrame.get(), sandboxExtensionHandle);
    1160     corePage()->userInputBridge().reloadFrame(m_mainFrame->coreFrame(), reloadFromOrigin);
     1158    corePage()->userInputBridge().reloadFrame(m_mainFrame->coreFrame(), reloadFromOrigin, contentBlockersEnabled);
    11611159}
    11621160
     
    49184916            m_pendingNavigationID = 0;
    49194917        }
    4920         if (frame.page())
    4921             documentLoader->setUserContentExtensionsEnabled(frame.page()->userContentExtensionsEnabled());
    49224918    }
    49234919
     
    50205016}
    50215017
    5022 void WebPage::setUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
    5023 {
    5024     if (!m_page)
    5025         return;
    5026 
    5027     m_page->setUserContentExtensionsEnabled(userContentExtensionsEnabled);
    5028 }
    5029 
    50305018#if ENABLE(VIDEO)
    50315019void WebPage::mediaDocumentNaturalSizeChanged(const IntSize& newSize)
  • branches/safari-601.1.46-branch/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r191171 r191459  
    964964    void loadWebArchiveData(const IPC::DataReference&, const UserData&);
    965965    void navigateToPDFLinkWithSimulatedClick(const String& url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint);
    966     void reload(uint64_t navigationID, bool reloadFromOrigin, const SandboxExtension::Handle&);
     966    void reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, const SandboxExtension::Handle&);
    967967    void goForward(uint64_t navigationID, uint64_t);
    968968    void goBack(uint64_t navigationID, uint64_t);
     
    11461146
    11471147    void setShouldScaleViewToFitDocument(bool);
    1148     void setUserContentExtensionsEnabled(bool);
    11491148
    11501149    void pageStoppedScrolling();
  • branches/safari-601.1.46-branch/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in

    r191171 r191459  
    137137    NavigateToPDFLinkWithSimulatedClick(String url, WebCore::IntPoint documentPoint, WebCore::IntPoint screenPoint)
    138138
    139     Reload(uint64_t navigationID, bool reloadFromOrigin, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
     139    Reload(uint64_t navigationID, bool reloadFromOrigin, bool contentBlockersEnabled, WebKit::SandboxExtension::Handle sandboxExtensionHandle)
    140140    StopLoading()
    141141
     
    435435    ClearWheelEventTestTrigger()
    436436    SetShouldScaleViewToFitDocument(bool shouldScaleViewToFitDocument)
    437     SetUserContentExtensionsEnabled(bool userContentExtensionsEnabled)
    438437}
  • branches/safari-601.1.46-branch/Tools/ChangeLog

    r191458 r191459  
     12015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
     2
     3        Merge r191063. rdar://problem/22900764
     4
     5    2015-10-14  Alex Christensen  <achristensen@webkit.org>
     6
     7            Add SPI for reloading without content blockers
     8            https://bugs.webkit.org/show_bug.cgi?id=150058
     9            rdar://problem/22742222
     10
     11            Reviewed by Sam Weinig.
     12
     13            * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
     14            (WTR::TestController::cocoaResetStateToConsistentValues):
     15            * WebKitTestRunner/mac/TestControllerMac.mm:
     16            (WTR::TestController::platformConfigureViewForTest):
     17
    1182015-10-20  Matthew Hanson  <matthew_hanson@apple.com>
    219
  • branches/safari-601.1.46-branch/Tools/WebKitTestRunner/mac/TestControllerMac.mm

    r191458 r191459  
    137137    }];
    138138    platformRunUntil(doneCompiling, 0);
    139 
    140     // This is for http/tests/contentextensions/disable-blocker.html
    141     if (!test.urlContains("disable-blocker"))
    142         return;
    143     mainWebView()->platformView()._userContentExtensionsEnabled = false;
    144139#endif
    145140}
Note: See TracChangeset for help on using the changeset viewer.