New issue
Advanced search Search tips

Issue 673090 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Improve error exception messages for cross-origin interceptors

Project Member Reported by dcheng@chromium.org, Dec 10 2016

Issue description

Since we have the property name (and interface name), we can easily plumb this through.

Unfortunately, since the property name can be anything (including unicode characters), we can't just pass this through as a const char*. To avoid potentially expensive (and unneeded conversions), the plan is to:

1. Remove deprecated ExceptionState constructors to reduce the amount of work later.
2. Plumb things to ExceptionMessages consistently as StringView (where needed) or const char*.
3. Change ExceptionState to take propertyName as a StringView.
 

Comment 1 by dcheng@chromium.org, Dec 10 2016

Alternatively, we can sidestep this issue and just always force conversion of the property name to utf8. I'm not sure how efficient toCoreAtomicString() is, since it looks like it convert the input string to an external string?
Project Member

Comment 2 by bugdroid1@chromium.org, Dec 10 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8ca234a6e47d326f9b4513fe93b86ff7afd162e0

commit 8ca234a6e47d326f9b4513fe93b86ff7afd162e0
Author: dcheng <dcheng@chromium.org>
Date: Sat Dec 10 18:18:36 2016

Remove deprecated ExceptionState constructors.

BUG=673090

Review-Url: https://codereview.chromium.org/2566823002
Cr-Commit-Position: refs/heads/master@{#437773}

[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/ExceptionState.h
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/PrivateScriptRunner.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/ScriptCustomElementDefinition.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/V0CustomElementConstructorBuilder.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/V8DOMWrapper.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8CSSStyleDeclarationCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8CustomEventCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8DevToolsHostCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8DocumentCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8MessageEventCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8MutationObserverCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8WindowCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/core/v8/custom/V8XMLHttpRequestCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/modules/v8/V8ServiceWorkerMessageEventInternal.h
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/modules/v8/custom/V8DeviceMotionEventCustom.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/templates/attributes.cpp.tmpl
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/templates/interface.cpp.tmpl
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterface.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/tests/results/core/V8TestInterfaceCheckSecurity.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/bindings/tests/results/core/V8TestObject.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp
[modify] https://crrev.com/8ca234a6e47d326f9b4513fe93b86ff7afd162e0/third_party/WebKit/Source/modules/permissions/Permissions.cpp

You started fixing this bug over two years ago. Are you still working on it? You can update the status to "archived", "wontfix", or "closed". You can remove yourself as owner and change status to "untriaged", but if this is still a real bug, please do not sit on it.

Sign in to add a comment