| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 return; | 115 return; |
| 116 | 116 |
| 117 // Skip cache because the following paint may conflict with the view's r
eal painting. | 117 // Skip cache because the following paint may conflict with the view's r
eal painting. |
| 118 DisplayItemCacheSkipper cacheSkipper(graphicsContext); | 118 DisplayItemCacheSkipper cacheSkipper(graphicsContext); |
| 119 FrameView* view = m_overlay->overlayMainFrame()->view(); | 119 FrameView* view = m_overlay->overlayMainFrame()->view(); |
| 120 ASSERT(!view->needsLayout()); | 120 ASSERT(!view->needsLayout()); |
| 121 view->paint(graphicsContext, CullRect(IntRect(0, 0, view->width(), view-
>height()))); | 121 view->paint(graphicsContext, CullRect(IntRect(0, 0, view->width(), view-
>height()))); |
| 122 } | 122 } |
| 123 | 123 |
| 124 private: | 124 private: |
| 125 RawPtrWillBeMember<InspectorOverlay> m_overlay; | 125 Member<InspectorOverlay> m_overlay; |
| 126 }; | 126 }; |
| 127 | 127 |
| 128 | 128 |
| 129 class InspectorOverlay::InspectorOverlayChromeClient final : public EmptyChromeC
lient { | 129 class InspectorOverlay::InspectorOverlayChromeClient final : public EmptyChromeC
lient { |
| 130 public: | 130 public: |
| 131 static PassOwnPtrWillBeRawPtr<InspectorOverlayChromeClient> create(ChromeCli
ent& client, InspectorOverlay& overlay) | 131 static RawPtr<InspectorOverlayChromeClient> create(ChromeClient& client, Ins
pectorOverlay& overlay) |
| 132 { | 132 { |
| 133 return adoptPtrWillBeNoop(new InspectorOverlayChromeClient(client, overl
ay)); | 133 return new InspectorOverlayChromeClient(client, overlay); |
| 134 } | 134 } |
| 135 | 135 |
| 136 DEFINE_INLINE_VIRTUAL_TRACE() | 136 DEFINE_INLINE_VIRTUAL_TRACE() |
| 137 { | 137 { |
| 138 visitor->trace(m_client); | 138 visitor->trace(m_client); |
| 139 visitor->trace(m_overlay); | 139 visitor->trace(m_overlay); |
| 140 EmptyChromeClient::trace(visitor); | 140 EmptyChromeClient::trace(visitor); |
| 141 } | 141 } |
| 142 | 142 |
| 143 void setCursor(const Cursor& cursor, LocalFrame* localRoot) override | 143 void setCursor(const Cursor& cursor, LocalFrame* localRoot) override |
| (...skipping 21 matching lines...) Expand all Loading... |
| 165 | 165 |
| 166 m_client->scheduleAnimation(widget); | 166 m_client->scheduleAnimation(widget); |
| 167 } | 167 } |
| 168 | 168 |
| 169 private: | 169 private: |
| 170 InspectorOverlayChromeClient(ChromeClient& client, InspectorOverlay& overlay
) | 170 InspectorOverlayChromeClient(ChromeClient& client, InspectorOverlay& overlay
) |
| 171 : m_client(&client) | 171 : m_client(&client) |
| 172 , m_overlay(&overlay) | 172 , m_overlay(&overlay) |
| 173 { } | 173 { } |
| 174 | 174 |
| 175 RawPtrWillBeMember<ChromeClient> m_client; | 175 Member<ChromeClient> m_client; |
| 176 RawPtrWillBeMember<InspectorOverlay> m_overlay; | 176 Member<InspectorOverlay> m_overlay; |
| 177 }; | 177 }; |
| 178 | 178 |
| 179 | 179 |
| 180 InspectorOverlay::InspectorOverlay(WebViewImpl* webViewImpl) | 180 InspectorOverlay::InspectorOverlay(WebViewImpl* webViewImpl) |
| 181 : m_webViewImpl(webViewImpl) | 181 : m_webViewImpl(webViewImpl) |
| 182 , m_overlayHost(InspectorOverlayHost::create()) | 182 , m_overlayHost(InspectorOverlayHost::create()) |
| 183 , m_drawViewSize(false) | 183 , m_drawViewSize(false) |
| 184 , m_resizeTimerActive(false) | 184 , m_resizeTimerActive(false) |
| 185 , m_omitTooltip(false) | 185 , m_omitTooltip(false) |
| 186 , m_timer(this, &InspectorOverlay::onTimer) | 186 , m_timer(this, &InspectorOverlay::onTimer) |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 result->setNumber("height", size.height()); | 407 result->setNumber("height", size.height()); |
| 408 return result.release(); | 408 return result.release(); |
| 409 } | 409 } |
| 410 | 410 |
| 411 void InspectorOverlay::drawNodeHighlight() | 411 void InspectorOverlay::drawNodeHighlight() |
| 412 { | 412 { |
| 413 if (!m_highlightNode) | 413 if (!m_highlightNode) |
| 414 return; | 414 return; |
| 415 | 415 |
| 416 String selectors = m_nodeHighlightConfig.selectorList; | 416 String selectors = m_nodeHighlightConfig.selectorList; |
| 417 RefPtrWillBeRawPtr<StaticElementList> elements = nullptr; | 417 RawPtr<StaticElementList> elements = nullptr; |
| 418 TrackExceptionState exceptionState; | 418 TrackExceptionState exceptionState; |
| 419 ContainerNode* queryBase = m_highlightNode->containingShadowRoot(); | 419 ContainerNode* queryBase = m_highlightNode->containingShadowRoot(); |
| 420 if (!queryBase) | 420 if (!queryBase) |
| 421 queryBase = m_highlightNode->ownerDocument(); | 421 queryBase = m_highlightNode->ownerDocument(); |
| 422 if (selectors.length()) | 422 if (selectors.length()) |
| 423 elements = queryBase->querySelectorAll(AtomicString(selectors), exceptio
nState); | 423 elements = queryBase->querySelectorAll(AtomicString(selectors), exceptio
nState); |
| 424 if (elements && !exceptionState.hadException()) { | 424 if (elements && !exceptionState.hadException()) { |
| 425 for (unsigned i = 0; i < elements->length(); ++i) { | 425 for (unsigned i = 0; i < elements->length(); ++i) { |
| 426 Element* element = elements->item(i); | 426 Element* element = elements->item(i); |
| 427 InspectorHighlight highlight(element, m_nodeHighlightConfig, false); | 427 InspectorHighlight highlight(element, m_nodeHighlightConfig, false); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 evaluateInOverlay("drawViewSize", ""); | 461 evaluateInOverlay("drawViewSize", ""); |
| 462 } | 462 } |
| 463 | 463 |
| 464 Page* InspectorOverlay::overlayPage() | 464 Page* InspectorOverlay::overlayPage() |
| 465 { | 465 { |
| 466 if (m_overlayPage) | 466 if (m_overlayPage) |
| 467 return m_overlayPage.get(); | 467 return m_overlayPage.get(); |
| 468 | 468 |
| 469 ScriptForbiddenScope::AllowUserAgentScript allowScript; | 469 ScriptForbiddenScope::AllowUserAgentScript allowScript; |
| 470 | 470 |
| 471 DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<FrameLoaderClient>, dummyFrameLoa
derClient, (EmptyFrameLoaderClient::create())); | 471 DEFINE_STATIC_LOCAL(Persistent<FrameLoaderClient>, dummyFrameLoaderClient, (
EmptyFrameLoaderClient::create())); |
| 472 Page::PageClients pageClients; | 472 Page::PageClients pageClients; |
| 473 fillWithEmptyClients(pageClients); | 473 fillWithEmptyClients(pageClients); |
| 474 ASSERT(!m_overlayChromeClient); | 474 ASSERT(!m_overlayChromeClient); |
| 475 m_overlayChromeClient = InspectorOverlayChromeClient::create(m_webViewImpl->
page()->chromeClient(), *this); | 475 m_overlayChromeClient = InspectorOverlayChromeClient::create(m_webViewImpl->
page()->chromeClient(), *this); |
| 476 pageClients.chromeClient = m_overlayChromeClient.get(); | 476 pageClients.chromeClient = m_overlayChromeClient.get(); |
| 477 m_overlayPage = Page::create(pageClients); | 477 m_overlayPage = Page::create(pageClients); |
| 478 | 478 |
| 479 Settings& settings = m_webViewImpl->page()->settings(); | 479 Settings& settings = m_webViewImpl->page()->settings(); |
| 480 Settings& overlaySettings = m_overlayPage->settings(); | 480 Settings& overlaySettings = m_overlayPage->settings(); |
| 481 | 481 |
| 482 overlaySettings.genericFontFamilySettings().updateStandard(settings.genericF
ontFamilySettings().standard()); | 482 overlaySettings.genericFontFamilySettings().updateStandard(settings.genericF
ontFamilySettings().standard()); |
| 483 overlaySettings.genericFontFamilySettings().updateSerif(settings.genericFont
FamilySettings().serif()); | 483 overlaySettings.genericFontFamilySettings().updateSerif(settings.genericFont
FamilySettings().serif()); |
| 484 overlaySettings.genericFontFamilySettings().updateSansSerif(settings.generic
FontFamilySettings().sansSerif()); | 484 overlaySettings.genericFontFamilySettings().updateSansSerif(settings.generic
FontFamilySettings().sansSerif()); |
| 485 overlaySettings.genericFontFamilySettings().updateCursive(settings.genericFo
ntFamilySettings().cursive()); | 485 overlaySettings.genericFontFamilySettings().updateCursive(settings.genericFo
ntFamilySettings().cursive()); |
| 486 overlaySettings.genericFontFamilySettings().updateFantasy(settings.genericFo
ntFamilySettings().fantasy()); | 486 overlaySettings.genericFontFamilySettings().updateFantasy(settings.genericFo
ntFamilySettings().fantasy()); |
| 487 overlaySettings.genericFontFamilySettings().updatePictograph(settings.generi
cFontFamilySettings().pictograph()); | 487 overlaySettings.genericFontFamilySettings().updatePictograph(settings.generi
cFontFamilySettings().pictograph()); |
| 488 overlaySettings.setMinimumFontSize(settings.minimumFontSize()); | 488 overlaySettings.setMinimumFontSize(settings.minimumFontSize()); |
| 489 overlaySettings.setMinimumLogicalFontSize(settings.minimumLogicalFontSize())
; | 489 overlaySettings.setMinimumLogicalFontSize(settings.minimumLogicalFontSize())
; |
| 490 overlaySettings.setScriptEnabled(true); | 490 overlaySettings.setScriptEnabled(true); |
| 491 overlaySettings.setPluginsEnabled(false); | 491 overlaySettings.setPluginsEnabled(false); |
| 492 overlaySettings.setLoadsImagesAutomatically(true); | 492 overlaySettings.setLoadsImagesAutomatically(true); |
| 493 // FIXME: http://crbug.com/363843. Inspector should probably create its | 493 // FIXME: http://crbug.com/363843. Inspector should probably create its |
| 494 // own graphics layers and attach them to the tree rather than going | 494 // own graphics layers and attach them to the tree rather than going |
| 495 // through some non-composited paint function. | 495 // through some non-composited paint function. |
| 496 overlaySettings.setAcceleratedCompositingEnabled(false); | 496 overlaySettings.setAcceleratedCompositingEnabled(false); |
| 497 | 497 |
| 498 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(dummyFrameLoaderCl
ient.get(), &m_overlayPage->frameHost(), 0); | 498 RawPtr<LocalFrame> frame = LocalFrame::create(dummyFrameLoaderClient.get(),
&m_overlayPage->frameHost(), 0); |
| 499 frame->setView(FrameView::create(frame.get())); | 499 frame->setView(FrameView::create(frame.get())); |
| 500 frame->init(); | 500 frame->init(); |
| 501 FrameLoader& loader = frame->loader(); | 501 FrameLoader& loader = frame->loader(); |
| 502 frame->view()->setCanHaveScrollbars(false); | 502 frame->view()->setCanHaveScrollbars(false); |
| 503 frame->view()->setTransparent(true); | 503 frame->view()->setTransparent(true); |
| 504 | 504 |
| 505 const WebData& overlayPageHTMLResource = Platform::current()->loadResource("
InspectorOverlayPage.html"); | 505 const WebData& overlayPageHTMLResource = Platform::current()->loadResource("
InspectorOverlayPage.html"); |
| 506 RefPtr<SharedBuffer> data = SharedBuffer::create(overlayPageHTMLResource.dat
a(), overlayPageHTMLResource.size()); | 506 RefPtr<SharedBuffer> data = SharedBuffer::create(overlayPageHTMLResource.dat
a(), overlayPageHTMLResource.size()); |
| 507 loader.load(FrameLoadRequest(0, blankURL(), SubstituteData(data, "text/html"
, "UTF-8", KURL(), ForceSynchronousLoad))); | 507 loader.load(FrameLoadRequest(0, blankURL(), SubstituteData(data, "text/html"
, "UTF-8", KURL(), ForceSynchronousLoad))); |
| 508 v8::Isolate* isolate = toIsolate(frame.get()); | 508 v8::Isolate* isolate = toIsolate(frame.get()); |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 774 | 774 |
| 775 void InspectorOverlay::initializeLayoutEditorIfNeeded(Node* node) | 775 void InspectorOverlay::initializeLayoutEditorIfNeeded(Node* node) |
| 776 { | 776 { |
| 777 if (m_inspectMode != InspectorDOMAgent::ShowLayoutEditor || !node || !node->
isElementNode() || !node->ownerDocument()->isActive()) | 777 if (m_inspectMode != InspectorDOMAgent::ShowLayoutEditor || !node || !node->
isElementNode() || !node->ownerDocument()->isActive()) |
| 778 return; | 778 return; |
| 779 m_layoutEditor = LayoutEditor::create(toElement(node), m_cssAgent, m_domAgen
t, &overlayMainFrame()->script()); | 779 m_layoutEditor = LayoutEditor::create(toElement(node), m_cssAgent, m_domAgen
t, &overlayMainFrame()->script()); |
| 780 toChromeClientImpl(m_webViewImpl->page()->chromeClient()).setCursorOverridde
n(true); | 780 toChromeClientImpl(m_webViewImpl->page()->chromeClient()).setCursorOverridde
n(true); |
| 781 } | 781 } |
| 782 | 782 |
| 783 } // namespace blink | 783 } // namespace blink |
| OLD | NEW |