⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Apr 19, 2002:

3:09 PM Changeset in webkit [1053] by kocienda
  • 21 edits
    2 adds in trunk

2002-04-19 Kenneth Kocienda <kocienda@apple.com>

WebFoundation:

Changes to support submission of forms using HTTP POST.

These changes focus on adding the form data to a post request.

  • CacheLoader.subproj/IFHTTPURLProtocolHandler.m: (-[IFHTTPURLProtocolHandler addRequestMessageBody:]):
  • ChangeLog:
  • WebFoundation.pbproj/project.pbxproj:

WebCore:

Changes to support submission of forms using HTTP POST.

These changes move us over to using the new WebKit interface for creating
WebDataSource instances, one that passes a handle rather than just a URL,
enabling the specific request method to be communicated to WebFoundation.
This fixes:

Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)

Fixed handling of password fields:

Radar 2903605 (WebCore form processing drops out password input data)

Added some hacks to get form <input type=image ...> working correctly:

Radar 2907198 (Forms not getting submitted correctly when <input type=image>)

  • khtml/rendering/render_form.cpp: (RenderImageButton::RenderImageButton), (RenderImageButton::~RenderImageButton), (RenderImageButton::printObject):
  • khtml/rendering/render_form.h:
  • kwq/KWQKHTMLPart.mm: (KHTMLPart::requestFrame), (KHTMLPart::submitForm), (KHTMLPart::khtmlMouseReleaseEvent):
  • kwq/KWQNSTextField.mm: (-[KWQNSTextField setPasswordMode:]), (-[KWQNSTextField textDidChange:]), (-[KWQNSTextField stringValue]):
  • kwq/Makefile.am:
  • kwq/KWQInvisibleButton.h: Added
  • kwq/KWQInvisibleButton.mm: Added

WebKit:

Changes to support submission of forms using HTTP POST.

These changes move us over to using the new WebKit interface for creating
WebDataSource instances, one that passes a handle rather than just a URL,
enabling the specific request method to be communicated to WebFoundation.
This fixes:

Radar 2903602 (IFWebDataSource API must passes attributes and flags to IFURLHandle)

  • WebKit.pbproj/project.pbxproj:
  • WebView.subproj/IFWebDataSource.h:
  • WebView.subproj/IFWebDataSource.mm: (IFWebDataSourceMake), (-[IFWebDataSource initWithURL:]), (-[IFWebDataSource initWithHandle:]):
  • WebView.subproj/IFWebDataSourcePrivate.h:
  • WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSource _startLoading:]):
9:57 AM Changeset in webkit [1052] by rjw
  • 6 edits in trunk/WebKit

Updated comments to reflect new API.

8:45 AM Changeset in webkit [1051] by darin
  • 6 edits in trunk/WebKit
  • Plugins.subproj/IFPluginView.h: Re-add the attributes and values arrays, since they need to live the life of the plugin.
  • Plugins.subproj/IFPluginView.mm: (newCString): New function to make a C++ new-allocated C string from an NSString. (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Move code to allocate the arrays back here. (-[IFPluginView dealloc]): Deallocate the arrays and their contents. (-[IFPluginView start]): Simplify now that it does no work.

Apr 18, 2002:

8:18 PM Changeset in webkit [1050] by cblu
  • 6 edits in trunk/WebKit

2002-04-18 Chris Blumenberg <cblu@apple.com>

Made stop and start work better. Fixed a bug darin made.

  • Plugins.subproj/IFPluginView.h:
  • Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView setWindow]), (-[IFPluginView start]), (-[IFPluginView stop]):
8:07 PM Changeset in webkit [1049] by rjw
  • 7 edits in trunk/WebKit

Fixed typo.

8:02 PM Changeset in webkit [1048] by rjw
  • 12 edits
    2 adds in trunk/WebKit

New API for content policy.

4:01 PM Changeset in webkit [1047] by darin
  • 7 edits in trunk

Oops. Take out -Wstrict-prototypes, put back -Wmissing-prototypes.

3:54 PM Changeset in webkit [1046] by darin
  • 7 edits in trunk

Take out -Wmissing-prototypes
because system headers are triggering it when we don't have
precompiled headers on.

3:38 PM Changeset in webkit [1045] by darin
  • 98 edits in trunk
  • Makefile.am: Pass the -f flag to ln so it doesn't fail when there's already a link there.
  • configure.in: Use gcc3 and g++3 so we always get gcc 3.0, no matter how the system is configured. Besides the fact that gcc 3.0 includes more in -Wall, turned on the following additional warnings that were not on before:

-W
-Wbad-function-cast
-Wformat-security
-Wmissing-format-attribute
-Wstrict-prototypes
-Wwrite-strings

