OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R ights Reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Apple Inc. All R ights Reserved. |
3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) | 3 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
47 #include "core/page/FocusController.h" | 47 #include "core/page/FocusController.h" |
48 #include "core/page/PointerLockController.h" | 48 #include "core/page/PointerLockController.h" |
49 #include "core/page/ScopedPageLoadDeferrer.h" | 49 #include "core/page/ScopedPageLoadDeferrer.h" |
50 #include "core/page/ValidationMessageClient.h" | 50 #include "core/page/ValidationMessageClient.h" |
51 #include "core/page/scrolling/ScrollingCoordinator.h" | 51 #include "core/page/scrolling/ScrollingCoordinator.h" |
52 #include "core/paint/PaintLayer.h" | 52 #include "core/paint/PaintLayer.h" |
53 #include "platform/graphics/GraphicsLayer.h" | 53 #include "platform/graphics/GraphicsLayer.h" |
54 #include "platform/plugins/PluginData.h" | 54 #include "platform/plugins/PluginData.h" |
55 #include "platform/text/CompressibleString.h" | 55 #include "platform/text/CompressibleString.h" |
56 #include "public/platform/Platform.h" | 56 #include "public/platform/Platform.h" |
57 #include "public/platform/WebSecurityOrigin.h" | |
57 | 58 |
58 namespace blink { | 59 namespace blink { |
59 | 60 |
60 // Set of all live pages; includes internal Page objects that are | 61 // Set of all live pages; includes internal Page objects that are |
61 // not observable from scripts. | 62 // not observable from scripts. |
62 static Page::PageSet& allPages() | 63 static Page::PageSet& allPages() |
63 { | 64 { |
64 DEFINE_STATIC_LOCAL(Page::PageSet, allPages, ()); | 65 DEFINE_STATIC_LOCAL(Page::PageSet, allPages, ()); |
65 return allPages; | 66 return allPages; |
66 } | 67 } |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
236 | 237 |
237 PluginData::refresh(); | 238 PluginData::refresh(); |
238 | 239 |
239 for (const Page* page : allPages()) { | 240 for (const Page* page : allPages()) { |
240 // Clear out the page's plugin data. | 241 // Clear out the page's plugin data. |
241 if (page->m_pluginData) | 242 if (page->m_pluginData) |
242 page->m_pluginData = nullptr; | 243 page->m_pluginData = nullptr; |
243 } | 244 } |
244 } | 245 } |
245 | 246 |
246 PluginData* Page::pluginData() const | 247 PluginData* Page::pluginData() |
247 { | 248 { |
248 if (!m_pluginData) | 249 SecurityContext* context = mainFrame()->securityContext(); |
249 m_pluginData = PluginData::create(this); | 250 RefPtr<SecurityOrigin> origin = context ? context->getSecurityOrigin() : Sec urityOrigin::createUnique().get(); |
tommycli
2016/08/01 23:44:09
Add comment that context can be null in tests?
trizzofo
2016/08/02 02:36:11
Done.
| |
251 WebSecurityOrigin webOrigin(origin.get()); | |
252 | |
253 if (!m_pluginData || !origin->isSameSchemeHostPort(m_origin.get())) | |
254 m_pluginData = PluginData::create(&webOrigin); | |
255 m_origin = origin; | |
tommycli
2016/08/01 23:44:09
Can we move this inside the conditional also? I th
trizzofo
2016/08/02 02:36:11
I thought about updating it every time because, ev
| |
250 return m_pluginData.get(); | 256 return m_pluginData.get(); |
251 } | 257 } |
252 | 258 |
253 void Page::setValidationMessageClient(ValidationMessageClient* client) | 259 void Page::setValidationMessageClient(ValidationMessageClient* client) |
254 { | 260 { |
255 m_validationMessageClient = client; | 261 m_validationMessageClient = client; |
256 } | 262 } |
257 | 263 |
258 void Page::setDefersLoading(bool defers) | 264 void Page::setDefersLoading(bool defers) |
259 { | 265 { |
(...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
551 { | 557 { |
552 } | 558 } |
553 | 559 |
554 Page::PageClients::~PageClients() | 560 Page::PageClients::~PageClients() |
555 { | 561 { |
556 } | 562 } |
557 | 563 |
558 template class CORE_TEMPLATE_EXPORT Supplement<Page>; | 564 template class CORE_TEMPLATE_EXPORT Supplement<Page>; |
559 | 565 |
560 } // namespace blink | 566 } // namespace blink |
OLD | NEW |