⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 211114 in webkit


Ignore:
Timestamp:
Jan 24, 2017, 3:25:38 PM (10 years ago)
Author:
andersca@apple.com
Message:

When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!)
https://bugs.webkit.org/show_bug.cgi?id=167391
rdar://problem/29857388

Reviewed by Sam Weinig.

  • page/Page.cpp:

(WebCore::Page::refreshPlugins):
Remove an unused variable.

  • plugins/PluginInfoProvider.cpp:

(WebCore::PluginInfoProvider::refresh):
Make sure to call refreshPlugins(). Instead of reloading subframes, just reload all the main frames with
subframes that contain plug-ins.

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r211109 r211114  
     12017-01-24  Anders Carlsson  <andersca@apple.com>
     2
     3        When Safari reloads pages with Flash objects after Flash is installed, placeholders don't paint (but do work!)
     4        https://bugs.webkit.org/show_bug.cgi?id=167391
     5        rdar://problem/29857388
     6
     7        Reviewed by Sam Weinig.
     8
     9        * page/Page.cpp:
     10        (WebCore::Page::refreshPlugins):
     11        Remove an unused variable.
     12
     13        * plugins/PluginInfoProvider.cpp:
     14        (WebCore::PluginInfoProvider::refresh):
     15        Make sure to call refreshPlugins(). Instead of reloading subframes, just reload all the main frames with
     16        subframes that contain plug-ins.
     17
    1182017-01-24  Joseph Pecoraro  <pecoraro@apple.com>
    219
  • trunk/Source/WebCore/page/Page.cpp

    r211052 r211114  
    538538    HashSet<PluginInfoProvider*> pluginInfoProviders;
    539539
    540     Vector<Ref<Frame>> framesNeedingReload;
    541 
    542540    for (auto& page : *allPages)
    543541        pluginInfoProviders.add(&page->pluginInfoProvider());
  • trunk/Source/WebCore/plugins/PluginInfoProvider.cpp

    r211052 r211114  
    4040void PluginInfoProvider::refresh(bool reloadPages)
    4141{
    42     Vector<Ref<Frame>> framesNeedingReload;
     42    refreshPlugins();
     43
     44    Vector<Ref<MainFrame>> framesNeedingReload;
    4345
    4446    for (auto& page : m_pages) {
     
    5052        for (Frame* frame = &page->mainFrame(); frame; frame = frame->tree().traverseNext()) {
    5153            if (frame->loader().subframeLoader().containsPlugins())
    52                 framesNeedingReload.append(*frame);
     54                framesNeedingReload.append(page->mainFrame());
    5355        }
    5456    }
Note: See TracChangeset for help on using the changeset viewer.