Also removed the -fno-coalesce-static-vtables flag for C++
and removed explicit mention of C++ warnings that are part of
-Wall in gcc 3.0 at least.

  • Tests/harness.c: (main): Const string fix.
  • Tests/kde/kurl-test.cpp: (testURL): Std namespace and const string fix.
  • Tests/libiftest/IFTestDirectory.c: (IFSetUpTestDirectory): Const string fix.
  • Tests/libiftest/IFTestDirectory.h: Const string fix.
  • Tests/qt/qarray-test.cpp:
  • Tests/qt/qbuffer-test.cpp:
  • Tests/qt/qchar-test.cpp:
  • Tests/qt/qcstring-test.cpp:
  • Tests/qt/qdate-test.cpp:
  • Tests/qt/qdatetime-test.cpp:
  • Tests/qt/qdict-test.cpp:
  • Tests/qt/qdir-test.cpp:
  • Tests/qt/qfile-test.cpp:
  • Tests/qt/qlist-test.cpp:
  • Tests/qt/qmap-test.cpp:
  • Tests/qt/qpoint-test.cpp:
  • Tests/qt/qptrdict-test.cpp:
  • Tests/qt/qrect-test.cpp:
  • Tests/qt/qregexp-test.cpp:
  • Tests/qt/qsize-test.cpp:
  • Tests/qt/qsortedlist-test.cpp:
  • Tests/qt/qstack-test.cpp:
  • Tests/qt/qstring-test.cpp:
  • Tests/qt/qstringlist-test.cpp:
  • Tests/qt/qtime-test.cpp:
  • Tests/qt/qvaluelist-test.cpp:
  • Tests/qt/qvector-test.cpp: Add "using namespace std" to each test as a simple std namespace fix.

WebFoundation:

Reviewed by Maciej

Fixes for compiling with gcc3 and more warnings.

  • WebFoundation.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details).
  • CacheLoader.subproj/IFURLHandle.m: (-[IFURLHandle percentComplete]): Rearrange code to avoid a cast to (float) that gcc3 didn't like.
  • Database.subproj/IFNDBMDatabase.m: (-[IFNDBMDatabase objectForKey:]): Mark some variables volatile to make gcc3 happy about their values and the use of longjmp. Good catch on the compiler's part.
  • Database.subproj/IFURLFileDatabase.m: Work around bug 2905545 so we can have -W on for all the rest of WebFoundation. (URLFileReaderInit): Mark this as (void) so it's not a non-prototyped function. (-[IFURLFileReader initWithPath:]): Don't assign to self so gcc3 is not unhappy about the use of it with longjmp. (-[IFURLFileDatabase objectForKey:]): Mark some variables volatile to make gcc3 happy about their values and the use of longjmp.
  • Misc.subproj/IFNSObjectExtensions.m: (-[NSObject performBooleanSelector:]), (-[NSObject performBooleanSelector:withObject:]): Do a new implementation that does't make the compiler unhappy about type casts.
  • Misc.subproj/IFNSThreadExtensions.m: Work around bug 2905545 so we can have -W on for all the rest of WebFoundation. (InitJoinableThreads): Mark this as (void) so it's not a non-prototyped function.

JavaScriptCore:

Reviewed by Maciej

  • JavaScriptCore.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details).

WebCore:

