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();
}
Пример #3
0
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());
}
Пример #10
0
 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());
 }
Пример #11
0
 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());
 }
Пример #12
0
 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>();
 }
Пример #13
0
 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>();
 }
Пример #14
0
 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());
 }