Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: chrome/browser/extensions/api/web_navigation/web_navigation_api.cc

Issue 2792573002: Remove base::Value::CreateNullValue (Closed)
Patch Set: Rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Implements the Chrome Extensions WebNavigation API. 5 // Implements the Chrome Extensions WebNavigation API.
6 6
7 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" 7 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h"
8 8
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/ptr_util.h"
10 #include "chrome/browser/chrome_notification_types.h" 11 #include "chrome/browser/chrome_notification_types.h"
11 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_consta nts.h" 12 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_consta nts.h"
12 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helper s.h" 13 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helper s.h"
13 #include "chrome/browser/extensions/extension_tab_util.h" 14 #include "chrome/browser/extensions/extension_tab_util.h"
14 #include "chrome/browser/profiles/profile.h" 15 #include "chrome/browser/profiles/profile.h"
15 #include "chrome/browser/ui/browser.h" 16 #include "chrome/browser/ui/browser.h"
16 #include "chrome/browser/ui/browser_list.h" 17 #include "chrome/browser/ui/browser_list.h"
17 #include "chrome/common/extensions/api/web_navigation.h" 18 #include "chrome/common/extensions/api/web_navigation.h"
18 #include "content/public/browser/navigation_details.h" 19 #include "content/public/browser/navigation_details.h"
19 #include "content/public/browser/navigation_handle.h" 20 #include "content/public/browser/navigation_handle.h"
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 std::unique_ptr<GetFrame::Params> params(GetFrame::Params::Create(*args_)); 470 std::unique_ptr<GetFrame::Params> params(GetFrame::Params::Create(*args_));
470 EXTENSION_FUNCTION_VALIDATE(params.get()); 471 EXTENSION_FUNCTION_VALIDATE(params.get());
471 int tab_id = params->details.tab_id; 472 int tab_id = params->details.tab_id;
472 int frame_id = params->details.frame_id; 473 int frame_id = params->details.frame_id;
473 474
474 content::WebContents* web_contents; 475 content::WebContents* web_contents;
475 if (!ExtensionTabUtil::GetTabById(tab_id, browser_context(), 476 if (!ExtensionTabUtil::GetTabById(tab_id, browser_context(),
476 include_incognito(), nullptr, nullptr, 477 include_incognito(), nullptr, nullptr,
477 &web_contents, nullptr) || 478 &web_contents, nullptr) ||
478 !web_contents) { 479 !web_contents) {
479 return RespondNow(OneArgument(base::Value::CreateNullValue())); 480 return RespondNow(OneArgument(base::MakeUnique<base::Value>()));
480 } 481 }
481 482
482 WebNavigationTabObserver* observer = 483 WebNavigationTabObserver* observer =
483 WebNavigationTabObserver::Get(web_contents); 484 WebNavigationTabObserver::Get(web_contents);
484 DCHECK(observer); 485 DCHECK(observer);
485 486
486 const FrameNavigationState& frame_navigation_state = 487 const FrameNavigationState& frame_navigation_state =
487 observer->frame_navigation_state(); 488 observer->frame_navigation_state();
488 489
489 content::RenderFrameHost* render_frame_host = 490 content::RenderFrameHost* render_frame_host =
490 ExtensionApiFrameIdMap::Get()->GetRenderFrameHostById(web_contents, 491 ExtensionApiFrameIdMap::Get()->GetRenderFrameHostById(web_contents,
491 frame_id); 492 frame_id);
492 if (!frame_navigation_state.IsValidFrame(render_frame_host)) 493 if (!frame_navigation_state.IsValidFrame(render_frame_host))
493 return RespondNow(OneArgument(base::Value::CreateNullValue())); 494 return RespondNow(OneArgument(base::MakeUnique<base::Value>()));
494 495
495 GURL frame_url = frame_navigation_state.GetUrl(render_frame_host); 496 GURL frame_url = frame_navigation_state.GetUrl(render_frame_host);
496 if (!frame_navigation_state.IsValidUrl(frame_url)) 497 if (!frame_navigation_state.IsValidUrl(frame_url))
497 return RespondNow(OneArgument(base::Value::CreateNullValue())); 498 return RespondNow(OneArgument(base::MakeUnique<base::Value>()));
498 499
499 GetFrame::Results::Details frame_details; 500 GetFrame::Results::Details frame_details;
500 frame_details.url = frame_url.spec(); 501 frame_details.url = frame_url.spec();
501 frame_details.error_occurred = 502 frame_details.error_occurred =
502 frame_navigation_state.GetErrorOccurredInFrame(render_frame_host); 503 frame_navigation_state.GetErrorOccurredInFrame(render_frame_host);
503 frame_details.parent_frame_id = 504 frame_details.parent_frame_id =
504 ExtensionApiFrameIdMap::GetFrameId(render_frame_host->GetParent()); 505 ExtensionApiFrameIdMap::GetFrameId(render_frame_host->GetParent());
505 return RespondNow(ArgumentList(GetFrame::Results::Create(frame_details))); 506 return RespondNow(ArgumentList(GetFrame::Results::Create(frame_details)));
506 } 507 }
507 508
508 ExtensionFunction::ResponseAction WebNavigationGetAllFramesFunction::Run() { 509 ExtensionFunction::ResponseAction WebNavigationGetAllFramesFunction::Run() {
509 std::unique_ptr<GetAllFrames::Params> params( 510 std::unique_ptr<GetAllFrames::Params> params(
510 GetAllFrames::Params::Create(*args_)); 511 GetAllFrames::Params::Create(*args_));
511 EXTENSION_FUNCTION_VALIDATE(params.get()); 512 EXTENSION_FUNCTION_VALIDATE(params.get());
512 int tab_id = params->details.tab_id; 513 int tab_id = params->details.tab_id;
513 514
514 content::WebContents* web_contents; 515 content::WebContents* web_contents;
515 if (!ExtensionTabUtil::GetTabById(tab_id, browser_context(), 516 if (!ExtensionTabUtil::GetTabById(tab_id, browser_context(),
516 include_incognito(), nullptr, nullptr, 517 include_incognito(), nullptr, nullptr,
517 &web_contents, nullptr) || 518 &web_contents, nullptr) ||
518 !web_contents) { 519 !web_contents) {
519 return RespondNow(OneArgument(base::Value::CreateNullValue())); 520 return RespondNow(OneArgument(base::MakeUnique<base::Value>()));
520 } 521 }
521 522
522 WebNavigationTabObserver* observer = 523 WebNavigationTabObserver* observer =
523 WebNavigationTabObserver::Get(web_contents); 524 WebNavigationTabObserver::Get(web_contents);
524 DCHECK(observer); 525 DCHECK(observer);
525 526
526 const FrameNavigationState& navigation_state = 527 const FrameNavigationState& navigation_state =
527 observer->frame_navigation_state(); 528 observer->frame_navigation_state();
528 529
529 std::vector<GetAllFrames::Results::DetailsType> result_list; 530 std::vector<GetAllFrames::Results::DetailsType> result_list;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 return g_factory.Pointer(); 582 return g_factory.Pointer();
582 } 583 }
583 584
584 void WebNavigationAPI::OnListenerAdded(const EventListenerInfo& details) { 585 void WebNavigationAPI::OnListenerAdded(const EventListenerInfo& details) {
585 web_navigation_event_router_.reset(new WebNavigationEventRouter( 586 web_navigation_event_router_.reset(new WebNavigationEventRouter(
586 Profile::FromBrowserContext(browser_context_))); 587 Profile::FromBrowserContext(browser_context_)));
587 EventRouter::Get(browser_context_)->UnregisterObserver(this); 588 EventRouter::Get(browser_context_)->UnregisterObserver(this);
588 } 589 }
589 590
590 } // namespace extensions 591 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/browser/policy/test/local_policy_test_server.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698