Fixes for compiling with gcc3 and more warnings.

  • khtml/html/.cvsignore: Add kentities.c; I could have sworn I did this already.
  • khtml/html/Makefile.am: Remove erroneous duplicate definition of CLEAN_FILES.
  • libwebcore.exp:
  • libwebcoretests.exp: Rebuilt these lists from scratch. Almost everything in here is different since the C++ name mangling rules changed.
  • khtml/css/cssparser.cpp:
  • khtml/misc/htmlhashes.cpp: Disable inlining in part of this file as a workaround for Radar 2905890.
  • kwq/KWQApplication.mm: (QDesktopWidget::screenGeometry): Add casts to int needed to make gcc3 happy.
  • kwq/KWQArrayImpl.mm: Add missing #include of <string.h>.
  • kwq/KWQBitmap.mm:
  • kwq/KWQFrame.mm:
  • kwq/KWQLineEdit.mm: Removed some unused copy constructors and assignment operators to avoid warnings in them.
  • kwq/KWQButton.mm: (QButton::setText):
  • kwq/KWQListBox.mm: (QListBox::~QListBox), (QListBox::clear), (QListBox::setSelectionMode), (QListBox::currentItem), (QListBox::insertItem), (QListBox::setSelected), (QListBox::isSelected), (QListBoxItem::width), (QListBoxItem::height):
  • kwq/KWQScrollView.mm: (QScrollView::setContentsPos), (QScrollView::addChild), (QScrollView::resizeContents), (QScrollView::viewportToContents), Use local variables to work around Radar 2905835.
  • kwq/KWQCString.mm: (operator<<):
  • kwq/KWQPoint.mm: (operator<<):
  • kwq/KWQRect.mm: (operator<<):
  • kwq/KWQSize.mm: (operator<<):
  • kwq/qt/qarray.h:
  • kwq/qt/qcstring.h:
  • kwq/qt/qdatetime.h:
  • kwq/qt/qdict.h:
  • kwq/qt/qlist.h:
  • kwq/qt/qmap.h:
  • kwq/qt/qpainter.h:
  • kwq/qt/qpoint.h:
  • kwq/qt/qptrdict.h:
  • kwq/qt/qrect.h:
  • kwq/qt/qsize.h:
  • kwq/qt/qstack.h:
  • kwq/qt/qvaluelist.h:
  • kwq/qt/qvector.h: Say std::ostream instead of just ostream.
  • kwq/KWQCharsets.mm: Fix a const problem.
  • kwq/KWQDateTime.mm: (QTime::elapsed), (QTime::restart): Use int instead of uint, since these functions try to handle values that are less than 0. (operator<<): Say std::ostream instead of just ostream.
  • kwq/KWQTextArea.mm: (RangeOfParagraph): Fix an int/uint issue.
  • kwq/KWQFile.mm: (QFile::KWQFilePrivate::KWQFilePrivate), (QFile::KWQFilePrivate::~KWQFilePrivate): Use new/delete instead of malloc/free so we don't get void * warnings.
  • kwq/KWQFontMetrics.mm: (IFFillStyleWithAttributes), (-[KWQLayoutInfo drawString:atPoint:withFont:color:]), (-[KWQLayoutInfo _initializeCaches]), (_rectForString):
  • kwq/KWQKURL.mm: (KURL::KWQKURLPrivate::KWQKURLPrivate), (RelativeURLKeyRetainCallBack), (RelativeURLKeyReleaseCallBack), (RelativeURLKeyEqualCallBack), (RelativeURLKeyHashCallBack), (KURL::normalizeURLString), (KURL::normalizeRelativeURLString):
  • kwq/KWQPainter.mm: (QPainter::save):
  • kwq/KWQKloader.mm: (-[URLLoadClient IFURLHandle:resourceDidFailLoadingWithResult:]), (-[URLLoadClient IFURLHandle:didRedirectToURL:]): Add type casts where necessary to make the stricter gcc3 happy.
  • kwq/KWQPixmap.mm: (QPixmap::QPixmap): Explicitly initialize the underlying QPaintDevice. (QPixmap::size), (QPixmap::rect): Add type casts where necessary to make the stricter gcc3 happy.
  • kwq/KWQPtrDictImpl.mm: (KWQPtrDictImpl::KWQPtrDictPrivate::KWQPtrDictPrivate): Say std::bad_alloc instead of just bad_alloc. (invokeDeleteFuncOnValue), (KWQPtrDictImpl::clear): Pass a pointer to a function pointer rather than a function pointer to avoid a warning about turning function pointers into void *.
  • kwq/KWQRegion.mm: (QRegion::_initialize), (QRegion::~QRegion): Use new/delete rather than calloc/free so we don't get void * warnings. (QRegion::boundingRect): Add type casts.
  • kwq/KWQString.mm: (QString::fromStringWithEncoding): Add cast. (QString::setNum): use %ld and %lu rather than %D and %U. (QString::fill), (QString::convertToQCString): Add casts.
  • kwq/KWQTextStorage.mm: (-[KWQTextStorage _buildFragmentForString:]): Add a cast to make gcc3 happy.
  • kwq/KWQVariant.mm: Say "friend class" instead of "friend".
  • kwq/KWQVectorImpl.mm: (KWQVectorImpl::KWQVectorPrivate::KWQVectorPrivate): Say std::bad_alloc instead of just bad_alloc. (KWQVectorImpl::data): Replace the old autorelease trick with a new one that doesn't require mixing malloc with NSData.
  • kwq/KWQView.mm: (-[KWQHTMLView mouseUp:]), (-[KWQHTMLView mouseDown:]): Add casts to make gcc3 happy.
  • kwq/KWQWidget.mm: (QWidget::frameGeometry), (QWidget::mapToGlobal), (QWidget::minimumSizeHint): Add casts to make gcc3 happy. Also another workaround for Radar 2905835.
  • kwq/WCPlugin.mm: (-[WCPlugin load]): Add tons of type casts so we don't have to mix void * with function pointer types.
  • kwq/WCPluginWidget.h:
  • kwq/WCPluginWidget.mm: (WCIFPluginMakeFunction), (WCIFNullPluginMakeFunction): Change types so we don't have to mix void * with function pointer types. This caught a mistake where WCIFNullPluginMakeFunction was returning the wrong function pointer.
  • kwq/external.h: Add some missing interfaces that the pickier gcc3 needed to see.
  • kwq/kwqdebug.mm: Don't compile the file if xNDEBUG is set. Otherwise we get a warning in here.
  • kwq/npapi.h: Use function pointer types for function pointers and transition vectors so we don't have to mix void * with function pointer types.
  • kwq/npapi.mm: (NPN_GetURLNotify), (NPN_GetURL), (NPN_PostURLNotify), (NPN_PostURL), (NPN_NewStream), (NPN_Write), (NPN_DestroyStream), (NPN_Status), (NPN_GetValue), (NPN_SetValue), (NPN_InvalidateRect), (NPN_InvalidateRegion), (NPN_ForceRedraw): Use local variables to work around Radar 2905835. (functionPointerForTVector), (tVectorForFunctionPointer): Change types around so we don't have to mix void * with function pointer types.

