OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved. |
3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) |
4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> | 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> |
7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. | 8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. |
9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
10 * | 10 * |
(...skipping 2355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2366 { | 2366 { |
2367 HitRegionOptions passOptions; | 2367 HitRegionOptions passOptions; |
2368 | 2368 |
2369 options.getWithUndefinedOrNullCheck("id", passOptions.id); | 2369 options.getWithUndefinedOrNullCheck("id", passOptions.id); |
2370 options.getWithUndefinedOrNullCheck("control", passOptions.control); | 2370 options.getWithUndefinedOrNullCheck("control", passOptions.control); |
2371 if (passOptions.id.isEmpty() && !passOptions.control) { | 2371 if (passOptions.id.isEmpty() && !passOptions.control) { |
2372 exceptionState.throwDOMException(NotSupportedError, "Both id and control are null."); | 2372 exceptionState.throwDOMException(NotSupportedError, "Both id and control are null."); |
2373 return; | 2373 return; |
2374 } | 2374 } |
2375 | 2375 |
2376 RefPtr<Path2D> path2d; | |
2377 options.getWithUndefinedOrNullCheck("path", path2d); | |
2378 Path specifiedPath = path2d ? path2d->path() : m_path; | |
Justin Novosad
2014/07/04 15:02:44
specififiedPath is not necessarily a "specified pa
zino
2014/07/05 03:01:22
Done.
| |
2379 | |
2376 FloatRect clipBounds; | 2380 FloatRect clipBounds; |
2377 GraphicsContext* context = drawingContext(); | 2381 GraphicsContext* context = drawingContext(); |
2378 | 2382 |
2379 if (m_path.isEmpty() || !context || !state().m_invertibleCTM | 2383 if (specifiedPath.isEmpty() || !context || !state().m_invertibleCTM |
2380 || !context->getTransformedClipBounds(&clipBounds)) { | 2384 || !context->getTransformedClipBounds(&clipBounds)) { |
2381 exceptionState.throwDOMException(NotSupportedError, "The specified path has no pixels."); | 2385 exceptionState.throwDOMException(NotSupportedError, "The specified path has no pixels."); |
2382 return; | 2386 return; |
2383 } | 2387 } |
2384 | 2388 |
2385 Path specifiedPath = m_path; | |
2386 specifiedPath.transform(state().m_transform); | 2389 specifiedPath.transform(state().m_transform); |
2387 | 2390 |
2388 if (context->isClipMode()) { | 2391 if (context->isClipMode()) { |
2389 // FIXME: The hit regions should take clipping region into account. | 2392 // FIXME: The hit regions should take clipping region into account. |
2390 // However, we have no way to get the region from canvas state stack by now. | 2393 // However, we have no way to get the region from canvas state stack by now. |
2391 // See http://crbug.com/387057 | 2394 // See http://crbug.com/387057 |
2392 exceptionState.throwDOMException(NotSupportedError, "The specified path has no pixels."); | 2395 exceptionState.throwDOMException(NotSupportedError, "The specified path has no pixels."); |
2393 return; | 2396 return; |
2394 } | 2397 } |
2395 | 2398 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2441 | 2444 |
2442 unsigned CanvasRenderingContext2D::hitRegionsCount() const | 2445 unsigned CanvasRenderingContext2D::hitRegionsCount() const |
2443 { | 2446 { |
2444 if (m_hitRegionManager) | 2447 if (m_hitRegionManager) |
2445 return m_hitRegionManager->getHitRegionsCount(); | 2448 return m_hitRegionManager->getHitRegionsCount(); |
2446 | 2449 |
2447 return 0; | 2450 return 0; |
2448 } | 2451 } |
2449 | 2452 |
2450 } // namespace WebCore | 2453 } // namespace WebCore |
OLD | NEW |