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

Side by Side Diff: Source/web/WebLocalFrameImpl.cpp

Issue 490143002: Move GeolocationClient to the Oilpan heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Provide default empty impl of WebGeolocationClient::geolocationDestroyed() virtual Created 6 years, 4 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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 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 are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * 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 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 WebRemoteFrame* WebLocalFrameImpl::toWebRemoteFrame() 490 WebRemoteFrame* WebLocalFrameImpl::toWebRemoteFrame()
491 { 491 {
492 ASSERT_NOT_REACHED(); 492 ASSERT_NOT_REACHED();
493 return 0; 493 return 0;
494 } 494 }
495 495
496 void WebLocalFrameImpl::close() 496 void WebLocalFrameImpl::close()
497 { 497 {
498 m_client = 0; 498 m_client = 0;
499 499
500 // FIXME: Oilpan: Signal to LocalFrame and its supplements that the frame is
501 // being torn down so it can do prompt clean-up. For example, this will
502 // clear the raw back pointer to m_geolocationClientProxy. Once
503 // GeolocationClientProxy is on-heap it looks like we can completely remove
504 // |willBeDestroyed| from supplements since tracing will ensure safety.
505 if (m_frame)
506 m_frame->willBeDestroyed();
507
508 deref(); // Balances ref() acquired in WebFrame::create 500 deref(); // Balances ref() acquired in WebFrame::create
509 } 501 }
510 502
511 WebString WebLocalFrameImpl::uniqueName() const 503 WebString WebLocalFrameImpl::uniqueName() const
512 { 504 {
513 return frame()->tree().uniqueName(); 505 return frame()->tree().uniqueName();
514 } 506 }
515 507
516 WebString WebLocalFrameImpl::assignedName() const 508 WebString WebLocalFrameImpl::assignedName() const
517 { 509 {
(...skipping 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 { 1514 {
1523 return adoptRef(new WebLocalFrameImpl(client)).leakRef(); 1515 return adoptRef(new WebLocalFrameImpl(client)).leakRef();
1524 } 1516 }
1525 1517
1526 WebLocalFrameImpl::WebLocalFrameImpl(WebFrameClient* client) 1518 WebLocalFrameImpl::WebLocalFrameImpl(WebFrameClient* client)
1527 : m_frameLoaderClientImpl(this) 1519 : m_frameLoaderClientImpl(this)
1528 , m_client(client) 1520 , m_client(client)
1529 , m_permissionClient(0) 1521 , m_permissionClient(0)
1530 , m_inputEventsScaleFactorForEmulation(1) 1522 , m_inputEventsScaleFactorForEmulation(1)
1531 , m_userMediaClientImpl(this) 1523 , m_userMediaClientImpl(this)
1532 , m_geolocationClientProxy(adoptPtr(new GeolocationClientProxy(client ? clie nt->geolocationClient() : 0))) 1524 , m_geolocationClientProxy(GeolocationClientProxy::create(client ? client->g eolocationClient() : 0))
1533 { 1525 {
1534 Platform::current()->incrementStatsCounter(webFrameActiveCount); 1526 Platform::current()->incrementStatsCounter(webFrameActiveCount);
1535 frameCount++; 1527 frameCount++;
1536 } 1528 }
1537 1529
1538 WebLocalFrameImpl::~WebLocalFrameImpl() 1530 WebLocalFrameImpl::~WebLocalFrameImpl()
1539 { 1531 {
1540 Platform::current()->decrementStatsCounter(webFrameActiveCount); 1532 Platform::current()->decrementStatsCounter(webFrameActiveCount);
1541 frameCount--; 1533 frameCount--;
1542 1534
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
1867 1859
1868 void WebLocalFrameImpl::invalidateAll() const 1860 void WebLocalFrameImpl::invalidateAll() const
1869 { 1861 {
1870 ASSERT(frame() && frame()->view()); 1862 ASSERT(frame() && frame()->view());
1871 FrameView* view = frame()->view(); 1863 FrameView* view = frame()->view();
1872 view->invalidateRect(view->frameRect()); 1864 view->invalidateRect(view->frameRect());
1873 invalidateScrollbar(); 1865 invalidateScrollbar();
1874 } 1866 }
1875 1867
1876 } // namespace blink 1868 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698