WebKit:

Fixes for compiling with gcc3 and more warnings.

  • WebKit.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details).
  • Plugins.subproj/IFPluginView.mm: Avoid warnings about malloc by not using it. (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]): Keep the arguments dictionary around instead of keeping the C format version of it around. Also don't bother keeping the C string form of the MIME type around, and simplify some other stuff in here. (-[IFPluginView dealloc]): Corresponding changes since we keep a different set of things. (-[IFPluginView newStream:mimeType:notifyData:]): Use [mimeType cString]. (-[IFPluginView start]): Build the lists of attributes and values in here. Do it using [NSString cString] for simplicity and don't keep the lists around after we're done with them. (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]): Use [filenameClassic cString].
  • WebView.subproj/IFMainURLHandleClient.mm: (-[IFMainURLHandleClient IFURLHandleResourceDidCancelLoading:]), (-[IFMainURLHandleClient IFURLHandleResourceDidFinishLoading:data:]), (-[IFMainURLHandleClient IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFMainURLHandleClient IFURLHandle:resourceDidFailLoadingWithResult:]):
  • WebView.subproj/IFWebDataSourcePrivate.mm: (-[IFWebDataSourcePrivate dealloc]), (-[IFWebDataSource _setLoading:]), (-[IFWebDataSource _setController:]), (-[IFWebDataSource _setLocationChangeHandler:]):
  • WebView.subproj/IFWebView.mm: (-[IFWebView provisionalDataSourceChanged:]), (-[IFWebView mouseUp:]), (-[IFWebView mouseDown:]): Add type casts required by pickier gcc3.
  • WebView.subproj/IFWebViewPrivate.mm: (-[IFWebViewPrivate dealloc]): Add type cast required by pickier gcc3. (-[IFWebView _stopPlugins]): Use local variable to work around Radar 2905835.

WebBrowser:

Fixes for compiling with gcc3 and more warnings.

  • WebBrowser.pbproj/project.pbxproj: Turn on gcc3 and the same set of warnings as in the rest of Labyrinth (see top level ChangeLog for details).
  • InternetConfigUtilities.m: (stringValueForICKey), (setStringValue): Some const string fixes.
  • Preferences.subproj/TextPreferences.m: (-[TextPreferences changeFont:]): Remove a cast that makes gcc3 unhappy.
  • _CFA2UC.c: (NSGiantRaise): Const string fix. (gcompg): Old-style function prototype fix. (initialguess): Remove a cast that makes gcc3 unhappy.
11:49 AM Changeset in webkit [1044] by cblu
  • 6 edits in trunk/WebKit

Moved plugin instance creation to the start method in IFPluginView.

  • Plugins.subproj/IFPluginView.h:
  • Plugins.subproj/IFPluginView.mm: (-[IFPluginView initWithFrame:plugin:url:mime:arguments:mode:]), (-[IFPluginView dealloc]), (-[IFPluginView newStream:mimeType:notifyData:]), (-[IFPluginView start]), (-[IFPluginView stop]), (-[IFPluginView drawRect:]), (-[IFPluginView windowBecameKey:]), (-[IFPluginView windowResignedKey:]), (-[IFPluginView IFURLHandle:resourceDataDidBecomeAvailable:]), (-[IFPluginView IFURLHandleResourceDidFinishLoading:data:]):
Note: See TracTimeline for information about the timeline view.