| 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_omitTooltip(false) | 183 , m_omitTooltip(false) |
| 184 , m_suspendCount(0) | 184 , m_suspendCount(0) |
| 185 , m_inLayout(false) | 185 , m_inLayout(false) |
| 186 , m_needsUpdate(false) | 186 , m_needsUpdate(false) |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 result->setNumber("height", size.height()); | 403 result->setNumber("height", size.height()); |
| 404 return result.release(); | 404 return result.release(); |
| 405 } | 405 } |
| 406 | 406 |
| 407 void InspectorOverlay::drawNodeHighlight() | 407 void InspectorOverlay::drawNodeHighlight() |
| 408 { | 408 { |
| 409 if (!m_highlightNode) | 409 if (!m_highlightNode) |
| 410 return; | 410 return; |
| 411 | 411 |
| 412 String selectors = m_nodeHighlightConfig.selectorList; | 412 String selectors = m_nodeHighlightConfig.selectorList; |
| 413 RefPtrWillBeRawPtr<StaticElementList> elements = nullptr; | 413 RawPtr<StaticElementList> elements = nullptr; |
| 414 TrackExceptionState exceptionState; | 414 TrackExceptionState exceptionState; |
| 415 ContainerNode* queryBase = m_highlightNode->containingShadowRoot(); | 415 ContainerNode* queryBase = m_highlightNode->containingShadowRoot(); |
| 416 if (!queryBase) | 416 if (!queryBase) |
| 417 queryBase = m_highlightNode->ownerDocument(); | 417 queryBase = m_highlightNode->ownerDocument(); |
| 418 if (selectors.length()) | 418 if (selectors.length()) |
| 419 elements = queryBase->querySelectorAll(AtomicString(selectors), exceptio
nState); | 419 elements = queryBase->querySelectorAll(AtomicString(selectors), exceptio
nState); |
| 420 if (elements && !exceptionState.hadException()) { | 420 if (elements && !exceptionState.hadException()) { |
| 421 for (unsigned i = 0; i < elements->length(); ++i) { | 421 for (unsigned i = 0; i < elements->length(); ++i) { |
| 422 Element* element = elements->item(i); | 422 Element* element = elements->item(i); |
| 423 InspectorHighlight highlight(element, m_nodeHighlightConfig, false); | 423 InspectorHighlight highlight(element, m_nodeHighlightConfig, false); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 451 evaluateInOverlay("drawPausedInDebuggerMessage", m_pausedInDebuggerMessa
ge); | 451 evaluateInOverlay("drawPausedInDebuggerMessage", m_pausedInDebuggerMessa
ge); |
| 452 } | 452 } |
| 453 | 453 |
| 454 Page* InspectorOverlay::overlayPage() | 454 Page* InspectorOverlay::overlayPage() |
| 455 { | 455 { |
| 456 if (m_overlayPage) | 456 if (m_overlayPage) |
| 457 return m_overlayPage.get(); | 457 return m_overlayPage.get(); |
| 458 | 458 |
| 459 ScriptForbiddenScope::AllowUserAgentScript allowScript; | 459 ScriptForbiddenScope::AllowUserAgentScript allowScript; |
| 460 | 460 |
| 461 DEFINE_STATIC_LOCAL(OwnPtrWillBePersistent<FrameLoaderClient>, dummyFrameLoa
derClient, (EmptyFrameLoaderClient::create())); | 461 DEFINE_STATIC_LOCAL(Persistent<FrameLoaderClient>, dummyFrameLoaderClient, (
EmptyFrameLoaderClient::create())); |
| 462 Page::PageClients pageClients; | 462 Page::PageClients pageClients; |
| 463 fillWithEmptyClients(pageClients); | 463 fillWithEmptyClients(pageClients); |
| 464 ASSERT(!m_overlayChromeClient); | 464 ASSERT(!m_overlayChromeClient); |
| 465 m_overlayChromeClient = InspectorOverlayChromeClient::create(m_webViewImpl->
page()->chromeClient(), *this); | 465 m_overlayChromeClient = InspectorOverlayChromeClient::create(m_webViewImpl->
page()->chromeClient(), *this); |
| 466 pageClients.chromeClient = m_overlayChromeClient.get(); | 466 pageClients.chromeClient = m_overlayChromeClient.get(); |
| 467 m_overlayPage = Page::create(pageClients); | 467 m_overlayPage = Page::create(pageClients); |
| 468 | 468 |
| 469 Settings& settings = m_webViewImpl->page()->settings(); | 469 Settings& settings = m_webViewImpl->page()->settings(); |
| 470 Settings& overlaySettings = m_overlayPage->settings(); | 470 Settings& overlaySettings = m_overlayPage->settings(); |
| 471 | 471 |
| 472 overlaySettings.genericFontFamilySettings().updateStandard(settings.genericF
ontFamilySettings().standard()); | 472 overlaySettings.genericFontFamilySettings().updateStandard(settings.genericF
ontFamilySettings().standard()); |
| 473 overlaySettings.genericFontFamilySettings().updateSerif(settings.genericFont
FamilySettings().serif()); | 473 overlaySettings.genericFontFamilySettings().updateSerif(settings.genericFont
FamilySettings().serif()); |
| 474 overlaySettings.genericFontFamilySettings().updateSansSerif(settings.generic
FontFamilySettings().sansSerif()); | 474 overlaySettings.genericFontFamilySettings().updateSansSerif(settings.generic
FontFamilySettings().sansSerif()); |
| 475 overlaySettings.genericFontFamilySettings().updateCursive(settings.genericFo
ntFamilySettings().cursive()); | 475 overlaySettings.genericFontFamilySettings().updateCursive(settings.genericFo
ntFamilySettings().cursive()); |
| 476 overlaySettings.genericFontFamilySettings().updateFantasy(settings.genericFo
ntFamilySettings().fantasy()); | 476 overlaySettings.genericFontFamilySettings().updateFantasy(settings.genericFo
ntFamilySettings().fantasy()); |
| 477 overlaySettings.genericFontFamilySettings().updatePictograph(settings.generi
cFontFamilySettings().pictograph()); | 477 overlaySettings.genericFontFamilySettings().updatePictograph(settings.generi
cFontFamilySettings().pictograph()); |
| 478 overlaySettings.setMinimumFontSize(settings.minimumFontSize()); | 478 overlaySettings.setMinimumFontSize(settings.minimumFontSize()); |
| 479 overlaySettings.setMinimumLogicalFontSize(settings.minimumLogicalFontSize())
; | 479 overlaySettings.setMinimumLogicalFontSize(settings.minimumLogicalFontSize())
; |
| 480 overlaySettings.setScriptEnabled(true); | 480 overlaySettings.setScriptEnabled(true); |
| 481 overlaySettings.setPluginsEnabled(false); | 481 overlaySettings.setPluginsEnabled(false); |
| 482 overlaySettings.setLoadsImagesAutomatically(true); | 482 overlaySettings.setLoadsImagesAutomatically(true); |
| 483 // FIXME: http://crbug.com/363843. Inspector should probably create its | 483 // FIXME: http://crbug.com/363843. Inspector should probably create its |
| 484 // own graphics layers and attach them to the tree rather than going | 484 // own graphics layers and attach them to the tree rather than going |
| 485 // through some non-composited paint function. | 485 // through some non-composited paint function. |
| 486 overlaySettings.setAcceleratedCompositingEnabled(false); | 486 overlaySettings.setAcceleratedCompositingEnabled(false); |
| 487 | 487 |
| 488 RefPtrWillBeRawPtr<LocalFrame> frame = LocalFrame::create(dummyFrameLoaderCl
ient.get(), &m_overlayPage->frameHost(), 0); | 488 RawPtr<LocalFrame> frame = LocalFrame::create(dummyFrameLoaderClient.get(),
&m_overlayPage->frameHost(), 0); |
| 489 frame->setView(FrameView::create(frame.get())); | 489 frame->setView(FrameView::create(frame.get())); |
| 490 frame->init(); | 490 frame->init(); |
| 491 FrameLoader& loader = frame->loader(); | 491 FrameLoader& loader = frame->loader(); |
| 492 frame->view()->setCanHaveScrollbars(false); | 492 frame->view()->setCanHaveScrollbars(false); |
| 493 frame->view()->setTransparent(true); | 493 frame->view()->setTransparent(true); |
| 494 | 494 |
| 495 const WebData& overlayPageHTMLResource = Platform::current()->loadResource("
InspectorOverlayPage.html"); | 495 const WebData& overlayPageHTMLResource = Platform::current()->loadResource("
InspectorOverlayPage.html"); |
| 496 RefPtr<SharedBuffer> data = SharedBuffer::create(overlayPageHTMLResource.dat
a(), overlayPageHTMLResource.size()); | 496 RefPtr<SharedBuffer> data = SharedBuffer::create(overlayPageHTMLResource.dat
a(), overlayPageHTMLResource.size()); |
| 497 loader.load(FrameLoadRequest(0, blankURL(), SubstituteData(data, "text/html"
, "UTF-8", KURL(), ForceSynchronousLoad))); | 497 loader.load(FrameLoadRequest(0, blankURL(), SubstituteData(data, "text/html"
, "UTF-8", KURL(), ForceSynchronousLoad))); |
| 498 v8::Isolate* isolate = toIsolate(frame.get()); | 498 v8::Isolate* isolate = toIsolate(frame.get()); |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 747 | 747 |
| 748 void InspectorOverlay::initializeLayoutEditorIfNeeded(Node* node) | 748 void InspectorOverlay::initializeLayoutEditorIfNeeded(Node* node) |
| 749 { | 749 { |
| 750 if (m_inspectMode != InspectorDOMAgent::ShowLayoutEditor || !node || !node->
isElementNode() || !node->ownerDocument()->isActive()) | 750 if (m_inspectMode != InspectorDOMAgent::ShowLayoutEditor || !node || !node->
isElementNode() || !node->ownerDocument()->isActive()) |
| 751 return; | 751 return; |
| 752 m_layoutEditor = LayoutEditor::create(toElement(node), m_cssAgent, m_domAgen
t, &overlayMainFrame()->script()); | 752 m_layoutEditor = LayoutEditor::create(toElement(node), m_cssAgent, m_domAgen
t, &overlayMainFrame()->script()); |
| 753 toChromeClientImpl(m_webViewImpl->page()->chromeClient()).setCursorOverridde
n(true); | 753 toChromeClientImpl(m_webViewImpl->page()->chromeClient()).setCursorOverridde
n(true); |
| 754 } | 754 } |
| 755 | 755 |
| 756 } // namespace blink | 756 } // namespace blink |
| OLD | NEW |