JSValue JSC_HOST_CALL jsInspectorFrontendHostPrototypeFunctionMoveWindowBy(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.inherits(&JSInspectorFrontendHost::s_info)) return throwError(exec, TypeError); JSInspectorFrontendHost* castedThisObj = static_cast<JSInspectorFrontendHost*>(asObject(thisValue)); InspectorFrontendHost* imp = static_cast<InspectorFrontendHost*>(castedThisObj->impl()); float x = args.at(0).toFloat(exec); float y = args.at(1).toFloat(exec); imp->moveWindowBy(x, y); return jsUndefined(); }
v8::Handle<v8::Value> V8InspectorFrontendHost::showContextMenuCallback(const v8::Arguments& args) { if (args.Length() < 2) return v8::Undefined(); v8::Local<v8::Object> eventWrapper = v8::Local<v8::Object>::Cast(args[0]); if (!V8MouseEvent::info.equals(V8DOMWrapper::domWrapperType(eventWrapper))) return v8::Undefined(); Event* event = V8Event::toNative(eventWrapper); if (!args[1]->IsArray()) return v8::Undefined(); v8::Local<v8::Array> array = v8::Local<v8::Array>::Cast(args[1]); Vector<ContextMenuItem*> items; for (size_t i = 0; i < array->Length(); ++i) { v8::Local<v8::Object> item = v8::Local<v8::Object>::Cast(array->Get(v8::Integer::New(i))); v8::Local<v8::Value> type = item->Get(v8::String::New("type")); v8::Local<v8::Value> id = item->Get(v8::String::New("id")); v8::Local<v8::Value> label = item->Get(v8::String::New("label")); v8::Local<v8::Value> enabled = item->Get(v8::String::New("enabled")); v8::Local<v8::Value> checked = item->Get(v8::String::New("checked")); if (!type->IsString()) continue; String typeString = toWebCoreStringWithNullCheck(type); if (typeString == "separator") { items.append(new ContextMenuItem(SeparatorType, ContextMenuItemCustomTagNoAction, String())); } else { ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMenuItemBaseCustomTag + id->ToInt32()->Value()); ContextMenuItem* menuItem = new ContextMenuItem((typeString == "checkbox" ? CheckableActionType : ActionType), typedId, toWebCoreStringWithNullCheck(label)); if (checked->IsBoolean()) menuItem->setChecked(checked->ToBoolean()->Value()); if (enabled->IsBoolean()) menuItem->setEnabled(enabled->ToBoolean()->Value()); items.append(menuItem); } } InspectorFrontendHost* frontendHost = V8InspectorFrontendHost::toNative(args.Holder()); frontendHost->showContextMenu(event, items); return v8::Undefined(); }
void InspectorFrontendHostFileSystem::upgradeDraggedFileSystemPermissions(InspectorFrontendHost& host, DOMFileSystem* domFileSystem) { RefPtr<JSONObject> message = JSONObject::create(); message->setNumber("id", 0); message->setString("method", "upgradeDraggedFileSystemPermissions"); RefPtr<JSONArray> params = JSONArray::create(); message->setArray("params", params); params->pushString(domFileSystem->rootURL().string()); host.sendMessageToEmbedder(message->toJSONString()); }
void V8InspectorFrontendHost::showContextMenuMethodCustom(const v8::FunctionCallbackInfo<v8::Value>& info) { if (info.Length() < 2) return; v8::Local<v8::Object> eventWrapper = v8::Local<v8::Object>::Cast(info[0]); if (!V8MouseEvent::wrapperTypeInfo.equals(toWrapperTypeInfo(eventWrapper))) return; Event* event = V8Event::toNative(eventWrapper); if (!info[1]->IsArray()) return; v8::Local<v8::Array> array = v8::Local<v8::Array>::Cast(info[1]); ContextMenu menu; if (!populateContextMenuItems(array, menu, info.GetIsolate())) return; InspectorFrontendHost* frontendHost = V8InspectorFrontendHost::toNative(info.Holder()); Vector<ContextMenuItem> items = menu.items(); frontendHost->showContextMenu(event, items); }
v8::Handle<v8::Value> V8InspectorFrontendHost::showContextMenuMethodCustom(const v8::Arguments& args) { if (args.Length() < 2) return v8::Undefined(); v8::Local<v8::Object> eventWrapper = v8::Local<v8::Object>::Cast(args[0]); if (!V8MouseEvent::info.equals(toWrapperTypeInfo(eventWrapper))) return v8::Undefined(); Event* event = V8Event::toNative(eventWrapper); if (!args[1]->IsArray()) return v8::Undefined(); v8::Local<v8::Array> array = v8::Local<v8::Array>::Cast(args[1]); ContextMenu menu; populateContextMenuItems(array, menu); InspectorFrontendHost* frontendHost = V8InspectorFrontendHost::toNative(args.Holder()); Vector<ContextMenuItem> items = menu.items(); frontendHost->showContextMenu(event, items); return v8::Undefined(); }
static v8::Handle<v8::Value> bringToFrontCallback(const v8::Arguments& args) { InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); imp->bringToFront(); return v8Undefined(); }
static v8::Handle<v8::Value> canInspectWorkersCallback(const v8::Arguments& args) { InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8Boolean(imp->canInspectWorkers(), args.GetIsolate()); }
static v8::Handle<v8::Value> hiddenPanelsCallback(const v8::Arguments& args) { InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8String(imp->hiddenPanels(), args.GetIsolate()); }
static v8::Handle<v8::Value> localizedStringsURLCallback(const v8::Arguments& args) { InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8String(imp->localizedStringsURL(), args.GetIsolate()); }
static v8::Handle<v8::Value> hiddenPanelsCallback(const v8::Arguments& args) { INC_STATS("DOM.InspectorFrontendHost.hiddenPanels"); InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8String(imp->hiddenPanels()); }
static v8::Handle<v8::Value> localizedStringsURLCallback(const v8::Arguments& args) { INC_STATS("DOM.InspectorFrontendHost.localizedStringsURL"); InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8String(imp->localizedStringsURL()); }
static v8::Handle<v8::Value> windowUnloadingCallback(const v8::Arguments& args) { INC_STATS("DOM.InspectorFrontendHost.windowUnloading"); InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); imp->windowUnloading(); return v8::Handle<v8::Value>(); }
static v8::Handle<v8::Value> closeWindowCallback(const v8::Arguments& args) { INC_STATS("DOM.InspectorFrontendHost.closeWindow"); InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); imp->closeWindow(); return v8::Handle<v8::Value>(); }
static v8::Handle<v8::Value> platformCallback(const v8::Arguments& args) { INC_STATS("DOM.InspectorFrontendHost.platform"); InspectorFrontendHost* imp = V8InspectorFrontendHost::toNative(args.Holder()); return v8String(imp->platform()); }