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

Side by Side Diff: third_party/WebKit/Source/core/inspector/MainThreadDebugger.cpp

Issue 2061113002: Remove ExceptionState::throwIfNeeded Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: temp Created 4 years, 6 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
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 Google Inc. All rights reserved. 2 * Copyright (c) 2011 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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
273 if (info.Length() < 1) 273 if (info.Length() < 1)
274 return; 274 return;
275 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]); 275 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]);
276 if (selector.isEmpty()) 276 if (selector.isEmpty())
277 return; 277 return;
278 Node* node = secondArgumentAsNode(info); 278 Node* node = secondArgumentAsNode(info);
279 if (!node || !node->isContainerNode()) 279 if (!node || !node->isContainerNode())
280 return; 280 return;
281 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$", "Comman dLineAPI", info.Holder(), info.GetIsolate()); 281 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$", "Comman dLineAPI", info.Holder(), info.GetIsolate());
282 Element* element = toContainerNode(node)->querySelector(AtomicString(selecto r), exceptionState); 282 Element* element = toContainerNode(node)->querySelector(AtomicString(selecto r), exceptionState);
283 if (exceptionState.throwIfNeeded()) 283 if (exceptionState.hadException())
284 return; 284 return;
285 if (element) 285 if (element)
286 info.GetReturnValue().Set(toV8(element, info.Holder(), info.GetIsolate() )); 286 info.GetReturnValue().Set(toV8(element, info.Holder(), info.GetIsolate() ));
287 else 287 else
288 info.GetReturnValue().Set(v8::Null(info.GetIsolate())); 288 info.GetReturnValue().Set(v8::Null(info.GetIsolate()));
289 } 289 }
290 290
291 void MainThreadDebugger::querySelectorAllCallback(const v8::FunctionCallbackInfo <v8::Value>& info) 291 void MainThreadDebugger::querySelectorAllCallback(const v8::FunctionCallbackInfo <v8::Value>& info)
292 { 292 {
293 if (info.Length() < 1) 293 if (info.Length() < 1)
294 return; 294 return;
295 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]); 295 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]);
296 if (selector.isEmpty()) 296 if (selector.isEmpty())
297 return; 297 return;
298 Node* node = secondArgumentAsNode(info); 298 Node* node = secondArgumentAsNode(info);
299 if (!node || !node->isContainerNode()) 299 if (!node || !node->isContainerNode())
300 return; 300 return;
301 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$$", "Comma ndLineAPI", info.Holder(), info.GetIsolate()); 301 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$$", "Comma ndLineAPI", info.Holder(), info.GetIsolate());
302 // toV8(elementList) doesn't work here, since we need a proper Array instanc e, not NodeList. 302 // toV8(elementList) doesn't work here, since we need a proper Array instanc e, not NodeList.
303 StaticElementList* elementList = toContainerNode(node)->querySelectorAll(Ato micString(selector), exceptionState); 303 StaticElementList* elementList = toContainerNode(node)->querySelectorAll(Ato micString(selector), exceptionState);
304 if (exceptionState.throwIfNeeded() || !elementList) 304 if (exceptionState.hadException() || !elementList)
305 return; 305 return;
306 v8::Isolate* isolate = info.GetIsolate(); 306 v8::Isolate* isolate = info.GetIsolate();
307 v8::Local<v8::Context> context = isolate->GetCurrentContext(); 307 v8::Local<v8::Context> context = isolate->GetCurrentContext();
308 v8::Local<v8::Array> nodes = v8::Array::New(isolate, elementList->length()); 308 v8::Local<v8::Array> nodes = v8::Array::New(isolate, elementList->length());
309 for (size_t i = 0; i < elementList->length(); ++i) { 309 for (size_t i = 0; i < elementList->length(); ++i) {
310 Element* element = elementList->item(i); 310 Element* element = elementList->item(i);
311 if (!nodes->Set(context, i, toV8(element, info.Holder(), info.GetIsolate ())).FromMaybe(false)) 311 if (!nodes->Set(context, i, toV8(element, info.Holder(), info.GetIsolate ())).FromMaybe(false))
312 return; 312 return;
313 } 313 }
314 info.GetReturnValue().Set(nodes); 314 info.GetReturnValue().Set(nodes);
315 } 315 }
316 316
317 void MainThreadDebugger::xpathSelectorCallback(const v8::FunctionCallbackInfo<v8 ::Value>& info) 317 void MainThreadDebugger::xpathSelectorCallback(const v8::FunctionCallbackInfo<v8 ::Value>& info)
318 { 318 {
319 if (info.Length() < 1) 319 if (info.Length() < 1)
320 return; 320 return;
321 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]); 321 String selector = toCoreStringWithUndefinedOrNullCheck(info[0]);
322 if (selector.isEmpty()) 322 if (selector.isEmpty())
323 return; 323 return;
324 Node* node = secondArgumentAsNode(info); 324 Node* node = secondArgumentAsNode(info);
325 if (!node || !node->isContainerNode()) 325 if (!node || !node->isContainerNode())
326 return; 326 return;
327 327
328 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$x", "Comma ndLineAPI", info.Holder(), info.GetIsolate()); 328 ExceptionState exceptionState(ExceptionState::ExecutionContext, "$x", "Comma ndLineAPI", info.Holder(), info.GetIsolate());
329 XPathResult* result = XPathEvaluator::create()->evaluate(selector, node, nul lptr, XPathResult::ANY_TYPE, ScriptValue(), exceptionState); 329 XPathResult* result = XPathEvaluator::create()->evaluate(selector, node, nul lptr, XPathResult::ANY_TYPE, ScriptValue(), exceptionState);
330 if (exceptionState.throwIfNeeded() || !result) 330 if (exceptionState.hadException() || !result)
331 return; 331 return;
332 if (result->resultType() == XPathResult::NUMBER_TYPE) { 332 if (result->resultType() == XPathResult::NUMBER_TYPE) {
333 info.GetReturnValue().Set(toV8(result->numberValue(exceptionState), info .Holder(), info.GetIsolate())); 333 info.GetReturnValue().Set(toV8(result->numberValue(exceptionState), info .Holder(), info.GetIsolate()));
334 } else if (result->resultType() == XPathResult::STRING_TYPE) { 334 } else if (result->resultType() == XPathResult::STRING_TYPE) {
335 info.GetReturnValue().Set(toV8(result->stringValue(exceptionState), info .Holder(), info.GetIsolate())); 335 info.GetReturnValue().Set(toV8(result->stringValue(exceptionState), info .Holder(), info.GetIsolate()));
336 } else if (result->resultType() == XPathResult::BOOLEAN_TYPE) { 336 } else if (result->resultType() == XPathResult::BOOLEAN_TYPE) {
337 info.GetReturnValue().Set(toV8(result->booleanValue(exceptionState), inf o.Holder(), info.GetIsolate())); 337 info.GetReturnValue().Set(toV8(result->booleanValue(exceptionState), inf o.Holder(), info.GetIsolate()));
338 } else { 338 } else {
339 v8::Isolate* isolate = info.GetIsolate(); 339 v8::Isolate* isolate = info.GetIsolate();
340 v8::Local<v8::Context> context = isolate->GetCurrentContext(); 340 v8::Local<v8::Context> context = isolate->GetCurrentContext();
341 v8::Local<v8::Array> nodes = v8::Array::New(isolate); 341 v8::Local<v8::Array> nodes = v8::Array::New(isolate);
342 size_t index = 0; 342 size_t index = 0;
343 while (Node* node = result->iterateNext(exceptionState)) { 343 while (Node* node = result->iterateNext(exceptionState)) {
344 if (exceptionState.throwIfNeeded()) 344 if (exceptionState.hadException())
345 return; 345 return;
346 if (!nodes->Set(context, index++, toV8(node, info.Holder(), info.Get Isolate())).FromMaybe(false)) 346 if (!nodes->Set(context, index++, toV8(node, info.Holder(), info.Get Isolate())).FromMaybe(false))
347 return; 347 return;
348 } 348 }
349 info.GetReturnValue().Set(nodes); 349 info.GetReturnValue().Set(nodes);
350 } 350 }
351 exceptionState.throwIfNeeded();
352 } 351 }
353 352
354 } // namespace blink 353 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698