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

Side by Side Diff: content/renderer/render_widget.cc

Issue 24012002: Move Range code to gfx. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: d Created 7 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/renderer/text_input_client_observer.h » ('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 (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 #include "content/renderer/render_widget.h" 5 #include "content/renderer/render_widget.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 1825 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 // process to cancel the input method's ongoing composition session, to make 1836 // process to cancel the input method's ongoing composition session, to make
1837 // sure we are in a consistent state. 1837 // sure we are in a consistent state.
1838 Send(new ViewHostMsg_ImeCancelComposition(routing_id())); 1838 Send(new ViewHostMsg_ImeCancelComposition(routing_id()));
1839 } 1839 }
1840 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA) 1840 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA)
1841 UpdateCompositionInfo(true); 1841 UpdateCompositionInfo(true);
1842 #endif 1842 #endif
1843 } 1843 }
1844 1844
1845 void RenderWidget::OnImeConfirmComposition(const string16& text, 1845 void RenderWidget::OnImeConfirmComposition(const string16& text,
1846 const ui::Range& replacement_range, 1846 const gfx::Range& replacement_range,
1847 bool keep_selection) { 1847 bool keep_selection) {
1848 if (!ShouldHandleImeEvent()) 1848 if (!ShouldHandleImeEvent())
1849 return; 1849 return;
1850 ImeEventGuard guard(this); 1850 ImeEventGuard guard(this);
1851 handling_input_event_ = true; 1851 handling_input_event_ = true;
1852 if (text.length()) 1852 if (text.length())
1853 webwidget_->confirmComposition(text); 1853 webwidget_->confirmComposition(text);
1854 else if (keep_selection) 1854 else if (keep_selection)
1855 webwidget_->confirmComposition(WebWidget::KeepSelection); 1855 webwidget_->confirmComposition(WebWidget::KeepSelection);
1856 else 1856 else
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after
2310 } 2310 }
2311 2311
2312 ui::TextInputType RenderWidget::GetTextInputType() { 2312 ui::TextInputType RenderWidget::GetTextInputType() {
2313 if (webwidget_) 2313 if (webwidget_)
2314 return WebKitToUiTextInputType(webwidget_->textInputInfo().type); 2314 return WebKitToUiTextInputType(webwidget_->textInputInfo().type);
2315 return ui::TEXT_INPUT_TYPE_NONE; 2315 return ui::TEXT_INPUT_TYPE_NONE;
2316 } 2316 }
2317 2317
2318 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA) 2318 #if defined(OS_MACOSX) || defined(OS_WIN) || defined(USE_AURA)
2319 void RenderWidget::UpdateCompositionInfo(bool should_update_range) { 2319 void RenderWidget::UpdateCompositionInfo(bool should_update_range) {
2320 ui::Range range = ui::Range(); 2320 gfx::Range range = gfx::Range();
2321 if (should_update_range) { 2321 if (should_update_range) {
2322 GetCompositionRange(&range); 2322 GetCompositionRange(&range);
2323 } else { 2323 } else {
2324 range = composition_range_; 2324 range = composition_range_;
2325 } 2325 }
2326 std::vector<gfx::Rect> character_bounds; 2326 std::vector<gfx::Rect> character_bounds;
2327 GetCompositionCharacterBounds(&character_bounds); 2327 GetCompositionCharacterBounds(&character_bounds);
2328 2328
2329 if (!ShouldUpdateCompositionInfo(range, character_bounds)) 2329 if (!ShouldUpdateCompositionInfo(range, character_bounds))
2330 return; 2330 return;
2331 composition_character_bounds_ = character_bounds; 2331 composition_character_bounds_ = character_bounds;
2332 composition_range_ = range; 2332 composition_range_ = range;
2333 Send(new ViewHostMsg_ImeCompositionRangeChanged( 2333 Send(new ViewHostMsg_ImeCompositionRangeChanged(
2334 routing_id(), composition_range_, composition_character_bounds_)); 2334 routing_id(), composition_range_, composition_character_bounds_));
2335 } 2335 }
2336 2336
2337 void RenderWidget::GetCompositionCharacterBounds( 2337 void RenderWidget::GetCompositionCharacterBounds(
2338 std::vector<gfx::Rect>* bounds) { 2338 std::vector<gfx::Rect>* bounds) {
2339 DCHECK(bounds); 2339 DCHECK(bounds);
2340 bounds->clear(); 2340 bounds->clear();
2341 } 2341 }
2342 2342
2343 void RenderWidget::GetCompositionRange(ui::Range* range) { 2343 void RenderWidget::GetCompositionRange(gfx::Range* range) {
2344 size_t location, length; 2344 size_t location, length;
2345 if (webwidget_->compositionRange(&location, &length)) { 2345 if (webwidget_->compositionRange(&location, &length)) {
2346 range->set_start(location); 2346 range->set_start(location);
2347 range->set_end(location + length); 2347 range->set_end(location + length);
2348 } else if (webwidget_->caretOrSelectionRange(&location, &length)) { 2348 } else if (webwidget_->caretOrSelectionRange(&location, &length)) {
2349 range->set_start(location); 2349 range->set_start(location);
2350 range->set_end(location + length); 2350 range->set_end(location + length);
2351 } else { 2351 } else {
2352 *range = ui::Range::InvalidRange(); 2352 *range = gfx::Range::InvalidRange();
2353 } 2353 }
2354 } 2354 }
2355 2355
2356 bool RenderWidget::ShouldUpdateCompositionInfo( 2356 bool RenderWidget::ShouldUpdateCompositionInfo(
2357 const ui::Range& range, 2357 const gfx::Range& range,
2358 const std::vector<gfx::Rect>& bounds) { 2358 const std::vector<gfx::Rect>& bounds) {
2359 if (composition_range_ != range) 2359 if (composition_range_ != range)
2360 return true; 2360 return true;
2361 if (bounds.size() != composition_character_bounds_.size()) 2361 if (bounds.size() != composition_character_bounds_.size())
2362 return true; 2362 return true;
2363 for (size_t i = 0; i < bounds.size(); ++i) { 2363 for (size_t i = 0; i < bounds.size(); ++i) {
2364 if (bounds[i] != composition_character_bounds_[i]) 2364 if (bounds[i] != composition_character_bounds_[i])
2365 return true; 2365 return true;
2366 } 2366 }
2367 return false; 2367 return false;
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
2525 2525
2526 if (!context->InitializeWithDefaultBufferSizes( 2526 if (!context->InitializeWithDefaultBufferSizes(
2527 attributes, 2527 attributes,
2528 false /* bind generates resources */, 2528 false /* bind generates resources */,
2529 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) ) 2529 CAUSE_FOR_GPU_LAUNCH_WEBGRAPHICSCONTEXT3DCOMMANDBUFFERIMPL_INITIALIZE) )
2530 return scoped_ptr<WebGraphicsContext3DCommandBufferImpl>(); 2530 return scoped_ptr<WebGraphicsContext3DCommandBufferImpl>();
2531 return context.Pass(); 2531 return context.Pass();
2532 } 2532 }
2533 2533
2534 } // namespace content 2534 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_widget.h ('k') | content/renderer/text_input_client_observer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698