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

Side by Side Diff: extensions/browser/extension_function.h

Issue 622343002: replace OVERRIDE and FINAL with override and final in extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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
« no previous file with comments | « extensions/browser/extension_error.h ('k') | extensions/browser/extension_function.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ 5 #ifndef EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_
6 #define EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ 6 #define EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_
7 7
8 #include <list> 8 #include <list>
9 #include <string> 9 #include <string>
10 10
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 // A delegate for use in testing, to intercept the call to SendResponse. 399 // A delegate for use in testing, to intercept the call to SendResponse.
400 class DelegateForTests { 400 class DelegateForTests {
401 public: 401 public:
402 virtual void OnSendResponse(UIThreadExtensionFunction* function, 402 virtual void OnSendResponse(UIThreadExtensionFunction* function,
403 bool success, 403 bool success,
404 bool bad_message) = 0; 404 bool bad_message) = 0;
405 }; 405 };
406 406
407 UIThreadExtensionFunction(); 407 UIThreadExtensionFunction();
408 408
409 virtual UIThreadExtensionFunction* AsUIThreadExtensionFunction() OVERRIDE; 409 virtual UIThreadExtensionFunction* AsUIThreadExtensionFunction() override;
410 410
411 void set_test_delegate(DelegateForTests* delegate) { 411 void set_test_delegate(DelegateForTests* delegate) {
412 delegate_ = delegate; 412 delegate_ = delegate;
413 } 413 }
414 414
415 // Called when a message was received. 415 // Called when a message was received.
416 // Should return true if it processed the message. 416 // Should return true if it processed the message.
417 virtual bool OnMessageReceived(const IPC::Message& message); 417 virtual bool OnMessageReceived(const IPC::Message& message);
418 418
419 // Set the browser context which contains the extension that has originated 419 // Set the browser context which contains the extension that has originated
(...skipping 28 matching lines...) Expand all
448 // Emits a message to the extension's devtools console. 448 // Emits a message to the extension's devtools console.
449 void WriteToConsole(content::ConsoleMessageLevel level, 449 void WriteToConsole(content::ConsoleMessageLevel level,
450 const std::string& message); 450 const std::string& message);
451 451
452 friend struct content::BrowserThread::DeleteOnThread< 452 friend struct content::BrowserThread::DeleteOnThread<
453 content::BrowserThread::UI>; 453 content::BrowserThread::UI>;
454 friend class base::DeleteHelper<UIThreadExtensionFunction>; 454 friend class base::DeleteHelper<UIThreadExtensionFunction>;
455 455
456 virtual ~UIThreadExtensionFunction(); 456 virtual ~UIThreadExtensionFunction();
457 457
458 virtual void SendResponse(bool success) OVERRIDE; 458 virtual void SendResponse(bool success) override;
459 459
460 // Sets the Blob UUIDs whose ownership is being transferred to the renderer. 460 // Sets the Blob UUIDs whose ownership is being transferred to the renderer.
461 void SetTransferredBlobUUIDs(const std::vector<std::string>& blob_uuids); 461 void SetTransferredBlobUUIDs(const std::vector<std::string>& blob_uuids);
462 462
463 // The dispatcher that will service this extension function call. 463 // The dispatcher that will service this extension function call.
464 base::WeakPtr<extensions::ExtensionFunctionDispatcher> dispatcher_; 464 base::WeakPtr<extensions::ExtensionFunctionDispatcher> dispatcher_;
465 465
466 // The RenderViewHost we will send responses to. 466 // The RenderViewHost we will send responses to.
467 content::RenderViewHost* render_view_host_; 467 content::RenderViewHost* render_view_host_;
468 468
469 // The RenderFrameHost we will send responses to. 469 // The RenderFrameHost we will send responses to.
470 // NOTE: either render_view_host_ or render_frame_host_ will be set, as we 470 // NOTE: either render_view_host_ or render_frame_host_ will be set, as we
471 // port code to use RenderFrames for OOPIF. See http://crbug.com/304341. 471 // port code to use RenderFrames for OOPIF. See http://crbug.com/304341.
472 content::RenderFrameHost* render_frame_host_; 472 content::RenderFrameHost* render_frame_host_;
473 473
474 // The content::BrowserContext of this function's extension. 474 // The content::BrowserContext of this function's extension.
475 content::BrowserContext* context_; 475 content::BrowserContext* context_;
476 476
477 private: 477 private:
478 class RenderHostTracker; 478 class RenderHostTracker;
479 479
480 virtual void Destruct() const OVERRIDE; 480 virtual void Destruct() const override;
481 481
482 // TODO(tommycli): Remove once RenderViewHost is gone. 482 // TODO(tommycli): Remove once RenderViewHost is gone.
483 IPC::Sender* GetIPCSender(); 483 IPC::Sender* GetIPCSender();
484 int GetRoutingID(); 484 int GetRoutingID();
485 485
486 scoped_ptr<RenderHostTracker> tracker_; 486 scoped_ptr<RenderHostTracker> tracker_;
487 487
488 DelegateForTests* delegate_; 488 DelegateForTests* delegate_;
489 489
490 // The blobs transferred to the renderer process. 490 // The blobs transferred to the renderer process.
491 std::vector<std::string> transferred_blob_uuids_; 491 std::vector<std::string> transferred_blob_uuids_;
492 }; 492 };
493 493
494 // Extension functions that run on the IO thread. This type of function avoids 494 // Extension functions that run on the IO thread. This type of function avoids
495 // a roundtrip to and from the UI thread (because communication with the 495 // a roundtrip to and from the UI thread (because communication with the
496 // extension process happens on the IO thread). It's intended to be used when 496 // extension process happens on the IO thread). It's intended to be used when
497 // performance is critical (e.g. the webRequest API which can block network 497 // performance is critical (e.g. the webRequest API which can block network
498 // requests). Generally, UIThreadExtensionFunction is more appropriate and will 498 // requests). Generally, UIThreadExtensionFunction is more appropriate and will
499 // be easier to use and interface with the rest of the browser. 499 // be easier to use and interface with the rest of the browser.
500 class IOThreadExtensionFunction : public ExtensionFunction { 500 class IOThreadExtensionFunction : public ExtensionFunction {
501 public: 501 public:
502 IOThreadExtensionFunction(); 502 IOThreadExtensionFunction();
503 503
504 virtual IOThreadExtensionFunction* AsIOThreadExtensionFunction() OVERRIDE; 504 virtual IOThreadExtensionFunction* AsIOThreadExtensionFunction() override;
505 505
506 void set_ipc_sender( 506 void set_ipc_sender(
507 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender, 507 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender,
508 int routing_id) { 508 int routing_id) {
509 ipc_sender_ = ipc_sender; 509 ipc_sender_ = ipc_sender;
510 routing_id_ = routing_id; 510 routing_id_ = routing_id;
511 } 511 }
512 512
513 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender_weak() const { 513 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender_weak() const {
514 return ipc_sender_; 514 return ipc_sender_;
515 } 515 }
516 516
517 int routing_id() const { return routing_id_; } 517 int routing_id() const { return routing_id_; }
518 518
519 void set_extension_info_map(const extensions::InfoMap* extension_info_map) { 519 void set_extension_info_map(const extensions::InfoMap* extension_info_map) {
520 extension_info_map_ = extension_info_map; 520 extension_info_map_ = extension_info_map;
521 } 521 }
522 const extensions::InfoMap* extension_info_map() const { 522 const extensions::InfoMap* extension_info_map() const {
523 return extension_info_map_.get(); 523 return extension_info_map_.get();
524 } 524 }
525 525
526 protected: 526 protected:
527 friend struct content::BrowserThread::DeleteOnThread< 527 friend struct content::BrowserThread::DeleteOnThread<
528 content::BrowserThread::IO>; 528 content::BrowserThread::IO>;
529 friend class base::DeleteHelper<IOThreadExtensionFunction>; 529 friend class base::DeleteHelper<IOThreadExtensionFunction>;
530 530
531 virtual ~IOThreadExtensionFunction(); 531 virtual ~IOThreadExtensionFunction();
532 532
533 virtual void Destruct() const OVERRIDE; 533 virtual void Destruct() const override;
534 534
535 virtual void SendResponse(bool success) OVERRIDE; 535 virtual void SendResponse(bool success) override;
536 536
537 private: 537 private:
538 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender_; 538 base::WeakPtr<extensions::ExtensionMessageFilter> ipc_sender_;
539 int routing_id_; 539 int routing_id_;
540 540
541 scoped_refptr<const extensions::InfoMap> extension_info_map_; 541 scoped_refptr<const extensions::InfoMap> extension_info_map_;
542 }; 542 };
543 543
544 // Base class for an extension function that runs asynchronously *relative to 544 // Base class for an extension function that runs asynchronously *relative to
545 // the browser's UI thread*. 545 // the browser's UI thread*.
546 class AsyncExtensionFunction : public UIThreadExtensionFunction { 546 class AsyncExtensionFunction : public UIThreadExtensionFunction {
547 public: 547 public:
548 AsyncExtensionFunction(); 548 AsyncExtensionFunction();
549 549
550 protected: 550 protected:
551 virtual ~AsyncExtensionFunction(); 551 virtual ~AsyncExtensionFunction();
552 552
553 // Deprecated: Override UIThreadExtensionFunction and implement Run() instead. 553 // Deprecated: Override UIThreadExtensionFunction and implement Run() instead.
554 // 554 //
555 // AsyncExtensionFunctions implement this method. Return true to indicate that 555 // AsyncExtensionFunctions implement this method. Return true to indicate that
556 // nothing has gone wrong yet; SendResponse must be called later. Return false 556 // nothing has gone wrong yet; SendResponse must be called later. Return false
557 // to respond immediately with an error. 557 // to respond immediately with an error.
558 virtual bool RunAsync() = 0; 558 virtual bool RunAsync() = 0;
559 559
560 // ValidationFailure override to match RunAsync(). 560 // ValidationFailure override to match RunAsync().
561 static bool ValidationFailure(AsyncExtensionFunction* function); 561 static bool ValidationFailure(AsyncExtensionFunction* function);
562 562
563 private: 563 private:
564 virtual ResponseAction Run() OVERRIDE; 564 virtual ResponseAction Run() override;
565 }; 565 };
566 566
567 // A SyncExtensionFunction is an ExtensionFunction that runs synchronously 567 // A SyncExtensionFunction is an ExtensionFunction that runs synchronously
568 // *relative to the browser's UI thread*. Note that this has nothing to do with 568 // *relative to the browser's UI thread*. Note that this has nothing to do with
569 // running synchronously relative to the extension process. From the extension 569 // running synchronously relative to the extension process. From the extension
570 // process's point of view, the function is still asynchronous. 570 // process's point of view, the function is still asynchronous.
571 // 571 //
572 // This kind of function is convenient for implementing simple APIs that just 572 // This kind of function is convenient for implementing simple APIs that just
573 // need to interact with things on the browser UI thread. 573 // need to interact with things on the browser UI thread.
574 class SyncExtensionFunction : public UIThreadExtensionFunction { 574 class SyncExtensionFunction : public UIThreadExtensionFunction {
575 public: 575 public:
576 SyncExtensionFunction(); 576 SyncExtensionFunction();
577 577
578 protected: 578 protected:
579 virtual ~SyncExtensionFunction(); 579 virtual ~SyncExtensionFunction();
580 580
581 // Deprecated: Override UIThreadExtensionFunction and implement Run() instead. 581 // Deprecated: Override UIThreadExtensionFunction and implement Run() instead.
582 // 582 //
583 // SyncExtensionFunctions implement this method. Return true to respond 583 // SyncExtensionFunctions implement this method. Return true to respond
584 // immediately with success, false to respond immediately with an error. 584 // immediately with success, false to respond immediately with an error.
585 virtual bool RunSync() = 0; 585 virtual bool RunSync() = 0;
586 586
587 // ValidationFailure override to match RunSync(). 587 // ValidationFailure override to match RunSync().
588 static bool ValidationFailure(SyncExtensionFunction* function); 588 static bool ValidationFailure(SyncExtensionFunction* function);
589 589
590 private: 590 private:
591 virtual ResponseAction Run() OVERRIDE; 591 virtual ResponseAction Run() override;
592 }; 592 };
593 593
594 class SyncIOThreadExtensionFunction : public IOThreadExtensionFunction { 594 class SyncIOThreadExtensionFunction : public IOThreadExtensionFunction {
595 public: 595 public:
596 SyncIOThreadExtensionFunction(); 596 SyncIOThreadExtensionFunction();
597 597
598 protected: 598 protected:
599 virtual ~SyncIOThreadExtensionFunction(); 599 virtual ~SyncIOThreadExtensionFunction();
600 600
601 // Deprecated: Override IOThreadExtensionFunction and implement Run() instead. 601 // Deprecated: Override IOThreadExtensionFunction and implement Run() instead.
602 // 602 //
603 // SyncIOThreadExtensionFunctions implement this method. Return true to 603 // SyncIOThreadExtensionFunctions implement this method. Return true to
604 // respond immediately with success, false to respond immediately with an 604 // respond immediately with success, false to respond immediately with an
605 // error. 605 // error.
606 virtual bool RunSync() = 0; 606 virtual bool RunSync() = 0;
607 607
608 // ValidationFailure override to match RunSync(). 608 // ValidationFailure override to match RunSync().
609 static bool ValidationFailure(SyncIOThreadExtensionFunction* function); 609 static bool ValidationFailure(SyncIOThreadExtensionFunction* function);
610 610
611 private: 611 private:
612 virtual ResponseAction Run() OVERRIDE; 612 virtual ResponseAction Run() override;
613 }; 613 };
614 614
615 #endif // EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_ 615 #endif // EXTENSIONS_BROWSER_EXTENSION_FUNCTION_H_
OLDNEW
« no previous file with comments | « extensions/browser/extension_error.h ('k') | extensions/browser/extension_function.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698