Esempio n. 1
0
void ChromeClientBlackBerry::runOpenPanel(Frame*, PassRefPtr<FileChooser> chooser)
{
    SharedArray<WebString> initialFiles;
    unsigned int initialFileSize = chooser->settings().selectedFiles.size();
    if (initialFileSize > 0)
        initialFiles.reset(new WebString[initialFileSize]);
    for (unsigned i = 0; i < initialFileSize; ++i)
        initialFiles[i] = chooser->settings().selectedFiles[i];

    SharedArray<WebString> chosenFiles;
    unsigned int chosenFileSize;

    {
        PageGroupLoadDeferrer deferrer(m_webPagePrivate->m_page, true);
        TimerBase::fireTimersInNestedEventLoop();

        // FIXME: Use chooser->settings().acceptMIMETypes instead of WebString() for the second parameter.
        if (!m_webPagePrivate->m_client->chooseFilenames(chooser->settings().allowsMultipleFiles, WebString(), initialFiles, initialFileSize, chosenFiles, chosenFileSize))
            return;
    }

    Vector<String> files(chosenFileSize);
    for (unsigned i = 0; i < chosenFileSize; ++i)
        files[i] = chosenFiles[i];
    chooser->chooseFiles(files);
}
Esempio n. 2
0
void ChromeClientBlackBerry::runOpenPanel(WebCore::Frame*, WTF::PassRefPtr<WebCore::FileChooser> chooser)
{
    SharedArray<WebString> initialFiles;
    unsigned int initialFileSize = chooser->filenames().size();
    if (initialFileSize > 0)
        initialFiles.reset(new WebString[initialFileSize]);
    for (unsigned i = 0; i < initialFileSize; ++i)
        initialFiles[i] = chooser->filenames()[i];

    SharedArray<WebString> chosenFiles;
    unsigned int chosenFileSize;

    {
        PageGroupLoadDeferrer deferrer(m_webPage->d->m_page, true);
        TimerBase::fireTimersInNestedEventLoop();

        if (!m_webPage->client()->chooseFilenames(chooser->allowsMultipleFiles(), chooser->acceptTypes(), initialFiles, initialFileSize, chosenFiles, chosenFileSize))
            return;
    }

    Vector<WTF::String> files(chosenFileSize);
    for (unsigned i = 0; i < chosenFileSize; ++i)
        files[i] = chosenFiles[i];
    chooser->chooseFiles(files);
}
Esempio n. 3
0
	bool BspSceneFile::loadBspDirEntry(std::istream& bspStream, const Q3Bsp::DirEntry& entry, SharedArray<uint8_t>::Type& outData) {
		if (!bspStream.seekg(entry.offset, std::ios::beg)) {
			return false;
		}
		
		outData.reset(new uint8_t[entry.length]);
		if (!bspStream.read(reinterpret_cast<char*>(outData.get()), entry.length)) {
			return false;
		}
		return true;
	}		
Esempio n. 4
0
void ChromeClientBlackBerry::runOpenPanel(Frame*, PassRefPtr<FileChooser> chooser)
{
    SharedArray<BlackBerry::Platform::String> initialFiles;
    unsigned numberOfInitialFiles = chooser->settings().selectedFiles.size();
    if (numberOfInitialFiles > 0)
        initialFiles.reset(new BlackBerry::Platform::String[numberOfInitialFiles], numberOfInitialFiles);
    for (unsigned i = 0; i < numberOfInitialFiles; ++i)
        initialFiles[i] = chooser->settings().selectedFiles[i];

    SharedArray<BlackBerry::Platform::String> acceptMIMETypes;
    unsigned numberOfTypes = chooser->settings().acceptMIMETypes.size();
    if (numberOfTypes > 0)
        acceptMIMETypes.reset(new BlackBerry::Platform::String[numberOfTypes], numberOfTypes);
    for (unsigned i = 0; i < numberOfTypes; ++i)
        acceptMIMETypes[i] = chooser->settings().acceptMIMETypes[i];

    BlackBerry::Platform::String capture;
#if ENABLE(MEDIA_CAPTURE)
    capture = chooser->settings().capture;
#endif

    SharedArray<BlackBerry::Platform::String> chosenFiles;

    {
        PageGroupLoadDeferrer deferrer(m_webPagePrivate->m_page, true);
        TimerBase::fireTimersInNestedEventLoop();

        if (!m_webPagePrivate->m_client->chooseFilenames(chooser->settings().allowsMultipleFiles, acceptMIMETypes, initialFiles, capture, chosenFiles))
            return;
    }

    Vector<String> files(chosenFiles.length());
    for (unsigned i = 0; i < chosenFiles.length(); ++i)
        files[i] = chosenFiles[i];
    chooser->chooseFiles(files);
}
Esempio n. 5
0
void basicSample()
{
	poco_assert( UDT_use_count == 0 );  // reality check

	//  test shared_array with a built-in type
	char * cap = new char [ 100 ];
	SharedArray<char> ca ( cap );
	poco_assert( ca.get() == cap );
	poco_assert( cap == ca.get() );
	poco_assert( &ca[0] == cap );

	strcpy( ca.get(), "Hot Dog with mustard and relish" );
	poco_assert( strcmp( ca.get(), "Hot Dog with mustard and relish" ) == 0 );
	poco_assert( strcmp( cap, "Hot Dog with mustard and relish" ) == 0 );

	poco_assert( ca[0] == 'H' );
	poco_assert( ca[30] == 'h' );

	SharedArray<char> ca2 ( ca );
	SharedArray<char> ca3 ( ca2 );

	ca[0] = 'N';
	ca[4] = 'd';
	poco_assert( strcmp( ca.get(), "Not dog with mustard and relish" ) == 0 );
	poco_assert( strcmp( ca2.get(), "Not dog with mustard and relish" ) == 0 );
	poco_assert( strcmp( ca3.get(), "Not dog with mustard and relish" ) == 0 );
	ca2.reset();

	ca.reset();
	poco_assert( ca.get() == 0 );

	SharedArray<char> ca4;
	swap( ca3, ca4 );
	poco_assert( strcmp( ca4.get(), "Not dog with mustard and relish" ) == 0 );
	poco_assert( ca3.get() == 0 );

	std::set< SharedArray<char> > sca;
	sca.insert(ca4);
	poco_assert( sca.find(ca4) != sca.end() );
	poco_assert( sca.find(ca4) == sca.find( SharedArray<char>(ca4) ) );

	//  test shared_array with user defined type
	SharedArray<UDT> udta ( new UDT[3] );

	udta[0].value( 111 );
	udta[1].value( 222 );
	udta[2].value( 333 );
	SharedArray<UDT> udta2 ( udta );

	poco_assert( udta[0].value() == 111 );
	poco_assert( udta[1].value() == 222 );
	poco_assert( udta[2].value() == 333 );
	poco_assert( udta2[0].value() == 111 );
	poco_assert( udta2[1].value() == 222 );
	poco_assert( udta2[2].value() == 333 );
	udta2.reset();
	poco_assert( udta2.get() == 0 );

	poco_assert( UDT_use_count == 3 );  // reality check

	std::cout << "OK\n";

}