OLD | NEW |
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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 #include "core/editing/TextAffinity.h" | 113 #include "core/editing/TextAffinity.h" |
114 #include "core/editing/iterators/TextIterator.h" | 114 #include "core/editing/iterators/TextIterator.h" |
115 #include "core/editing/serializers/Serialization.h" | 115 #include "core/editing/serializers/Serialization.h" |
116 #include "core/editing/spellcheck/SpellChecker.h" | 116 #include "core/editing/spellcheck/SpellChecker.h" |
117 #include "core/frame/FrameHost.h" | 117 #include "core/frame/FrameHost.h" |
118 #include "core/frame/FrameView.h" | 118 #include "core/frame/FrameView.h" |
119 #include "core/frame/LocalDOMWindow.h" | 119 #include "core/frame/LocalDOMWindow.h" |
120 #include "core/frame/PageScaleConstraintsSet.h" | 120 #include "core/frame/PageScaleConstraintsSet.h" |
121 #include "core/frame/RemoteFrame.h" | 121 #include "core/frame/RemoteFrame.h" |
122 #include "core/frame/Settings.h" | 122 #include "core/frame/Settings.h" |
| 123 #include "core/frame/SmartClip.h" |
123 #include "core/frame/UseCounter.h" | 124 #include "core/frame/UseCounter.h" |
124 #include "core/frame/VisualViewport.h" | 125 #include "core/frame/VisualViewport.h" |
125 #include "core/html/HTMLAnchorElement.h" | 126 #include "core/html/HTMLAnchorElement.h" |
126 #include "core/html/HTMLCollection.h" | 127 #include "core/html/HTMLCollection.h" |
127 #include "core/html/HTMLFormElement.h" | 128 #include "core/html/HTMLFormElement.h" |
128 #include "core/html/HTMLFrameElementBase.h" | 129 #include "core/html/HTMLFrameElementBase.h" |
129 #include "core/html/HTMLFrameOwnerElement.h" | 130 #include "core/html/HTMLFrameOwnerElement.h" |
130 #include "core/html/HTMLHeadElement.h" | 131 #include "core/html/HTMLHeadElement.h" |
131 #include "core/html/HTMLImageElement.h" | 132 #include "core/html/HTMLImageElement.h" |
132 #include "core/html/HTMLInputElement.h" | 133 #include "core/html/HTMLInputElement.h" |
(...skipping 2243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2376 return frame() | 2377 return frame() |
2377 ->frameScheduler() | 2378 ->frameScheduler() |
2378 ->unthrottledTaskRunner() | 2379 ->unthrottledTaskRunner() |
2379 ->toSingleThreadTaskRunner(); | 2380 ->toSingleThreadTaskRunner(); |
2380 } | 2381 } |
2381 | 2382 |
2382 WebInputMethodControllerImpl* WebLocalFrameImpl::inputMethodController() const { | 2383 WebInputMethodControllerImpl* WebLocalFrameImpl::inputMethodController() const { |
2383 return m_inputMethodController.get(); | 2384 return m_inputMethodController.get(); |
2384 } | 2385 } |
2385 | 2386 |
| 2387 void WebLocalFrameImpl::extractSmartClipData(WebRect rectInViewport, |
| 2388 WebString& clipText, |
| 2389 WebString& clipHtml) { |
| 2390 SmartClipData clipData = SmartClip(frame()).dataForRect(rectInViewport); |
| 2391 clipText = clipData.clipData(); |
| 2392 |
| 2393 WebPoint startPoint(rectInViewport.x, rectInViewport.y); |
| 2394 WebPoint endPoint(rectInViewport.x + rectInViewport.width, |
| 2395 rectInViewport.y + rectInViewport.height); |
| 2396 VisiblePosition startVisiblePosition = |
| 2397 visiblePositionForViewportPoint(startPoint); |
| 2398 VisiblePosition endVisiblePosition = |
| 2399 visiblePositionForViewportPoint(endPoint); |
| 2400 |
| 2401 Position startPosition = startVisiblePosition.deepEquivalent(); |
| 2402 Position endPosition = endVisiblePosition.deepEquivalent(); |
| 2403 |
| 2404 // document() will return null if -webkit-user-select is set to none. |
| 2405 if (!startPosition.document() || !endPosition.document()) |
| 2406 return; |
| 2407 |
| 2408 if (startPosition.compareTo(endPosition) <= 0) { |
| 2409 clipHtml = |
| 2410 createMarkup(startPosition, endPosition, AnnotateForInterchange, |
| 2411 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs); |
| 2412 } else { |
| 2413 clipHtml = |
| 2414 createMarkup(endPosition, startPosition, AnnotateForInterchange, |
| 2415 ConvertBlocksToInlines::NotConvert, ResolveNonLocalURLs); |
| 2416 } |
| 2417 } |
| 2418 |
2386 } // namespace blink | 2419 } // namespace blink |
OLD | NEW |