| OLD | NEW |
| 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 #include "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" | 5 #include "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/mac/foundation_util.h" | 8 #include "base/mac/foundation_util.h" |
| 9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
| 10 #include "base/mac/sdk_forward_declarations.h" | 10 #include "base/mac/sdk_forward_declarations.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 73 // Return a vector of non-draggable regions that fill a window of size | 73 // Return a vector of non-draggable regions that fill a window of size |
| 74 // |width| by |height|, but leave gaps where the window should be draggable. | 74 // |width| by |height|, but leave gaps where the window should be draggable. |
| 75 std::vector<gfx::Rect> CalculateNonDraggableRegions( | 75 std::vector<gfx::Rect> CalculateNonDraggableRegions( |
| 76 const std::vector<extensions::DraggableRegion>& regions, | 76 const std::vector<extensions::DraggableRegion>& regions, |
| 77 int width, | 77 int width, |
| 78 int height) { | 78 int height) { |
| 79 std::vector<gfx::Rect> result; | 79 std::vector<gfx::Rect> result; |
| 80 if (regions.empty()) { | 80 if (regions.empty()) { |
| 81 result.push_back(gfx::Rect(0, 0, width, height)); | 81 result.push_back(gfx::Rect(0, 0, width, height)); |
| 82 } else { | 82 } else { |
| 83 scoped_ptr<SkRegion> draggable( | 83 std::unique_ptr<SkRegion> draggable( |
| 84 AppWindow::RawDraggableRegionsToSkRegion(regions)); | 84 AppWindow::RawDraggableRegionsToSkRegion(regions)); |
| 85 scoped_ptr<SkRegion> non_draggable(new SkRegion); | 85 std::unique_ptr<SkRegion> non_draggable(new SkRegion); |
| 86 non_draggable->op(0, 0, width, height, SkRegion::kUnion_Op); | 86 non_draggable->op(0, 0, width, height, SkRegion::kUnion_Op); |
| 87 non_draggable->op(*draggable, SkRegion::kDifference_Op); | 87 non_draggable->op(*draggable, SkRegion::kDifference_Op); |
| 88 for (SkRegion::Iterator it(*non_draggable); !it.done(); it.next()) { | 88 for (SkRegion::Iterator it(*non_draggable); !it.done(); it.next()) { |
| 89 result.push_back(gfx::SkIRectToRect(it.rect())); | 89 result.push_back(gfx::SkIRectToRect(it.rect())); |
| 90 } | 90 } |
| 91 } | 91 } |
| 92 return result; | 92 return result; |
| 93 } | 93 } |
| 94 | 94 |
| 95 } // namespace | 95 } // namespace |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 532 | 532 |
| 533 void NativeAppWindowCocoa::UpdateWindowIcon() { | 533 void NativeAppWindowCocoa::UpdateWindowIcon() { |
| 534 // TODO(junmin): implement. | 534 // TODO(junmin): implement. |
| 535 } | 535 } |
| 536 | 536 |
| 537 void NativeAppWindowCocoa::UpdateWindowTitle() { | 537 void NativeAppWindowCocoa::UpdateWindowTitle() { |
| 538 base::string16 title = app_window_->GetTitle(); | 538 base::string16 title = app_window_->GetTitle(); |
| 539 [window() setTitle:base::SysUTF16ToNSString(title)]; | 539 [window() setTitle:base::SysUTF16ToNSString(title)]; |
| 540 } | 540 } |
| 541 | 541 |
| 542 void NativeAppWindowCocoa::UpdateShape(scoped_ptr<SkRegion> region) { | 542 void NativeAppWindowCocoa::UpdateShape(std::unique_ptr<SkRegion> region) { |
| 543 NOTIMPLEMENTED(); | 543 NOTIMPLEMENTED(); |
| 544 } | 544 } |
| 545 | 545 |
| 546 void NativeAppWindowCocoa::UpdateDraggableRegions( | 546 void NativeAppWindowCocoa::UpdateDraggableRegions( |
| 547 const std::vector<extensions::DraggableRegion>& regions) { | 547 const std::vector<extensions::DraggableRegion>& regions) { |
| 548 // Draggable region is not supported for non-frameless window. | 548 // Draggable region is not supported for non-frameless window. |
| 549 if (has_frame_) | 549 if (has_frame_) |
| 550 return; | 550 return; |
| 551 | 551 |
| 552 draggable_regions_ = regions; | 552 draggable_regions_ = regions; |
| (...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 832 } | 832 } |
| 833 | 833 |
| 834 void NativeAppWindowCocoa::UpdateRestoredBounds() { | 834 void NativeAppWindowCocoa::UpdateRestoredBounds() { |
| 835 if (IsRestored(*this)) | 835 if (IsRestored(*this)) |
| 836 restored_bounds_ = [window() frame]; | 836 restored_bounds_ = [window() frame]; |
| 837 } | 837 } |
| 838 | 838 |
| 839 void NativeAppWindowCocoa::HideWithoutMarkingHidden() { | 839 void NativeAppWindowCocoa::HideWithoutMarkingHidden() { |
| 840 [window() orderOut:window_controller_]; | 840 [window() orderOut:window_controller_]; |
| 841 } | 841 } |
| OLD | NEW |