| 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 213 }; | 213 }; |
| 214 | 214 |
| 215 InspectorOverlayAgent::InspectorOverlayAgent( | 215 InspectorOverlayAgent::InspectorOverlayAgent( |
| 216 WebLocalFrameImpl* frame_impl, | 216 WebLocalFrameImpl* frame_impl, |
| 217 InspectedFrames* inspected_frames, | 217 InspectedFrames* inspected_frames, |
| 218 v8_inspector::V8InspectorSession* v8_session, | 218 v8_inspector::V8InspectorSession* v8_session, |
| 219 InspectorDOMAgent* dom_agent) | 219 InspectorDOMAgent* dom_agent) |
| 220 : frame_impl_(frame_impl), | 220 : frame_impl_(frame_impl), |
| 221 inspected_frames_(inspected_frames), | 221 inspected_frames_(inspected_frames), |
| 222 enabled_(false), | 222 enabled_(false), |
| 223 overlay_host_(new InspectorOverlayHost(this)), | |
| 224 draw_view_size_(false), | 223 draw_view_size_(false), |
| 225 resize_timer_active_(false), | 224 resize_timer_active_(false), |
| 226 omit_tooltip_(false), | 225 omit_tooltip_(false), |
| 227 timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer, | 226 timer_(TaskRunnerHelper::Get(TaskType::kUnspecedTimer, |
| 228 frame_impl->GetFrame()), | 227 frame_impl->GetFrame()), |
| 229 this, | 228 this, |
| 230 &InspectorOverlayAgent::OnTimer), | 229 &InspectorOverlayAgent::OnTimer), |
| 231 suspended_(false), | 230 suspended_(false), |
| 231 disposed_(false), |
| 232 show_reloading_blanket_(false), | 232 show_reloading_blanket_(false), |
| 233 in_layout_(false), | 233 in_layout_(false), |
| 234 needs_update_(false), | 234 needs_update_(false), |
| 235 v8_session_(v8_session), | 235 v8_session_(v8_session), |
| 236 dom_agent_(dom_agent), | 236 dom_agent_(dom_agent), |
| 237 swallow_next_mouse_up_(false), | 237 swallow_next_mouse_up_(false), |
| 238 inspect_mode_(kNotSearching), | 238 inspect_mode_(kNotSearching), |
| 239 backend_node_id_to_inspect_(0) {} | 239 backend_node_id_to_inspect_(0) {} |
| 240 | 240 |
| 241 InspectorOverlayAgent::~InspectorOverlayAgent() { | 241 InspectorOverlayAgent::~InspectorOverlayAgent() { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 262 state_->booleanProperty(OverlayAgentState::kShowDebugBorders, false)); | 262 state_->booleanProperty(OverlayAgentState::kShowDebugBorders, false)); |
| 263 setShowFPSCounter( | 263 setShowFPSCounter( |
| 264 state_->booleanProperty(OverlayAgentState::kShowFPSCounter, false)); | 264 state_->booleanProperty(OverlayAgentState::kShowFPSCounter, false)); |
| 265 setShowPaintRects( | 265 setShowPaintRects( |
| 266 state_->booleanProperty(OverlayAgentState::kShowPaintRects, false)); | 266 state_->booleanProperty(OverlayAgentState::kShowPaintRects, false)); |
| 267 setShowScrollBottleneckRects(state_->booleanProperty( | 267 setShowScrollBottleneckRects(state_->booleanProperty( |
| 268 OverlayAgentState::kShowScrollBottleneckRects, false)); | 268 OverlayAgentState::kShowScrollBottleneckRects, false)); |
| 269 setShowViewportSizeOnResize( | 269 setShowViewportSizeOnResize( |
| 270 state_->booleanProperty(OverlayAgentState::kShowSizeOnResize, false)); | 270 state_->booleanProperty(OverlayAgentState::kShowSizeOnResize, false)); |
| 271 String message; | 271 String message; |
| 272 state_->getString(OverlayAgentState::kPausedInDebuggerMessage, &message); | 272 if (state_->getString(OverlayAgentState::kPausedInDebuggerMessage, &message)) |
| 273 setPausedInDebuggerMessage(message); | 273 setPausedInDebuggerMessage(message); |
| 274 setSuspended(state_->booleanProperty(OverlayAgentState::kSuspended, false)); | 274 setSuspended(state_->booleanProperty(OverlayAgentState::kSuspended, false)); |
| 275 } | 275 } |
| 276 | 276 |
| 277 void InspectorOverlayAgent::Dispose() { | 277 void InspectorOverlayAgent::Dispose() { |
| 278 InspectorBaseAgent::Dispose(); |
| 278 show_reloading_blanket_ = false; | 279 show_reloading_blanket_ = false; |
| 280 disposed_ = true; |
| 279 ClearInternal(); | 281 ClearInternal(); |
| 280 InspectorBaseAgent::Dispose(); | |
| 281 } | 282 } |
| 282 | 283 |
| 283 Response InspectorOverlayAgent::enable() { | 284 Response InspectorOverlayAgent::enable() { |
| 284 if (!dom_agent_->Enabled()) | 285 if (!dom_agent_->Enabled()) |
| 285 return Response::Error("DOM should be enabled first"); | 286 return Response::Error("DOM should be enabled first"); |
| 286 state_->setBoolean(OverlayAgentState::kEnabled, true); | 287 state_->setBoolean(OverlayAgentState::kEnabled, true); |
| 287 enabled_ = true; | 288 enabled_ = true; |
| 288 if (backend_node_id_to_inspect_) | 289 if (backend_node_id_to_inspect_) |
| 289 GetFrontend()->inspectNodeRequested(backend_node_id_to_inspect_); | 290 GetFrontend()->inspectNodeRequested(backend_node_id_to_inspect_); |
| 290 backend_node_id_to_inspect_ = 0; | 291 backend_node_id_to_inspect_ = 0; |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 491 Node* node = nullptr; | 492 Node* node = nullptr; |
| 492 Response response = dom_agent_->AssertNode(node_id, node); | 493 Response response = dom_agent_->AssertNode(node_id, node); |
| 493 if (!response.isSuccess()) | 494 if (!response.isSuccess()) |
| 494 return response; | 495 return response; |
| 495 InspectorHighlight highlight(node, InspectorHighlight::DefaultConfig(), true); | 496 InspectorHighlight highlight(node, InspectorHighlight::DefaultConfig(), true); |
| 496 *result = highlight.AsProtocolValue(); | 497 *result = highlight.AsProtocolValue(); |
| 497 return Response::OK(); | 498 return Response::OK(); |
| 498 } | 499 } |
| 499 | 500 |
| 500 void InspectorOverlayAgent::Invalidate() { | 501 void InspectorOverlayAgent::Invalidate() { |
| 502 if (IsEmpty()) |
| 503 return; |
| 504 |
| 501 if (!page_overlay_) { | 505 if (!page_overlay_) { |
| 502 page_overlay_ = PageOverlay::Create( | 506 page_overlay_ = PageOverlay::Create( |
| 503 frame_impl_, WTF::WrapUnique(new InspectorPageOverlayDelegate(*this))); | 507 frame_impl_, WTF::WrapUnique(new InspectorPageOverlayDelegate(*this))); |
| 504 } | 508 } |
| 505 | 509 |
| 506 page_overlay_->Update(); | 510 page_overlay_->Update(); |
| 507 } | 511 } |
| 508 | 512 |
| 509 void InspectorOverlayAgent::UpdateAllLifecyclePhases() { | 513 void InspectorOverlayAgent::UpdateAllLifecyclePhases() { |
| 510 if (IsEmpty()) | 514 if (IsEmpty()) |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 633 Maybe<protocol::DOM::RGBA> outline_color) { | 637 Maybe<protocol::DOM::RGBA> outline_color) { |
| 634 quad_content_color_ = InspectorDOMAgent::ParseColor(color.fromMaybe(nullptr)); | 638 quad_content_color_ = InspectorDOMAgent::ParseColor(color.fromMaybe(nullptr)); |
| 635 quad_content_outline_color_ = | 639 quad_content_outline_color_ = |
| 636 InspectorDOMAgent::ParseColor(outline_color.fromMaybe(nullptr)); | 640 InspectorDOMAgent::ParseColor(outline_color.fromMaybe(nullptr)); |
| 637 highlight_quad_ = std::move(quad); | 641 highlight_quad_ = std::move(quad); |
| 638 omit_tooltip_ = false; | 642 omit_tooltip_ = false; |
| 639 ScheduleUpdate(); | 643 ScheduleUpdate(); |
| 640 } | 644 } |
| 641 | 645 |
| 642 bool InspectorOverlayAgent::IsEmpty() { | 646 bool InspectorOverlayAgent::IsEmpty() { |
| 647 if (disposed_) |
| 648 return true; |
| 643 if (show_reloading_blanket_) | 649 if (show_reloading_blanket_) |
| 644 return false; | 650 return false; |
| 645 if (suspended_) | 651 if (suspended_) |
| 646 return true; | 652 return true; |
| 647 bool has_visible_elements = highlight_node_ || event_target_node_ || | 653 bool has_visible_elements = highlight_node_ || event_target_node_ || |
| 648 highlight_quad_ || | 654 highlight_quad_ || |
| 649 (resize_timer_active_ && draw_view_size_) || | 655 (resize_timer_active_ && draw_view_size_) || |
| 650 !paused_in_debugger_message_.IsNull(); | 656 !paused_in_debugger_message_.IsNull(); |
| 651 return !has_visible_elements && inspect_mode_ == kNotSearching; | 657 return !has_visible_elements && inspect_mode_ == kNotSearching; |
| 652 } | 658 } |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 775 | 781 |
| 776 DEFINE_STATIC_LOCAL(LocalFrameClient, dummy_local_frame_client, | 782 DEFINE_STATIC_LOCAL(LocalFrameClient, dummy_local_frame_client, |
| 777 (EmptyLocalFrameClient::Create())); | 783 (EmptyLocalFrameClient::Create())); |
| 778 Page::PageClients page_clients; | 784 Page::PageClients page_clients; |
| 779 FillWithEmptyClients(page_clients); | 785 FillWithEmptyClients(page_clients); |
| 780 DCHECK(!overlay_chrome_client_); | 786 DCHECK(!overlay_chrome_client_); |
| 781 overlay_chrome_client_ = InspectorOverlayChromeClient::Create( | 787 overlay_chrome_client_ = InspectorOverlayChromeClient::Create( |
| 782 frame_impl_->GetFrame()->GetPage()->GetChromeClient(), *this); | 788 frame_impl_->GetFrame()->GetPage()->GetChromeClient(), *this); |
| 783 page_clients.chrome_client = overlay_chrome_client_.Get(); | 789 page_clients.chrome_client = overlay_chrome_client_.Get(); |
| 784 overlay_page_ = Page::Create(page_clients); | 790 overlay_page_ = Page::Create(page_clients); |
| 791 overlay_host_ = new InspectorOverlayHost(this); |
| 785 | 792 |
| 786 Settings& settings = frame_impl_->GetFrame()->GetPage()->GetSettings(); | 793 Settings& settings = frame_impl_->GetFrame()->GetPage()->GetSettings(); |
| 787 Settings& overlay_settings = overlay_page_->GetSettings(); | 794 Settings& overlay_settings = overlay_page_->GetSettings(); |
| 788 | 795 |
| 789 overlay_settings.GetGenericFontFamilySettings().UpdateStandard( | 796 overlay_settings.GetGenericFontFamilySettings().UpdateStandard( |
| 790 settings.GetGenericFontFamilySettings().Standard()); | 797 settings.GetGenericFontFamilySettings().Standard()); |
| 791 overlay_settings.GetGenericFontFamilySettings().UpdateSerif( | 798 overlay_settings.GetGenericFontFamilySettings().UpdateSerif( |
| 792 settings.GetGenericFontFamilySettings().Serif()); | 799 settings.GetGenericFontFamilySettings().Serif()); |
| 793 overlay_settings.GetGenericFontFamilySettings().UpdateSansSerif( | 800 overlay_settings.GetGenericFontFamilySettings().UpdateSansSerif( |
| 794 settings.GetGenericFontFamilySettings().SansSerif()); | 801 settings.GetGenericFontFamilySettings().SansSerif()); |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 921 void InspectorOverlayAgent::OnTimer(TimerBase*) { | 928 void InspectorOverlayAgent::OnTimer(TimerBase*) { |
| 922 resize_timer_active_ = false; | 929 resize_timer_active_ = false; |
| 923 ScheduleUpdate(); | 930 ScheduleUpdate(); |
| 924 } | 931 } |
| 925 | 932 |
| 926 void InspectorOverlayAgent::ClearInternal() { | 933 void InspectorOverlayAgent::ClearInternal() { |
| 927 if (overlay_page_) { | 934 if (overlay_page_) { |
| 928 overlay_page_->WillBeDestroyed(); | 935 overlay_page_->WillBeDestroyed(); |
| 929 overlay_page_.Clear(); | 936 overlay_page_.Clear(); |
| 930 overlay_chrome_client_.Clear(); | 937 overlay_chrome_client_.Clear(); |
| 938 overlay_host_->ClearListener(); |
| 939 overlay_host_.Clear(); |
| 931 } | 940 } |
| 932 resize_timer_active_ = false; | 941 resize_timer_active_ = false; |
| 933 paused_in_debugger_message_ = String(); | 942 paused_in_debugger_message_ = String(); |
| 934 inspect_mode_ = kNotSearching; | 943 inspect_mode_ = kNotSearching; |
| 935 timer_.Stop(); | 944 timer_.Stop(); |
| 945 page_overlay_.reset(); |
| 936 InnerHideHighlight(); | 946 InnerHideHighlight(); |
| 937 } | 947 } |
| 938 | 948 |
| 939 void InspectorOverlayAgent::OverlayResumed() { | 949 void InspectorOverlayAgent::OverlayResumed() { |
| 940 if (v8_session_) | 950 if (v8_session_) |
| 941 v8_session_->resume(); | 951 v8_session_->resume(); |
| 942 } | 952 } |
| 943 | 953 |
| 944 void InspectorOverlayAgent::OverlaySteppedOver() { | 954 void InspectorOverlayAgent::OverlaySteppedOver() { |
| 945 if (v8_session_) | 955 if (v8_session_) |
| (...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1153 InspectorDOMAgent::ParseColor(config->getShapeColor(nullptr)); | 1163 InspectorDOMAgent::ParseColor(config->getShapeColor(nullptr)); |
| 1154 highlight_config->shape_margin = | 1164 highlight_config->shape_margin = |
| 1155 InspectorDOMAgent::ParseColor(config->getShapeMarginColor(nullptr)); | 1165 InspectorDOMAgent::ParseColor(config->getShapeMarginColor(nullptr)); |
| 1156 highlight_config->selector_list = config->getSelectorList(""); | 1166 highlight_config->selector_list = config->getSelectorList(""); |
| 1157 | 1167 |
| 1158 *out_config = std::move(highlight_config); | 1168 *out_config = std::move(highlight_config); |
| 1159 return Response::OK(); | 1169 return Response::OK(); |
| 1160 } | 1170 } |
| 1161 | 1171 |
| 1162 } // namespace blink | 1172 } // namespace blink |
| OLD | NEW |