1. 01 Oct, 2006 1 commit
  2. 30 Sep, 2006 2 commits
  3. 29 Sep, 2006 2 commits
    • adele's avatar
      Reviewed by Adam. · f989049f
      adele authored
              Initial implementation of engine-based list box control.
      
              * WebCore.xcodeproj/project.pbxproj: Added RenderListBox.h and RenderListBox.cpp
      
              * bridge/mac/FrameMac.h: Added _mouseDownMayStartAutoscroll.
              * bridge/mac/FrameMac.mm: Updated autoscroll code to use renderers instead of layers, so any renderer that implements autoscroll will work.
              (WebCore::FrameMac::FrameMac):
              (WebCore::FrameMac::handleMousePressEvent):
              (WebCore::FrameMac::handleMouseMoveEvent):
              (WebCore::FrameMac::mouseDown):
      
              * page/Frame.cpp:
              (WebCore::Frame::handleMouseMoveEvent):
              (WebCore::Frame::scrollOverflow): Don't scroll list box here- this would cause arrow keys to scroll instead of select.
              (WebCore::Frame::handleAutoscroll): Updated to use a renderer instead of a layer when setting up autoscroll.
              (WebCore::Frame::autoscrollTimerFired): ditto.
              (WebCore::Frame::stopAutoscrollTimer): ditto.
              (WebCore::Frame::passWidgetMouseDownEventToWidget): Updated to check for list box's scroll bar.
              * page/Frame.h:
              * page/FramePrivate.h: (WebCore::FramePrivate::FramePrivate): Updated to use renderer unstead of layer for autoscroll.
      
              * page/FrameView.cpp: Keep track of current mouse position so this can be used for list box autoscroll.
              (WebCore::FrameViewPrivate::reset):
              (WebCore::FrameView::currentMousePosition):
              (WebCore::FrameView::handleMousePressEvent):
              (WebCore::FrameView::handleMouseDoubleClickEvent):
              (WebCore::selectCursor):
              (WebCore::FrameView::handleMouseMoveEvent):
              (WebCore::FrameView::handleMouseReleaseEvent):
              * page/FrameView.h:
      
              * platform/ScrollBar.cpp: (WebCore::ScrollBar::ScrollBar): Added controlSize argument.  The list box will use a smaller scroll bar size.
              * platform/ScrollBar.h:
              (WebCore::):
              (WebCore::ScrollBar::controlSize):
              * platform/mac/PlatformScrollBar.h:
              * platform/mac/PlatformScrollBarMac.mm:
              (NSControlSizeForScrollBarControlSize):
              (-[WebCoreScrollBar initWithPlatformScrollBar:]):
              (WebCore::PlatformScrollBar::PlatformScrollBar):
      
              * rendering/RenderBlock.h:
              * rendering/RenderLayer.cpp: (WebCore::RenderLayer::createScrollbar): Updated to pass regular control size to scrollbar constructor.
              * rendering/RenderLayer.h:
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::shouldAutoscroll):
              (WebCore::RenderObject::autoscroll):
              * rendering/RenderObject.h: (WebCore::RenderObject::isListBox):
      
              * css/html4.css: Added properties for new list boxes.
      
              * html/HTMLOptionElement.cpp:
              (WebCore::HTMLOptionElement::setSelected): Doesn't allow selection to be changed here if the option is disabled.
              (WebCore::HTMLOptionElement::disabled): Added. Checks the parent's disabled status.
              * html/HTMLOptionElement.h: Added disabled method.
      
              * html/HTMLSelectElement.cpp: Added appearance switch for new list box implementation.
              (WebCore::HTMLSelectElement::recalcStyle):
              (WebCore::HTMLSelectElement::lastSelectedListIndex):
              (WebCore::HTMLSelectElement::deselectItems):
              (WebCore::HTMLSelectElement::setSelectedIndex):
              (WebCore::HTMLSelectElement::isKeyboardFocusable):
              (WebCore::HTMLSelectElement::isMouseFocusable):
              (WebCore::HTMLSelectElement::createRenderer):
              (WebCore::HTMLSelectElement::recalcListItems):
              (WebCore::HTMLSelectElement::setRecalcListItems):
              (WebCore::HTMLSelectElement::reset):
              (WebCore::HTMLSelectElement::notifyOptionSelected):
              (WebCore::HTMLSelectElement::defaultEventHandler): Added code to select options for list box when clicking and using arrow keys.
              (WebCore::HTMLSelectElement::nextSelectableListIndex):
              (WebCore::HTMLSelectElement::previousSelectableListIndex):
              * html/HTMLSelectElement.h:
      
              * rendering/RenderTheme.cpp: Added support for ListBoxAppearance
              (WebCore::RenderTheme::paint):
              (WebCore::RenderTheme::paintBorderOnly):
              (WebCore::RenderTheme::paintDecorations):
              (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::activeListBoxSelectionForegroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor):
              (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor):
              (WebCore::RenderTheme::isControlStyled):
              (WebCore::RenderTheme::supportsFocusRing):
              * rendering/RenderTheme.h:
              * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::isControlStyled):
      
              * rendering/RenderListBox.cpp: Added.
              (WebCore::RenderListBox::RenderListBox):
              (WebCore::RenderListBox::~RenderListBox):
              (WebCore::RenderListBox::setStyle):
              (WebCore::RenderListBox::updateFromElement):
              (WebCore::RenderListBox::calcMinMaxWidth):
              (WebCore::RenderListBox::size):
              (WebCore::RenderListBox::numItems):
              (WebCore::RenderListBox::calcHeight):
              (WebCore::RenderListBox::baselinePosition):
              (WebCore::RenderListBox::itemBoundingBoxRect):
              (WebCore::RenderListBox::paintObject):
              (WebCore::RenderListBox::paintScrollbar):
              (WebCore::RenderListBox::paintItemForeground):
              (WebCore::RenderListBox::paintItemBackground):
              (WebCore::RenderListBox::scrollBarTarget):
              (WebCore::RenderListBox::isPointInScrollbar):
              (WebCore::RenderListBox::optionAtPoint):
              (WebCore::RenderListBox::autoscroll):
              (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
              (WebCore::RenderListBox::scroll):
              (WebCore::RenderListBox::valueChanged):
              * rendering/RenderListBox.h: Added.
              (WebCore::RenderListBox::isListBox):
              (WebCore::RenderListBox::selectionChanged):
              (WebCore::RenderListBox::setSelectionChanged):
              (WebCore::RenderListBox::canHaveChildren):
              (WebCore::RenderListBox::renderName):
              (WebCore::RenderListBox::setOptionsChanged):
              (WebCore::RenderListBox::shouldAutoscroll):
              (WebCore::RenderListBox::listIndexIsVisible):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f989049f
    • harrison's avatar
      LayoutTests: · 43f6c9d0
      harrison authored
              Reviewed by John Sullivan.
      
              <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
              <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot
      
              * fast/text/attributed-substring-from-range-001-expected.txt: Added.
              * fast/text/attributed-substring-from-range-001.html: Added.
              
              Check attributed string results when starting or ending at a br element.
      
      WebCore:
      
              Reviewed by John Sullivan.
      
              <rdar://problem/4663772> REGRESSION: Cannot type in Japanese after replying to a particular message
              <rdar://problem/4673293> REGRESSION: Can't enter the Japanese characters in Mail or Blot
      
              Test added
              * fast/text/attributed-substring-from-range-001.html
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::attributedString):
              Handle non-zero offsets when start and/or end node is a container. Offset used to be ignored in this case.
              Also, add validation of the range.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16642 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      43f6c9d0
  4. 28 Sep, 2006 1 commit
  5. 26 Sep, 2006 1 commit
    • sullivan's avatar
      WebCore: · caf3550b
      sullivan authored
              Reviewed by Darin
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge markAllMatchesForText:caseSensitive:limit:]):
              Added limit parameter, passed down to Frame
              
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::markAllMatchesForText):
              Added limit parameter. Stop the search if it hits limit.
      
      WebKit:
      
              Reviewed by Darin
      
              * WebView/WebHTMLViewPrivate.h:
              * WebView/WebHTMLView.m:
              (-[WebHTMLView markAllMatchesForText:caseSensitive:limit:]):
              Added limit parameter, passed over the bridge. Stop the search if it hits limit.
      
              * WebView/WebViewPrivate.h:
              * WebView/WebView.m:
              (-[WebView markAllMatchesForText:caseSensitive:highlight:limit:]):
              Added limit parameter, passed to WebHTMLView.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      caf3550b
  6. 25 Sep, 2006 1 commit
    • harrison's avatar
      Reviewed by Tim Omernick and Tim Hatcher. · 165ca0b9
      harrison authored
              <rdar://problem/4717965> Text Field text parameterized attributes should work
              <rdar://problem/4712111> Support NSAccessibilityInsertionPointLineNumberAttribute for AXTextArea elements
      
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject accessibilityAttributeValue:]):
              Use new line number support to implement NSAccessibilityInsertionPointLineNumberAttribute.
              
              (-[WebCoreAXObject accessibilityParameterizedAttributeNames]):
              Cleaned up. Added text field and text area parameterzed attributes.
              
              (-[WebCoreAXObject doAXLineForTextMarker:]):
              Fixed to be zero-based and to deal with the first position properly.
              
              (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
              Minor formatting.
              
              (-[WebCoreAXObject textMarkerForIndex:lastIndexOK:]):
              (-[WebCoreAXObject indexForTextMarker:]):
              (-[WebCoreAXObject textMarkerRangeForRange:]):
              (-[WebCoreAXObject rangeForTextMarkerRange:]):
              New utility methods.
              
              (-[WebCoreAXObject doAXLineForIndex:]):
              (-[WebCoreAXObject doAXRangeForLine:]):
              (-[WebCoreAXObject doAXStringForRange:]):
              (-[WebCoreAXObject doAXRangeForPosition:]):
              (-[WebCoreAXObject doAXRangeForIndex:]):
              (-[WebCoreAXObject doAXBoundsForRange:]):
              (-[WebCoreAXObject doAXAttributedStringForRange:]):
              (-[WebCoreAXObject doAXRTFForRange:]):
              (-[WebCoreAXObject doAXStyleRangeForIndex:]):
              Implement text field and text area parameterized attributes.
               
              (-[WebCoreAXObject accessibilityAttributeValue:forParameter:]):
              Added text field and text area parameterzed attributes.
      
              * rendering/RenderTextControl.h:
              Made indexForVisiblePosition() and visiblePositionForIndex() public.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16567 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      165ca0b9
  7. 21 Sep, 2006 1 commit
    • ggaren's avatar
      JavaScriptCore: · 0de1f3e4
      ggaren authored
              Reviewed by Maciej.
      
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
              Updated to include the right path.
              * wtf/FastMalloc.h: #include Platform.h, since we use Platform macros.
      
      WebCore:
      
              Reviewed by Maciej.
              
              Some Widget refactoring.
      
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * bridge/mac/FrameMac.mm:
              * bridge/win/FrameWin.cpp:
              (WebCore::FrameWin::runJavaScriptAlert):
              (WebCore::FrameWin::runJavaScriptConfirm):
              * bridge/win/PageWin.cpp:
              (WebCore::Page::Page):
              (WebCore::rootWindowForFrame):
              * html/CanvasRenderingContext2D.cpp:
              (WebCore::CanvasRenderingContext2D::translate):
              * page/FrameView.cpp:
              (WebCore::FrameView::isFrameView):
              * page/Page.h:
              (WebCore::Page::setInstanceHandle):
              (WebCore::Page::instanceHandle):
              * platform/GraphicsContext.h:
              * platform/ScrollView.h:
              * platform/Widget.h:
              * platform/cairo/GraphicsContextCairo.cpp:
              (WebCore::GraphicsContext::translate):
              (WebCore::GraphicsContext::origin):
              * platform/mac/WidgetMac.mm:
              (WebCore::Widget::clearFocus):
              * platform/win/ResourceLoaderWin.cpp:
              (WebCore::initializeOffScreenResourceLoaderWindow):
              * platform/win/ScreenWin.cpp:
              (WebCore::monitorInfo):
              * platform/win/ScrollViewWin.cpp:
              (WebCore::ScrollView::updateContents):
              (WebCore::ScrollView::visibleWidth):
              (WebCore::ScrollView::visibleHeight):
              (WebCore::ScrollView::visibleContentRect):
              (WebCore::ScrollView::viewportToContents):
              (WebCore::ScrollView::contentsToViewport):
              (WebCore::ScrollView::scrollBy):
              (WebCore::ScrollView::updateScrollInfo):
              (WebCore::ScrollView::updateScrollBars):
              * platform/win/SharedTimerWin.cpp:
              (WebCore::initializeOffScreenTimerWindow):
              * platform/win/TemporaryLinkStubs.cpp:
              (FrameView::updateBorder):
              (ScrollView::paint):
              (GraphicsContext::clip):
              * platform/win/WidgetWin.cpp:
              (WebCore::Widget::Widget):
              (WebCore::Widget::parentWindow):
              (WebCore::Widget::setParentWindow):
              (WebCore::Widget::frameGeometry):
              (WebCore::Widget::hasFocus):
              (WebCore::Widget::setFocus):
              (WebCore::Widget::show):
              (WebCore::Widget::hide):
              (WebCore::Widget::setFrameGeometry):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16515 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0de1f3e4
  8. 20 Sep, 2006 3 commits
    • beidson's avatar
      WebCore: · 11ba7b84
      beidson authored
              Reviewed by Tim Omernick
      
              Part of fixing a crash Tim O showed me that I missed in a release build.
              WebKit should be able to call through the bridge to WebCore no matter what -
              Replace the _iconDB member with calls to IconDatabase::sharedIconDatabase()
      
              * bridge/mac/WebCoreIconDatabaseBridge.h:
              * bridge/mac/WebCoreIconDatabaseBridge.mm:
              (-[WebCoreIconDatabaseBridge closeSharedDatabase]):
              (-[WebCoreIconDatabaseBridge isOpen]):
              (-[WebCoreIconDatabaseBridge removeAllIcons]):
              (-[WebCoreIconDatabaseBridge _isEmpty]):
              (-[WebCoreIconDatabaseBridge isIconExpiredForIconURL:]):
              (-[WebCoreIconDatabaseBridge setPrivateBrowsingEnabled:]):
              (-[WebCoreIconDatabaseBridge privateBrowsingEnabled]):
              (-[WebCoreIconDatabaseBridge iconForPageURL:withSize:]):
              (-[WebCoreIconDatabaseBridge iconURLForPageURL:]):
              (-[WebCoreIconDatabaseBridge defaultIconWithSize:]):
              (-[WebCoreIconDatabaseBridge retainIconForURL:]):
              (-[WebCoreIconDatabaseBridge releaseIconForURL:]):
              (-[WebCoreIconDatabaseBridge _setIconData:forIconURL:]):
              (-[WebCoreIconDatabaseBridge _setHaveNoIconForIconURL:]):
              (-[WebCoreIconDatabaseBridge _setIconURL:forPageURL:]):
              (-[WebCoreIconDatabaseBridge _hasEntryForIconURL:]):
              (-[WebCoreIconDatabaseBridge _setEnabled:]):
              (-[WebCoreIconDatabaseBridge _isEnabled]):
      
      WebKit:
      
              Reviewed by Tim Omernick
      
              Fixing part of a crash Tim O showed me.  [WebIconDatabase init] should finish
              gracefully even if we can't open the database
      
              * Misc/WebIconDatabase.m:
              (-[WebIconDatabase init]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      11ba7b84
    • beidson's avatar
      WebCore: · 470cc63a
      beidson authored
              Reviewed by Sarge Decker
      
              <rdar://problem/4739892> and <rdar://problem/4729797>
              - WebCore::IconDatabase needs to have and respect an enabled() flag
              - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
      
              * bridge/mac/WebCoreIconDatabaseBridge.h:
              * bridge/mac/WebCoreIconDatabaseBridge.mm:
              (-[WebCoreIconDatabaseBridge _setEnabled:]): Added
              (-[WebCoreIconDatabaseBridge _isEnabled]): Added
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::IconDatabase):
              (WebCore::IconDatabase::open): Don't open if disabled
              (WebCore::IconDatabase::removeAllIcons): Ignore if disabled/closed
              (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ignore if disabled/closed
              (WebCore::IconDatabase::iconForPageURL): Default Icon if disabled/closed
              (WebCore::IconDatabase::isIconExpiredForIconURL): Default return if disabled/closed
              (WebCore::IconDatabase::iconURLForPageURL): Default return if disabled/closed
              (WebCore::IconDatabase::retainIconForPageURL): Ignore if disabled/closed
              (WebCore::IconDatabase::releaseIconForPageURL): Ignore if disabled/closed
              (WebCore::IconDatabase::releaseIconURL):
              (WebCore::IconDatabase::setIconDataForIconURL): Ignore if disabled/closed
              (WebCore::IconDatabase::setIconURLForPageURL): Ignore if disabled/closed
              (WebCore::IconDatabase::hasEntryForIconURL): Default return if disabled/closed
              (WebCore::IconDatabase::setEnabled): Added
              * loader/icon/IconDatabase.h:
              (WebCore::IconDatabase::enabled): Added
              * page/Frame.cpp:
              (WebCore::Frame::endIfNotLoading): do an IconDatabase::enabled() check before bothering to load the icon
              * platform/mac/ResourceLoaderMac.mm: Removed extraneous #include
      
      WebKit:
      
              Reviewed by Sarge Decker
      
              <rdar://problem/4739892> and <rdar://problem/4729797>
              - WebCore::IconDatabase needs to have and respect an enabled() flag
              - Mail on ToT WebKit crashes in IconDatabase code when mailing a page from Safari
      
              * Misc/WebIconDatabase.m:
              (-[WebIconDatabase init]): If preference says icons are disabled, tell the bridge
              (-[WebIconDatabase _isEnabled]): Ask the bridge if the database is enabled
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      470cc63a
    • hyatt's avatar
      Massage mouse wheel handling so that it is more cross-platform. Make · 330ca690
      hyatt authored
              all the work happen in handleWheelEvent on the FrameView.
      
              Reviewed by bradee-oh
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::wheelEvent):
              * page/FrameView.cpp:
              (WebCore::FrameView::handleWheelEvent):
              * platform/PlatformWheelEvent.h:
              (WebCore::PlatformWheelEvent::platformDelta):
              (WebCore::PlatformWheelEvent::delta):
              * platform/mac/WheelEventMac.mm:
              (WebCore::platformDeltaForEvent):
              (WebCore::PlatformWheelEvent::PlatformWheelEvent):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::scroll):
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::scroll):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      330ca690
  9. 18 Sep, 2006 3 commits
    • beidson's avatar
      WebCore: · b4e0cebe
      beidson authored
              Reviewed by Anders
      
              <rdar://problem/3028061> - WebKit never updates favicon
              The WebKit enforced expiration date for icons has worked for some time, but the
              move to the new Icon Loader broke the "always get the icon if the user refreshes the page" 
              functionality.  This patch fixes that up, along with some other architectural improvements,
              the main one being that WebCore::Document now contains an iconURL for the Frame to query if needed.
      
              * bridge/mac/FrameMac.h: Added isLoadTypeReload()
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::isLoadTypeReload): Implementation, calls into the bridge
              * bridge/mac/WebCoreFrameBridge.h: Added isLoadTypeReload:
              * bridge/win/FrameWin.h: Added isLoadTypeReload() for temporary link stub
              * dom/Document.h: Added m_iconURL
              (WebCore::Document::iconURL): Added
              (WebCore::Document::setIconURL): Ditto
              * html/HTMLLinkElement.cpp:
              (WebCore::HTMLLinkElement::process): Sets the iconURL in the Document instead of the Frame
              * page/Frame.cpp:
              (WebCore::Frame::iconURL): Calculates the iconURL based on the document, then the default favicon.ico url
              (WebCore::Frame::endIfNotLoading): Checks for the load type - always loads icon on Reload
              * page/Frame.h: Nuked setIconURL(), added isLoadTypeReload()
              * page/FramePrivate.h: Nuked IconURL
              * platform/win/TemporaryLinkStubs.cpp:
              (FrameWin::isLoadTypeReload):
      
      WebKit:
      
              Reviewed by Anders
      
              Implement a bridge method so WebCore can find the reload type of a frame load
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge isLoadTypeReload]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16440 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b4e0cebe
    • beidson's avatar
      Reviewed by John · c4640ed9
      beidson authored
              http://bugzilla.opendarwin.org/show_bug.cgi?id=10907
              REGRESSION: New Icon Loaders don't handle certain non-server-root URLs correctly
      
              * bridge/mac/FrameMac.h: Changed originalRequestURL() to virtual
              * bridge/win/FrameWin.h: Added originalRequestURL()
              * loader/icon/IconLoader.cpp:
              (IconLoader::receivedAllData): Moved the "pageURL to iconURL mapping logic" to Frame::commitIconURLToIconDatabase()
              * page/Frame.cpp:
              (WebCore::Frame::iconURL): Construct the icon URL from *only* the protocol and host of the frame's url.
              (WebCore::Frame::endIfNotLoading): Call commitIconURLToIconDatabase() if we're not kicking off an icon load
              (WebCore::Frame::commitIconURLToIconDatabase): Map the completed doc's pageURL to the iconURL
              * page/Frame.h: Added pure virtual originalRequestURL()
              * platform/win/TemporaryLinkStubs.cpp:
              (FrameWin::originalRequestURL): Added
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16423 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4640ed9
    • eseidel's avatar
      2006-09-17 Eric Seidel <eric@eseidel.com> · 130649e4
      eseidel authored
              Reviewed by ap.
              
              REGRESSION (r16245): double-clicking on javascript exceptions fails to show source
              http://bugzilla.opendarwin.org/show_bug.cgi?id=10813
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (+[WebCoreFrameBridge stringWithData:textEncodingName:]):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16419 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      130649e4
  10. 17 Sep, 2006 1 commit
    • beidson's avatar
      WebCore: · 20704b69
      beidson authored
              Reviewed by Hyatt
      
              Pruning code relating to WebKit's icon loader
      
              * bridge/mac/WebCoreIconDatabaseBridge.h:
              * bridge/mac/WebCoreIconDatabaseBridge.mm:
              * loader/icon/IconDatabase.h:
              * page/Frame.cpp:
              (WebCore::Frame::endIfNotLoading): Moved a FIXME in from WebKit's IconLoader to 
              its new home
      
      WebKit:
      
              Reviewed by Hyatt
      
              WebIconLoader is dead, long live WebCore::IconLoader
              (code prune)
      
              * Loader/WebFrameLoader.h:
              * Loader/WebFrameLoader.m:
              (-[WebFrameLoader dealloc]):
              (-[WebFrameLoader commitProvisionalLoad]):
              * Loader/WebIconLoader.h: Removed.
              * Loader/WebIconLoader.m: Removed.
              * Misc/WebIconDatabase.h:
              * Misc/WebIconDatabase.m:
              * Misc/WebIconDatabasePrivate.h:
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge notifyIconChanged:]):
              * WebCoreSupport/WebIconDatabaseBridge.h:
              * WebCoreSupport/WebIconDatabaseBridge.m:
              (-[WebIconDatabaseBridge _init]):
              (-[WebIconDatabaseBridge _setIconData:forIconURL:]):
              (-[WebIconDatabaseBridge _setHaveNoIconForIconURL:]):
              * WebKit.exp:
              * WebKit.xcodeproj/project.pbxproj:
              * WebView/WebDataSource.m:
              (-[WebDataSourcePrivate dealloc]):
              (-[WebDataSource _stopLoading]):
              (-[WebDataSource _setPrimaryLoadComplete:]):
              * WebView/WebDataSourceInternal.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16395 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      20704b69
  11. 15 Sep, 2006 3 commits
    • thatcher's avatar
      WebCore: · fd4a1a63
      thatcher authored
              Reviewed by Justin.
      
              Removed alter selection logic from WebCoreFrameBridge and moved to SelectionController.
      
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge centerSelectionInVisibleArea]):
              (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
              (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
              (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
              (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
              (-[WebCoreFrameBridge replaceMarkedTextWithText:]):
              (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
              (-[WebCoreFrameBridge increaseSelectionListLevel]):
              (-[WebCoreFrameBridge increaseSelectionListLevelOrdered]):
              (-[WebCoreFrameBridge increaseSelectionListLevelUnordered]):
              (-[WebCoreFrameBridge decreaseSelectionListLevel]):
              (-[WebCoreFrameBridge insertLineBreak]):
              (-[WebCoreFrameBridge insertParagraphSeparator]):
              (-[WebCoreFrameBridge insertParagraphSeparatorInQuotedContent]):
              (-[WebCoreFrameBridge insertText:selectInsertedText:]):
              (-[WebCoreFrameBridge deleteKeyPressedWithSmartDelete:granularity:]):
              (-[WebCoreFrameBridge forwardDeleteKeyPressedWithSmartDelete:granularity:]):
              (createMouseEventFromDraggingInfo):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::moveTo):
              (WebCore::SelectionController::setSelection):
              (WebCore::SelectionController::modify):
              (WebCore::SelectionController::setBase):
              (WebCore::SelectionController::setExtent):
              * editing/SelectionController.h:
              * page/Frame.cpp:
              (WebCore::Frame::revealSelection):
              (WebCore::Frame::revealCaret):
              * page/Frame.h:
      
      WebKit:
      
              Reviewed by Justin.
      
              Call the bridge directly for alter selection calls. All of this logic is now
              in WebCore's SelectionController.
      
              * WebView/WebHTMLView.m:
              (-[NSArray moveBackward:]):
              (-[NSArray moveBackwardAndModifySelection:]):
              (-[NSArray moveDown:]):
              (-[NSArray moveDownAndModifySelection:]):
              (-[NSArray moveForward:]):
              (-[NSArray moveForwardAndModifySelection:]):
              (-[NSArray moveLeft:]):
              (-[NSArray moveLeftAndModifySelection:]):
              (-[NSArray moveRight:]):
              (-[NSArray moveRightAndModifySelection:]):
              (-[NSArray moveToBeginningOfDocument:]):
              (-[NSArray moveToBeginningOfDocumentAndModifySelection:]):
              (-[NSArray moveToBeginningOfSentence:]):
              (-[NSArray moveToBeginningOfSentenceAndModifySelection:]):
              (-[NSArray moveToBeginningOfLine:]):
              (-[NSArray moveToBeginningOfLineAndModifySelection:]):
              (-[NSArray moveToBeginningOfParagraph:]):
              (-[NSArray moveToBeginningOfParagraphAndModifySelection:]):
              (-[NSArray moveToEndOfDocument:]):
              (-[NSArray moveToEndOfDocumentAndModifySelection:]):
              (-[NSArray moveToEndOfSentence:]):
              (-[NSArray moveToEndOfSentenceAndModifySelection:]):
              (-[NSArray moveToEndOfLine:]):
              (-[NSArray moveToEndOfLineAndModifySelection:]):
              (-[NSArray moveToEndOfParagraph:]):
              (-[NSArray moveToEndOfParagraphAndModifySelection:]):
              (-[NSArray moveParagraphBackwardAndModifySelection:]):
              (-[NSArray moveParagraphForwardAndModifySelection:]):
              (-[NSArray moveUp:]):
              (-[NSArray moveUpAndModifySelection:]):
              (-[NSArray moveWordBackward:]):
              (-[NSArray moveWordBackwardAndModifySelection:]):
              (-[NSArray moveWordForward:]):
              (-[NSArray moveWordForwardAndModifySelection:]):
              (-[NSArray moveWordLeft:]):
              (-[NSArray moveWordLeftAndModifySelection:]):
              (-[NSArray moveWordRight:]):
              (-[NSArray moveWordRightAndModifySelection:]):
              (-[NSArray pageUp:]):
              (-[NSArray pageDown:]):
              (-[NSArray pageUpAndModifySelection:]):
              (-[NSArray pageDownAndModifySelection:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16386 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fd4a1a63
    • weinig's avatar
      Reviewed by Tim H. · c6bbaebd
      weinig authored
              Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10869
              Auto-generate the internal methods for the Objective-C bindings
      
              - Auto-generates the internal method (ie. the _fooBar and _fooBarWith methods)
                implementations where standard.  For cases where a custom implementation was
                needed, added a [ObjCNoInternal] extended attribute to the corresponding IDL.
      
              - Some general cleanup of some of the non-generated bindings, to bring them in-
                line with what the generated bindings look like.
      
              * bindings/objc/DOM.mm:
              (-[DOMNode description]):
              * bindings/objc/DOMCSS.mm:
              (-[DOMCSSPrimitiveValue WebCore::]):
              (-[DOMDocument getComputedStyle::]):
              (-[DOMDocument getMatchedCSSRules::]):
              * bindings/objc/DOMEvents.mm:
              (-[DOMEvent WebCore::]):
              * bindings/objc/DOMHTML.mm:
              * bindings/objc/DOMHTMLDocument.mm:
              (-[DOMHTMLDocument title]):
              (-[DOMHTMLDocument setTitle:]):
              (-[DOMHTMLDocument referrer]):
              (-[DOMHTMLDocument domain]):
              (-[DOMHTMLDocument URL]):
              (-[DOMHTMLDocument body]):
              (-[DOMHTMLDocument setBody:]):
              (-[DOMHTMLDocument images]):
              (-[DOMHTMLDocument applets]):
              (-[DOMHTMLDocument links]):
              (-[DOMHTMLDocument forms]):
              (-[DOMHTMLDocument anchors]):
              (-[DOMHTMLDocument cookie]):
              (-[DOMHTMLDocument setCookie:]):
              (-[DOMHTMLDocument open]):
              (-[DOMHTMLDocument close]):
              (-[DOMHTMLDocument write:]):
              (-[DOMHTMLDocument writeln:]):
              (-[DOMHTMLDocument getElementById:]):
              (-[DOMHTMLDocument getElementsByName:]):
              (-[DOMHTMLDocument WebCore::]):
              (+[DOMHTMLDocument _HTMLDocumentWith:WebCore::]):
              * bindings/objc/DOMHTMLOptionElement.mm:
              (-[DOMHTMLOptionElement form]):
              (-[DOMHTMLOptionElement defaultSelected]):
              (-[DOMHTMLOptionElement setDefaultSelected:]):
              (-[DOMHTMLOptionElement text]):
              (-[DOMHTMLOptionElement index]):
              (-[DOMHTMLOptionElement disabled]):
              (-[DOMHTMLOptionElement setDisabled:]):
              (-[DOMHTMLOptionElement label]):
              (-[DOMHTMLOptionElement setLabel:]):
              (-[DOMHTMLOptionElement selected]):
              (-[DOMHTMLOptionElement setSelected:]):
              (-[DOMHTMLOptionElement value]):
              (-[DOMHTMLOptionElement setValue:]):
              (-[DOMHTMLOptionElement WebCore::]):
              (+[DOMHTMLOptionElement _HTMLOptionElementWith:WebCore::]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMNode.mm:
              (-[DOMNode dealloc]):
              (-[DOMNode finalize]):
              (-[DOMNode nodeName]):
              (-[DOMNode nodeValue]):
              (-[DOMNode setNodeValue:]):
              (-[DOMNode nodeType]):
              (-[DOMNode parentNode]):
              (-[DOMNode childNodes]):
              (-[DOMNode firstChild]):
              (-[DOMNode lastChild]):
              (-[DOMNode previousSibling]):
              (-[DOMNode nextSibling]):
              (-[DOMNode attributes]):
              (-[DOMNode ownerDocument]):
              (-[DOMNode insertBefore::]):
              (-[DOMNode replaceChild::]):
              (-[DOMNode removeChild:]):
              (-[DOMNode appendChild:]):
              (-[DOMNode hasChildNodes]):
              (-[DOMNode cloneNode:]):
              (-[DOMNode normalize]):
              (-[DOMNode isSupported::]):
              (-[DOMNode namespaceURI]):
              (-[DOMNode prefix]):
              (-[DOMNode setPrefix:]):
              (-[DOMNode localName]):
              (-[DOMNode hasAttributes]):
              (-[DOMNode isSameNode:]):
              (-[DOMNode isEqualNode:]):
              (-[DOMNode isDefaultNamespace:]):
              (-[DOMNode lookupPrefix:]):
              (-[DOMNode lookupNamespaceURI:]):
              (-[DOMNode textContent]):
              (-[DOMNode setTextContent:]):
              (-[DOMNode boundingBox]):
              (-[DOMNode lineBoxRects]):
              * bindings/objc/DOMObject.mm:
              (-[DOMObject _init]):
              * bindings/objc/DOMXPath.mm:
              (-[DOMNativeXPathNSResolver dealloc]):
              (-[DOMNativeXPathNSResolver finalize]):
              (-[DOMNativeXPathNSResolver WebCore::]):
              (-[DOMNativeXPathNSResolver _initWithXPathNSResolver:WebCore::]):
              (+[DOMNativeXPathNSResolver _xpathNSResolverWith:WebCore::]):
              (-[DOMNativeXPathNSResolver lookupNamespaceURI:]):
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
              (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
              * css/CSSCharsetRule.idl:
              * css/CSSFontFaceRule.idl:
              * css/CSSImportRule.idl:
              * css/CSSMediaRule.idl:
              * css/CSSPageRule.idl:
              * css/CSSPrimitiveValue.idl:
              * css/CSSRule.idl:
              * css/CSSStyleRule.idl:
              * css/CSSStyleSheet.idl:
              * css/CSSUnknownRule.idl:
              * css/CSSValue.idl:
              * css/CSSValueList.idl:
              * css/StyleSheet.idl:
              * dom/Event.idl:
              * dom/KeyboardEvent.idl:
              * dom/MouseEvent.idl:
              * dom/MutationEvent.idl:
              * dom/NodeIterator.idl:
              * dom/OverflowEvent.idl:
              * dom/TreeWalker.idl:
              * dom/UIEvent.idl:
              * dom/WheelEvent.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c6bbaebd
    • bdash's avatar
      2006-09-14 Mark Rowe <opendarwin.org@bdash.net.nz> · eceeaea9
      bdash authored
              Reviewed by Adam.
      
              http://bugzilla.opendarwin.org/show_bug.cgi?id=10838
              Bug 10838: REGRESSION: Leaking of WebScriptObjectPrivate
      
              FrameMac relies on its cleanupPluginObjects being called to perform cleanup.  The virtual
              Frame::cleanupPluginObjects method is called from Frame's destructor, which results
              in Frame::cleanupPluginObjects being called rather than FrameMac::cleanupPluginObjects.
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::~FrameMac): Call cancelAndClear to ensure that FrameMac::cleanupPluginObjects
              will be called from Frame::clear
              * page/Frame.cpp:
              (WebCore::Frame::~Frame): Use cancelAndClear.
              (WebCore::Frame::cancelAndClear): Move cancellation and clearing into a separate method that
              FrameMac can use.
              * page/Frame.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eceeaea9
  12. 14 Sep, 2006 2 commits
    • justing's avatar
      LayoutTests: · 50dad02e
      justing authored
              Reviewed by harrison
              
              <rdar://problem/4655880> Up/Down arrows skip over To Do
      
              * editing/selection/mixed-editability-3-expected.checksum: Added.
              * editing/selection/mixed-editability-3-expected.png: Added.
              * editing/selection/mixed-editability-3-expected.txt: Added.
              * editing/selection/mixed-editability-3.html: Added.
              * editing/selection/mixed-editability-4-expected.checksum: Added.
              * editing/selection/mixed-editability-4-expected.png: Added.
              * editing/selection/mixed-editability-4-expected.txt: Added.
              * editing/selection/mixed-editability-4.html: Added.
              * editing/selection/mixed-editability-5-expected.checksum: Added.
              * editing/selection/mixed-editability-5-expected.png: Added.
              * editing/selection/mixed-editability-5-expected.txt: Added.
              * editing/selection/mixed-editability-5.html: Added.
      
      WebCore:
      
              Reviewed by harrison
              
              <rdar://problem/4655880> Up/Down arrows skip over To Do
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge canDeleteRange:]): Added a FIXME.
              * dom/Node.cpp: Removed the unused inSameRootEditableElement.
              * dom/Node.h:
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::modify): Added documentboundary to granularities in order test a fix.
              * editing/visible_units.cpp:
              (WebCore::previousLinePosition): Use highestEditableRoot so that this function can move from
              editable content into editable content that's embedded in non-editable content.
              (WebCore::nextLinePosition): Ditto.
              (WebCore::startOfEditableContent): Renamed from startOfEditableRoot and use highestEditableRoot.
              This is the behavior that callers desire.  This fixes Command + Up/Down.
              (WebCore::endOfEditableContent): Ditto.
              * editing/visible_units.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16365 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      50dad02e
    • beidson's avatar
      WebCore: · 2212efda
      beidson authored
              Reviewed by Maciej
      
              Icon loads now take place in WebCore
      
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/BrowserExtension.h:
              * bridge/mac/BrowserExtensionMac.h:
              * bridge/mac/BrowserExtensionMac.mm:
              - Moved enforcement of a Mozilla Favicon extension elsewhere
              
              * bridge/mac/FrameMac.h: 
              * bridge/mac/FrameMac.mm: 
              (WebCore::FrameMac::originalRequestURL):
              - Added accessor to "original request URL"
              
              * bridge/mac/WebCoreFrameBridge.h: 
              - Removed methods to set the iconURL as all loading is now done in WebCore
              - Added call throughs to notify WebKit an Icon is done loading, and a to get the original request URL
              
              * html/HTMLLinkElement.cpp: 
              (WebCore::HTMLLinkElement::process):
              - Moved enforcement of a Mozilla Favicon extension elsewhere
              
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::setIconURLForPageURL):
              - Changed an ASSERT to correctly handle a sketchy (invalid) situation
      
              * loader/icon/IconLoader.h: Added.
              * loader/icon/IconLoader.cpp: Added.
              (IconLoader::IconLoader):
              (IconLoader::createForFrame):
              - Static factory method with a private constructor to enforce 
                "you MUST have a Frame to create an IconLoader" semantics
              (IconLoader::~IconLoader):
              (IconLoader::startLoading):
              (IconLoader::stopLoading):
              (IconLoader::receivedData):
              - ResourceLoaderClient delegate
              (IconLoader::receivedAllData):
              - Ditto
      
              * loader/mac/IconLoaderMac.mm: Added.
              (IconLoader::receivedResponse):
              (IconLoader::notifyIconChanged):
              - For now, these are platform specific methods
              - One to get the HTTP response code of an icon load
              - The other to call through to the app when the icon has changed (loaded)
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::Frame::iconURL):
              (WebCore::Frame::setIconURL):
              - Frame objects now have an inherent icon URL and a way to calculate/access it
              (WebCore::Frame::endIfNotLoading):
              - This is where we actually kick off the IconLoader
              (WebCore::Frame::stop):
              - Added call to stop loading the icon
      
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              (WebCore::FramePrivate::~FramePrivate):
              - Added the icon URL as a private member
              - Added the IconLoader as a private member, and clean it up on deletion
      
              * platform/mac/ResourceLoaderMac.mm:
              (WebCore::ResourceLoader::start):  Added a valuable ASSERT
      
      WebKit:
      
              Reviewed by Maciej
      
              Add infrastructure to support icon loads taking place in WebCore
              Will remove WebKit icon loaders in a later patch
      
              * WebCoreSupport/WebFrameBridge.m:
              (-[WebFrameBridge notifyIconChanged:]):
              (-[WebFrameBridge originalRequestURL]):
              - Nuked two old, obsolete methods
              - Added bridge for notifying of an icon change
              - Added bridge for getting the "original request URL" which is still needed
                until that info is available in the WebCore loaders
      
              * WebView/WebDataSource.m:
              (-[WebDataSource _loadIcon]):
              - Empty body just for now, as it still gets called - next patch will prune all the old impl out
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2212efda
  13. 13 Sep, 2006 2 commits
    • andersca's avatar
      2006-09-14 Anders Carlsson <acarlsson@apple.com> · 00f72a1a
      andersca authored
              Try fixing the Win32 build.
              
              * bridge/win/FrameWin.h:
              * platform/win/TemporaryLinkStubs.cpp:
              (FrameWin::bindingRootObject):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16355 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      00f72a1a
    • andersca's avatar
      2006-09-14 Anders Carlsson <acarlsson@apple.com> · cd71fdd1
      andersca authored
              Reviewed by Tim O.
      
              Add USE defines for the generic JavaScriptCore bindings as well as NPAPI bindings.
              
              * bindings/js/kjs_binding.cpp:
              (KJS::ScriptInterpreter::createLanguageInstanceForValue):
              * bindings/js/kjs_dom.cpp:
              (KJS::getRuntimeObject):
              * bridge/mac/FrameMac.h:
              * config.h:
              * html/HTMLAppletElement.cpp:
              (WebCore::HTMLAppletElement::~HTMLAppletElement):
              (WebCore::HTMLAppletElement::detach):
              * html/HTMLAppletElement.h:
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::~HTMLEmbedElement):
              (WebCore::HTMLEmbedElement::detach):
              * html/HTMLEmbedElement.h:
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::~HTMLObjectElement):
              (WebCore::HTMLObjectElement::detach):
              * html/HTMLObjectElement.h:
              * html/HTMLPlugInElement.cpp:
              (WebCore::HTMLPlugInElement::HTMLPlugInElement):
              (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
              (WebCore::HTMLPlugInElement::createNPObject):
              * html/HTMLPlugInElement.h:
              * page/Frame.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16353 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cd71fdd1
  14. 12 Sep, 2006 3 commits
  15. 11 Sep, 2006 2 commits
    • thatcher's avatar
      Build fix. KeyScript is deprecated in Leopard, we need a new solution for this... · 5d98619c
      thatcher authored
      Build fix. KeyScript is deprecated in Leopard, we need a new solution for this <rdar://problem/4727607>
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16311 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5d98619c
    • hyatt's avatar
      Rework the printer font stuff a little bit so that the Font API doesn't · 58ac3806
      hyatt authored
              have to be changed.
      
              Reviewed by eseidel
      
              * WebCore.xcodeproj/project.pbxproj:
              * bridge/mac/WebCoreStringTruncator.mm:
              (truncateString):
              (+[WebCoreStringTruncator widthOfString:font:]):
              * platform/Font.cpp:
              (WebCore::Font::drawSimpleText):
              * platform/Font.h:
              * platform/TextStyle.h:
              (WebCore::TextStyle::TextStyle):
              (WebCore::TextStyle::attemptFontSubstitution):
              (WebCore::TextStyle::setRTL):
              * platform/mac/FontMac.mm:
              (WebCore::m_wordSpacing):
              (WebCore::Font::drawGlyphs):
              * platform/mac/ListBoxMac.mm:
              (itemTextRenderer):
              (groupLabelTextRenderer):
              (-[WebCoreTableView drawRow:clipRect:]):
              * platform/mac/PopUpButtonMac.mm:
              (PopUpButton::sizeHint):
              * platform/mac/TextFieldMac.mm:
              (-[NSSearchFieldCell _addStringToRecentSearches:]):
              * platform/mac/WebCoreTextRenderer.mm:
              (WebCoreDrawTextAtPoint):
              (WebCoreTextFloatWidth):
              * rendering/EllipsisBox.cpp:
              (WebCore::EllipsisBox::paint):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16296 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      58ac3806
  16. 10 Sep, 2006 1 commit
    • eseidel's avatar
      2006-09-10 Eric Seidel <eric@eseidel.com> · c64d603f
      eseidel authored
              Reviewed by darin.
              
              Remove a bunch more NSGraphicsContext related code.
              Add a LocalCurrentGraphicsContext to simplify methods which need to call up into AppKit controls (and thus depend on the [NSGraphicsContext currentContext] being set correctly)
              Add an "isPrinting" flag to many of the text drawing functions in order to avoid the need for a GraphicsContext::isPrinting() function.
      
              No tests were harmed in the making of this patch.
      
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge drawRect:]):
              * kcanvas/device/quartz/KRenderingDeviceQuartz.h:
              (WebCore::KRenderingDeviceContextQuartz::cgContext):
              (WebCore::KRenderingDeviceQuartz::isBuffered):
              * kcanvas/device/quartz/KRenderingDeviceQuartz.mm:
              (WebCore::KRenderingDeviceContextQuartz::KRenderingDeviceContextQuartz):
              (WebCore::KRenderingDeviceContextQuartz::~KRenderingDeviceContextQuartz):
              * kcanvas/device/quartz/QuartzSupport.mm:
              * platform/Font.cpp:
              (WebCore::Font::drawSimpleText):
              (WebCore::Font::drawText):
              * platform/Font.h:
              * platform/GraphicsContext.cpp:
              (WebCore::GraphicsContext::drawText):
              * platform/GraphicsContext.h:
              * platform/mac/FileButtonMac.mm:
              (-[WebFileChooserButton drawRect:]):
              * platform/mac/FontMac.mm:
              (WebCore::ATSULayoutParameters::ATSULayoutParameters):
              (WebCore::ATSULayoutParameters::initialize):
              (WebCore::Font::drawComplexText):
              (WebCore::Font::drawGlyphs):
              * platform/mac/GraphicsContextMac.mm:
              (WebCore::GraphicsContext::drawLineForMisspelling):
              * platform/mac/ListBoxMac.mm:
              (-[WebCoreTableView drawRow:clipRect:]):
              * platform/mac/WebCoreTextRenderer.mm:
              (WebCoreDrawTextAtPoint):
              * rendering/EllipsisBox.cpp:
              (WebCore::EllipsisBox::paint):
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint):
              * rendering/RenderImage.cpp:
              (WebCore::RenderImage::paint):
              * rendering/RenderListMarker.cpp:
              (WebCore::RenderListMarker::paint):
              * rendering/RenderThemeMac.mm:
              (WebCore::WebCoreNSGraphicsContextBridge::WebCoreNSGraphicsContextBridge):
              (WebCore::WebCoreNSGraphicsContextBridge::~WebCoreNSGraphicsContextBridge):
              (WebCore::RenderThemeMac::paintButton):
              (WebCore::RenderThemeMac::paintTextField):
              (WebCore::RenderThemeMac::paintTextArea):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c64d603f
  17. 09 Sep, 2006 1 commit
  18. 06 Sep, 2006 3 commits
    • darin's avatar
      Reviewed by Tim Hatcher. · be6eb6ba
      darin authored
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=10675
                tweak font-related headers and convert lists to vectors
      
              One major change was to greatly reduce the number of files that include Font.h.
              Another was to convert many uses of DeprecatedPtrList/DeprecatedValueList to Vector.
      
              * WebCore.xcodeproj/project.pbxproj: Added TextStyle.h.
      
              * bindings/objc/DOM.mm: (-[DOMElement _font]): Changed to not depend on
              Font::getNSFont since a WebCore::Font represents more than one NSFont.
      
              * bindings/objc/DOMNode.mm: (-[DOMNode lineBoxRects]): Updated to use Vector.
              * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
              * bridge/mac/FrameViewMac.mm: (WebCore::FrameView::updateDashboardRegions): Ditto.
              * css/CSSComputedStyleDeclaration.cpp:
              (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
              * dom/Document.cpp:
              (WebCore::Document::dashboardRegions): Ditto.
              (WebCore::Document::setDashboardRegions): Ditto.
              * dom/Document.h: Ditto.
              * editing/ReplaceSelectionCommand.cpp:
              (WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
              * html/FormDataList.h: Ditto.
              * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isFocusable): Ditto.
              * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): Ditto.
              * kcanvas/RenderPath.cpp: (WebCore::RenderPath::absoluteRects): Ditto.
              * kcanvas/RenderPath.h: Ditto.
              * kcanvas/RenderSVGImage.cpp: (WebCore::RenderSVGImage::absoluteRects): Ditto.
              * kcanvas/RenderSVGImage.h: Ditto.
              * kcanvas/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): Ditto.
              * kcanvas/RenderSVGText.h: Ditto.
              * loader/FormData.cpp:
              (WebCore::FormData::flatten): Ditto.
              (WebCore::FormData::flattenToString): Ditto.
              * loader/FormData.h: (WebCore::FormData::elements): Ditto.
              * loader/mac/LoaderFunctionsMac.mm: (WebCore::ServeSynchronousRequest): Ditto.
              * page/Frame.cpp: (WebCore::Frame::markedTextUnderlines): Ditto.
              * page/Frame.h: Ditto.
              * page/FramePrivate.h: Ditto.
              * platform/mac/ResourceLoaderMac.mm: (WebCore::ResourceLoader::start): Ditto.
              * rendering/InlineTextBox.h: Ditto.
              * rendering/InlineTextBox.cpp:
              (WebCore::InlineTextBox::paint): Ditto.
              (WebCore::InlineTextBox::paintMarkedTextUnderline): Ditto.
              * rendering/RenderContainer.h: Ditto.
              * rendering/RenderContainer.cpp: (WebCore::RenderContainer::lineBoxRects): Ditto.
              * rendering/RenderInline.h: Ditto.
              * rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): Ditto.
              * rendering/RenderObject.h: Ditto.
              * rendering/RenderObject.cpp:
              (WebCore::RenderObject::lineBoxRects): Ditto.
              (WebCore::RenderObject::absoluteRects): Ditto.
              (WebCore::RenderObject::absoluteBoundingBoxRect): Ditto.
              (WebCore::RenderObject::addDashboardRegions): Ditto.
              (WebCore::RenderObject::collectDashboardRegions): Ditto.
              * rendering/RenderStyle.h: Ditto.
              * rendering/RenderStyle.cpp:
              (WebCore::RenderStyle::initialDashboardRegions): Ditto.
              (WebCore::RenderStyle::noneDashboardRegions): Ditto.
              * rendering/RenderText.h: Ditto.
              * rendering/RenderText.cpp:
              (WebCore::RenderText::absoluteRects): Ditto.
              (WebCore::RenderText::lineBoxRects): Ditto.
              * rendering/RenderView.h: Ditto.
              * rendering/RenderView.cpp: (WebCore::RenderView::absoluteRects): Ditto.
      
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::attributedString): Updated to use Vector and changed to not
              depend on getNSFont on a Font.
              (WebCore::FrameMac::fontForSelection): Changed to not depend on Font::getNSFont.
              (WebCore::FrameMac::fontAttributesForSelectionStart): Ditto.
              (WebCore::convertAttributesToUnderlines): Updated to use Vector.
              (WebCore::FrameMac::setMarkedTextRange): Ditto.
              (WebCore::FrameMac::dashboardRegionsDictionary): Ditto.
      
              * bridge/mac/WebCoreAXObject.mm:
              (boundingBoxRect): Updated to use Vector.
              (AXAttributeStringSetStyle): Changed to not depend on Font::getNSFont.
      
              * bridge/mac/WebCoreStringTruncator.mm: Updated includes.
              * page/Settings.h: Ditto.
              * platform/mac/WebCoreTextRenderer.mm: Ditto.
              * rendering/EllipsisBox.cpp: Ditto.
      
              * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply):
              Updated to use a Vector that we iterate in reverse order instead of a linked list
              that we reverse by prepending elements instead of adding to the end.
              * editing/InsertParagraphSeparatorCommand.cpp:
              (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
      
              * loader/DocLoader.h: Removed unneeded include of DeprecatedPtrList.h.
      
              * platform/Font.h: Moved TextStyle to a separate header. Removed Font::getNSFont.
              * platform/Font.cpp: Changed to use const instead of #define.
              (WebCore::Font::width): Overloaded this so we don't have a default parameter, which
              eliminates the need to have TextStyle defined to compiler the Font.h header.
      
              * platform/TextStyle.h: Added.
      
              * platform/FontData.h: Added a forward declaration of ATSUStyle so this header
              can stand alone.
      
              * platform/FontFallbackList.h: Tweaks.
              * platform/FontFallbackList.cpp: Tweaks.
      
              * platform/FontFamily.h: Removed unneeded NSString declaration. Simplified class by
              using Shared and RefPtr, which resulted in removing many explicit functions.
              * platform/FontFamily.cpp: More of the same.
      
              * platform/GlyphBuffer.h: Removed unneeded MAX_GLYPH_EXPANSION and GLYPH_BUFFER_SIZE
              macros.
      
              * platform/GlyphMap.h: Removed unneeded include of GlyphBuffer.h, which was included
              only for the typedef of Glyph; there's no reason to not just repeat that typedef here
              since C++ allows multiple typedefs if they match. Renamed the cGlyphPageSize constant
              to GlyphPage::size.
              * platform/GlyphMap.cpp: Changed NO_BREAK_SPACE and ZERO_WIDTH_SPACE macros into
              constants. Updated for cGlyphPageSize change.
              * platform/mac/GlyphMapMac.cpp: Updated for cGlyphPageSize change.
      
              * platform/GlyphWidthMap.h: Removed unneeded include of GlyphBuffer.h, which was included
              only for the typedef of Glyph; there's no reason to not just repeat that typedef here
              since C++ allows multiple typedefs if they match. Renamed the cGlyphWidthPageSize constant
              to GlyphWidthPage::size.
              * platform/GlyphWidthMap.cpp: Updated for cGlyphWidthPageSize change.
      
              * platform/GraphicsContext.h: Removed unneeded include of Font.h. Changed drawText
              function to use overloading instead of default parameters to allow TextStyle to be optional.
              This cuts the dependency on TextStyle.
              * platform/GraphicsContext.cpp: (WebCore::GraphicsContext::drawText): Added overload.
      
              * platform/Image.h: Removed unneeded forward declaration of IntSize.
      
              * platform/mac/FontCacheMac.mm: (WebCore::FontCache::getFontDataForCharacters):
              Changed to not depend on Font::getNSFont.
              * platform/mac/ListBoxMac.mm: (-[WebCoreTableView fontChanged]): Ditto.
              * platform/mac/TextFieldMac.mm: (-[NSSearchFieldCell _addStringToRecentSearches:]):
              Ditto.
              * rendering/RenderPopupMenuMac.mm:
              (WebCore::RenderPopupMenuMac::showPopup): Ditto.
              (WebCore::RenderPopupMenuMac::addGroupLabel): Ditto.
              (WebCore::RenderPopupMenuMac::addOption): Ditto.
      
              * platform/mac/FontDataMac.mm: Fixed includes. Converted a bunch of macros to be
              constants and inline functions instead.
      
              * platform/mac/FontMac.mm: Fixed includes.
              * platform/mac/PopUpButtonMac.mm: Ditto.
              * rendering/RenderMenuList.cpp: Ditto.
              * rendering/RenderTextControl.cpp: Ditto.
      
              * platform/mac/WebCoreSystemInterface.h: Fixes so this header stands alone and is
              compatible with all 4 of C, ObjC, C++, ObjC++.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      be6eb6ba
    • aroben's avatar
      2006-09-05 MorganL <morlmor@yahoocom> · d3f57fa5
      aroben authored
              Reviewed/landed by aroben.
      
              Fixes bug 10743: Windows build is busted.
      
              WebCore:
                      * WebCore.vcproj/WebCore/WebCore.vcproj:
                      * bridge/win/FrameWin.h:
                      * platform/ResourceLoaderInternal.h:
                      * platform/TextEncodingRegistry.cpp:
                      * platform/win/ResourceLoaderWin.cpp:
                      (WebCore::ResourceLoaderWndProc):
                      (WebCore::ResourceLoader::start):
                      * platform/win/TemporaryLinkStubs.cpp:
                      (FrameWin::markMisspellings):
                      (FrameWin::shouldChangeSelection):
                      (FrameWin::respondToChangedSelection):
                      (FrameWin::respondToChangedContents):
                      (RenderThemeWin::adjustMenuListStyle):
      
              WebKit:
                      * COM/WebView.cpp:
                      (WebView::keyPress):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d3f57fa5
    • darin's avatar
      - some quick build fixes · 3c5b049d
      darin authored
              * bridge/mac/WebCoreAXObject.mm: Remove use of WebCore::UChar.
              * bridge/mac/WebCoreFrameBridge.mm: Ditto. Also remove include
              of CharsetNames.h.
              * css/CSSGrammar.y: Remove use of WebCore::UChar.
              * platform/UChar.h: Back out WebCore::UChar for now.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3c5b049d
  19. 05 Sep, 2006 4 commits
    • darin's avatar
      LayoutTests: · b3547a37
      darin authored
              Reviewed by Alexey.
      
              - test for bug where the charset in a link element for a CSS stylesheet is ignored.
                I noticed this while working on new text encoding machinery.
      
              * fast/encoding/css-link-charset-expected.txt: Added.
              * fast/encoding/css-link-charset.css: Added.
              * fast/encoding/css-link-charset.html: Added.
      
              - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=10681
                REGRESSION: Reproducible crash at Wikipedia
                (Alexey wrote this one, I reviewed.)
      
              * fast/forms/form-data-encoding-normalization-overrun-expected.txt: Added.
              * fast/forms/form-data-encoding-normalization-overrun.html: Added.
      
              - and a tweak to an existing test
      
              * fast/forms/form-data-encoding.html: Changed to dump encoded URL so it's easier to
              diagnose this when it fails.
      
      WebCore:
      
              Reviewed by Alexey.
      
              - http://bugzilla.opendarwin.org/show_bug.cgi?id=10728
                text encodings should work without a numeric ID
      
              - includes a fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=10681
                REGRESSION: Reproducible crash at Wikipedia
      
              - fixed a bug where link elements would not set the charset properly for
                CSS stylesheets they loaded
      
              - converted DeprecatedString code paths that are related to decoding web
                pages to use String instead, to ensure that conversion back and forth won't
                hurt performance
      
              Test: fast/encoding/css-link-charset.html
              Test: fast/forms/form-data-encoding-normalization-overrun.html
      
              Coverage for encoding issues is pretty good, so we probably don't need more
              tests to land this. Our existing tests did find issues with this patch while
              it was under development. And I suppose it would be nice to have even more tests.
      
              * platform/TextEncoding.h:
              * platform/TextEncoding.cpp:
              (WebCore::addEncodingName): Added. Used to build up the set used by isJapanese.
              (WebCore::TextEncoding::TextEncoding): Removed boolean "eight bit only" parameter and
              added an overload for String as well as const char*. Simplified because now the only
              data member is m_name -- calls the registry's atomicCanonicalTextEncodingName function
              to make the name canonical (resolve aliases) and atomic (use a single pointer for each
              encoding name so we can compare and hash efficiently).
              (WebCore::TextEncoding::decode): Renamed from toUnicode. Just a simple wrapper on top
              of TextDecoder that can be used when the data to decode is all present at once.
              (WebCore::TextEncoding::encode): Renamed from fromUnicode. Handles the normalization and
              then uses the registry to get a codec to handle the rest.
              (WebCore::TextEncoding::usesVisualOrdering): New implementation that compares with the
              name of the only encoding that uses visual ordering. We blur the concepts a bit so that
              we treat the visual ordering and logical ordering variations as two separate encodings.
              (WebCore::TextEncoding::isJapanese): New implementation that uses a set to efficiently
              determine if an encoding is Japanese.
              (WebCore::TextEncoding::backslashAsCurrencySymbol): New implementation that compares
              with the names of the two encodings that have the strange backslash.
              (WebCore::TextEncoding::closest8BitEquivalent): Added. Replaces the old "eight bit only"
              boolean parameter to the constructor.
              (WebCore::ASCIIEncoding): Added.
              (WebCore::Latin1Encoding): Added.
              (WebCore::UTF16BigEndianEncoding): Added.
              (WebCore::UTF16LittleEndianEncoding): Added.
              (WebCore::UTF8Encoding): Added.
              (WebCore::WindowsLatin1Encoding): Added.
      
              * platform/TextEncodingRegistry.h: Added.
              * platform/TextEncodingRegistry.cpp: Added. Keeps a table of all the character set
              aliases and names and another of all the codecs and parameters for each name.
      
              * platform/TextDecoder.h: Added.
              * platform/TextDecoder.cpp: Added. Contains logic to look for a BOM and hand the data
              to the proper codec, based on code that used to be in both the ICU and Mac codecs.
      
              * platform/StreamingTextDecoder.h: Renamed class to TextCodec. We'll rename
              the files in a later check-in. Moved creation functions into TextEncodingRegistry.h.
              Added typedefs of the registrar function types so classes derived from this one
              can use them without including the TextEncodingRegistry header. Renamed toUnicode
              and fromUnicode to decode and encode. Changed the parameter and return types so that
              the parameters are pointers to the data and the return types are String and CString.
              * platform/StreamingTextDecoder.cpp:
              (WebCore::TextCodec::appendOmittingBOM): Added. Helper function used by multiple
              classes derived from this one.
      
              * platform/TextCodecLatin1.h: Added.
              * platform/TextCodecLatin1.cpp: Added. Contains logic to handle encoding and decoding
              Windows Latin-1, based on code that used to be in both the ICU and Mac codecs.
      
              * platform/TextCodecUTF16.h: Added.
              * platform/TextCodecUTF16.cpp: Added. Contains logic to handle encoding and decoding
              UTF-16, based on code that used to be in both the ICU and Mac codecs.
      
              * platform/StreamingTextDecoderICU.h: Renamed class to TextCodecICU. We'll rename
              the files in a later check-in. Removed all the functions having to do with handling
              BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
              because that's superseded by the registry. Added registry hook functions.
              * platform/StreamingTextDecoderICU.cpp:
              (WebCore::TextCodecICU::registerEncodingNames): Added. Registers all encodings that
              ICU can handle with the "IANA" standard. Also includes a special case for a particular
              type of encoding for Hebrew that uses logical ordering. Also includes aliases that are
              not in ICU but that were historically known to WebKit for encodings that ICU handles. 
              (WebCore::newTextCodecICU): Added. Used by registerCodecs.
              (WebCore::TextCodecICU::registerCodecs): Added. Registers codecs for the same encodings
              as above.
              (WebCore::TextCodecICU::TextCodecICU): Much simplified since this now only handles the
              actual ICU encoding and decoding.
              (WebCore::TextCodecICU::~TextCodecICU): Renamed.
              (WebCore::TextCodecICU::releaseICUConverter): Changed to be a const member function.
              (WebCore::TextCodecICU::createICUConverter): Changed to be a const member function and
              to check if the cached converter can be reused in a simpler way.
              (WebCore::TextCodecICU::decode): Updated for changes to types.
              (WebCore::TextCodecICU::encode): Updated for changes to types, and removed normalization
              since this is now handled by the caller.
      
              * platform/mac/StreamingTextDecoderMac.h: Renamed class to TextCodecMac. We'll rename
              the files in a later check-in. Removed all the functions having to do with handling
              BOM, UTF-16, and Latin-1; those are now handled elsewhere. Removed textEncodingSupported
              because that's superseded by the registry. Added registry hook functions.
              * platform/mac/StreamingTextDecoderMac.cpp:
              (WebCore::TextCodecMac::registerEncodingNames): Added. Registers encodings based on
              the charset table generated by the make-charset-table.pl perl script.
              (WebCore::newTextCodecMac): Added. Used by registerCodecs.
              (WebCore::TextCodecMac::registerCodecs): Added. Registers codecs for the same encodings
              as above.
              (WebCore::TextCodecMac::TextCodecMac): Much simplified since this now only handles the
              actual TEC/CF encoding and decoding.
              (WebCore::TextCodecMac::~TextCodecMac): Renamed.
              (WebCore::TextCodecMac::releaseTECConverter): Changed to be a const member function.
              (WebCore::TextCodecMac::createTECConverter): Changed to be a const member function.
              (WebCore::TextCodecMac::decode): Updated for changes to types.
              (WebCore::TextCodecMac::encode): Updated for changes to types, and removed normalization
              since this is now handled by the caller.
      
              * platform/mac/mac-encodings.txt: Removed most of the names in this file. This now
              only includes encodings where we want to use Mac OS X Carbon Text Encoding Converter,
              which is only encodings that are not supported by ICU.
              * platform/make-charset-table.pl: Removed flags from output. We don't use them any more.
              * platform/CharsetData.h: Changed from a platform-independent header into a
              Macintosh-specific one. A later patch should move this and rename it. Also
              subsumes ExtraCFEncodings.h.
      
              * WebCore.xcodeproj/project.pbxproj: Added new files. Changed the prefix on the
              "make character sets" rule to be kTextEncoding instead of kCFStringEncoding.
      
              * loader/Decoder.h: Change the default encoding parameter to the constructor to be
              a TextEncoding object. Renamed setEncodingName to setEncoding, and made it take a
              TextEncoding for the encoding. Removed the encodingName and visuallyOrdered functions,
              since TextEncoding supports both directly in a straightforward way. Changed both
              decode and flush functions to return String instead of DeprecatedString. Added a
              number of private functions to factor this class a bit more so it's easier to read.
              Got rid of a number of redundant data members. Changed the buffer to a Vector<char>.
              * loader/Decoder.cpp:
              (WebCore::Decoder::determineContentType): Added. Used by constructor to determine
              the content type based on the passed-in MIME type.
              (WebCore::Decoder::defaultEncoding): Added. Used by constructor to determine the
              default encoding based on the passed in default and the content type.
              (WebCore::Decoder::Decoder): Changed to use the functions above. Also renamed
              m_reachedBody to m_checkedForHeadCharset.
              (WebCore::Decoder::setEncoding): Renamed and changed to take an encoding rather
              than an encoding name.
              (WebCore::Decoder::checkForBOM): Factored out of decode.
              (WebCore::Decoder::checkForCSSCharset): Factored out of decode.
              (WebCore::Decoder::checkForHeadCharset): Factored out of decode.
              (WebCore::Decoder::detectJapaneseEncoding): Factored out of decode.
              (WebCore::Decoder::decode): Refactored so it's no longer one huge function.
              Changed to use the new Vector<char> and the new API for TextDecoder.
              (WebCore::Decoder::flush): Added code to empty out the buffer. Not an issue in
              practice since we don't re-use the decoder after flushing it.
      
              * platform/UChar.h: Added. Has the type named WebCore::UChar that we'll be switching
              to. We'll switch away from the ICU ::UChar type, because we don't want to be so
              closely tied to ICU -- include this instead of <unicode/umachine.h>.
      
              * platform/PlatformString.h:
              * platform/String.cpp:
              (WebCore::String::latin1): Updated for changes to TextEncoding.
              (WebCore::String::utf8): Ditto.
              (WebCore::String::newUninitialized): Added. Gives a way to create a String and
              then write directly into its buffer.
      
              * platform/StringImpl.h: Changed return value for charactersWithNullTermination to
              be a const UChar*. While it's true that this function changes the underlying
              StringImpl, the characters still shouldn't be modified with the returned pointer.
              * platform/StringImpl.cpp:
              (WebCore::StringImpl::charactersWithNullTermination): Updated for change above.
              (WebCore::StringImpl::newUninitialized): Added. Gives a way to create a StringImpl
              and then write directly into its buffer.
      
              * platform/CString.h:
              * platform/CString.cpp: (WebCore::CString::newUninitialized): Added. Gives a way
              to create a CString and then write directly into its buffer.
      
              * bridge/mac/WebCoreFrameBridge.h: Removed textEncoding method, and replaced
              +[WebCoreFrameBridge stringWithData:textEncoding:] with
              -[WebCoreFrameBridge stringWithData:] to avoid having to pass text encoding
              IDs around.
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge setEncoding:userChosen:]): Removed now-unneeded conversion
              to DeprecatedString.
              (-[WebCoreFrameBridge stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
              Ditto.
              (-[WebCoreFrameBridge aeDescByEvaluatingJavaScriptFromString:]): Ditto.
              (-[WebCoreFrameBridge referrer]): Removed now-unneeded call to getNSString.
              (-[WebCoreFrameBridge stringWithData:]): Added. Asks the document's decoder
              what its encoding is, and decodes using that.
              (+[WebCoreFrameBridge stringWithData:textEncodingName:]): Simplified so it
              no longer involved a text encoding ID number.
              (-[WebCoreFrameBridge smartInsertForString:replacingRange:beforeString:afterString:]):
              Changed to use UChar instead of DeprecatedChar.
              (-[WebCoreFrameBridge documentFragmentWithMarkupString:baseURLString:]): Removed
              now-unneeded conversion to DeprecatedString.
              (-[WebCoreFrameBridge documentFragmentWithText:inContext:]): Ditto.
      
              * html/HTMLFormElement.cpp:
              (WebCore::encodeCString): Changed parameter to CString.
              (WebCore::HTMLFormElement::formData): Updated code for improvements to TextEncoding.
      
              * loader/CachedCSSStyleSheet.h:
              * loader/CachedCSSStyleSheet.cpp:
              (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet): Fixed mistake where the
              decoder was created without passing in the character set. Also changed from
              DeprecatedString to String.
              (WebCore::CachedCSSStyleSheet::setCharset): More of the same.
      
              * bindings/js/kjs_window.h: (KJS::ScheduledAction::ScheduledAction): Changed
              to use String instead of DeprecatedString, UChar instead of DeprecatedChar,
              CString instead of DeprecatedCString, etc.
              * bridge/mac/FormDataMac.mm: (WebCore::arrayFromFormData): Ditto.
              * bridge/mac/FrameMac.h: Ditto.
              * bridge/mac/FrameMac.mm: (WebCore::FrameMac::isCharacterSmartReplaceExempt):
              Ditto.
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject helpText]): Ditto.
              (-[WebCoreAXObject value]): Ditto.
              (-[WebCoreAXObject accessibilityDescription]): Ditto.
              (-[WebCoreAXObject doAXStringForTextMarkerRange:]): Ditto.
              * bridge/mac/WebCoreEncodings.mm: (+[WebCoreEncodings decodeData:]): Ditto.
              Also fixed code that does a deref without a ref to use RefPtr instead.
              * bridge/mac/WebCoreScriptDebugger.mm:
              (-[WebCoreScriptCallFrame evaluateWebScript:]): Ditto.
              * bridge/mac/WebCoreSettings.mm:
              (-[WebCoreSettings setDefaultTextEncoding:]): Ditto.
              * css/CSSImportRule.cpp: (WebCore::CSSImportRule::insertedIntoParent): Ditto.
              * css/cssparser.cpp: (WebCore::CSSParser::lex): Ditto.
              * dom/Document.h:
              * dom/Document.cpp:
              (WebCore::Document::setCharset): Ditto.
              (WebCore::Document::write): Ditto.
              (WebCore::Document::determineParseMode): Ditto.
              * dom/ProcessingInstruction.cpp:
              (WebCore::ProcessingInstruction::checkStyleSheet): Ditto.
              * dom/XMLTokenizer.h:
              * dom/XMLTokenizer.cpp:
              (WebCore::shouldAllowExternalLoad): Ditto.
              (WebCore::createStringParser): Ditto.
              (WebCore::XMLTokenizer::write): Ditto.
              (WebCore::toString): Ditto.
              (WebCore::handleElementAttributes): Ditto.
              (WebCore::XMLTokenizer::startElementNs): Ditto.
              (WebCore::XMLTokenizer::endElementNs): Ditto.
              (WebCore::XMLTokenizer::characters): Ditto.
              (WebCore::XMLTokenizer::processingInstruction): Ditto.
              (WebCore::XMLTokenizer::cdataBlock): Ditto.
              (WebCore::XMLTokenizer::comment): Ditto.
              (WebCore::XMLTokenizer::internalSubset): Ditto.
              (WebCore::getXHTMLEntity): Ditto.
              (WebCore::externalSubsetHandler): Ditto.
              (WebCore::XMLTokenizer::initializeParserContext): Ditto.
              (WebCore::XMLTokenizer::notifyFinished): Ditto.
              (WebCore::xmlDocPtrForString): Ditto.
              (WebCore::parseXMLDocumentFragment): Ditto.
              (WebCore::attributesStartElementNsHandler): Ditto.
              (WebCore::parseAttributes): Ditto.
              * html/FormDataList.h:
              * html/FormDataList.cpp:
              (WebCore::FormDataList::appendString): Ditto. Also changed to call the
              encoding function by its new name and with new parameters.
              (WebCore::FormDataList::appendFile): Ditto.
              * html/HTMLDocument.h:
              * html/HTMLDocument.cpp:
              (WebCore::parseDocTypePart): Ditto.
              (WebCore::containsString): Ditto.
              (WebCore::parseDocTypeDeclaration): Ditto.
              (WebCore::HTMLDocument::determineParseMode): Ditto.
              * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::appendFormData): Ditto.
              * html/HTMLScriptElement.cpp:
              (WebCore::HTMLScriptElement::parseMappedAttribute): Ditto.
              * html/HTMLTokenizer.h:
              * html/HTMLTokenizer.cpp:
              (WebCore::HTMLTokenizer::scriptHandler): Ditto.
              (WebCore::HTMLTokenizer::parseTag): Ditto.
              (WebCore::HTMLTokenizer::write): Ditto.
              (WebCore::HTMLTokenizer::finish): Ditto.
              (WebCore::parseHTMLDocumentFragment): Ditto.
              * loader/Cache.h:
              * loader/Cache.cpp:
              (WebCore::Cache::requestStyleSheet): Ditto.
              (WebCore::Cache::requestScript): Ditto.
              * loader/CachedResource.h: Ditto.
              * loader/CachedScript.h:
              * loader/CachedScript.cpp:
              (WebCore::CachedScript::CachedScript): Ditto.
              (WebCore::CachedScript::ref): Ditto.
              (WebCore::CachedScript::deref): Ditto.
              (WebCore::CachedScript::setCharset): Ditto.
              (WebCore::CachedScript::data): Ditto.
              (WebCore::CachedScript::checkNotify): Ditto.
              * loader/CachedXBLDocument.h:
              * loader/CachedXBLDocument.cpp:
              (WebCore::CachedXBLDocument::setCharset): Ditto.
              * loader/CachedXSLStyleSheet.h:
              * loader/CachedXSLStyleSheet.cpp:
              (WebCore::CachedXSLStyleSheet::setCharset): Ditto.
              * loader/DocLoader.cpp:
              (WebCore::DocLoader::requestStyleSheet): Ditto.
              (WebCore::DocLoader::requestScript): Ditto.
              * loader/DocLoader.h: Ditto.
              * loader/FormData.h:
              * loader/FormData.cpp:
              (WebCore::FormData::FormData): Ditto.
              (WebCore::FormData::appendFile): Ditto.
              (WebCore::FormData::flattenToString): Ditto.
              * page/Frame.h:
              * page/FramePrivate.h:
              * page/Frame.cpp:
              (WebCore::UserStyleSheetLoader::setStyleSheet): Ditto.
              (WebCore::getString): Ditto.
              (WebCore::Frame::replaceContentsWithScriptResult): Ditto.
              (WebCore::Frame::executeScript): Ditto.
              (WebCore::Frame::clear): Ditto.
              (WebCore::Frame::write): Ditto.
              (WebCore::Frame::endIfNotLoading): Ditto.
              (WebCore::Frame::baseTarget): Ditto.
              (WebCore::Frame::scheduleRedirection): Ditto.
              (WebCore::Frame::scheduleLocationChange): Ditto.
              (WebCore::Frame::scheduleHistoryNavigation): Ditto.
              (WebCore::Frame::changeLocation): Ditto.
              (WebCore::Frame::redirectionTimerFired): Ditto.
              (WebCore::Frame::encoding): Ditto.
              (WebCore::Frame::submitForm): Ditto.
              (WebCore::Frame::referrer): Ditto.
              (WebCore::Frame::isCharacterSmartReplaceExempt): Ditto.
              (WebCore::Frame::setEncoding): Ditto.
              * page/Settings.h: Ditto.
              * platform/SegmentedString.h: Ditto.
              * platform/SegmentedString.cpp: Ditto.
              * xml/XSLStyleSheet.cpp: (WebCore::XSLStyleSheet::parseString): Ditto.
              * xml/XSLTProcessor.cpp:
              (WebCore::transformTextStringToXHTMLDocumentString): Ditto.
              (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.
              * xml/xmlhttprequest.h:
              * xml/xmlhttprequest.cpp:
              (WebCore::XMLHttpRequest::open): Ditto.
              (WebCore::XMLHttpRequest::send): Ditto.
              (WebCore::XMLHttpRequest::receivedData): Ditto.
      
              * platform/DeprecatedString.cpp:
              (WebCore::DeprecatedString::fromUtf8): Updated for changes to TextEncoding.
              (WebCore::DeprecatedString::utf8): Ditto.
      
              * platform/KURL.h:
              * platform/KURL.cpp:
              (WebCore::KURL::KURL): Updated to overload based on presence or absence of
              TextEncoding rather than having a default.
              (WebCore::KURL::init): Moved body of constructor in here. Updated to use
              the new TextEncoding interface.
              (WebCore::KURL::decode_string): Updated to overload based on presence or
              absence of TextEncoding rather than having a default. Updated to use
              the new TextEncoding interface.
              (WebCore::encodeRelativeString): Updated to use the new TextEncoding interface.
      
              * platform/Font.cpp: (WebCore::WidthIterator::normalizeVoicingMarks): Fixed
              code to use U_ZERO_ERROR instead of a typecast.
      
              * bindings/js/kjs_proxy.h: Removed unneeded declaration of DeprecatedString.
              * platform/GraphicsContext.h: Ditto.
      
              * platform/GraphicsContext.cpp: Removed unneeded include of "DeprecatedString.h".
              * rendering/break_lines.cpp: Ditto.
              * xml/XMLSerializer.cpp: Ditto.
      
              * platform/mac/FontDataMac.mm: Removed unneeded include of <unicode/unorm.h>.
      
              * platform/CharsetNames.h: Emptied out this file. A later patch could remove it.
              * platform/CharsetNames.cpp: Ditto.
              * platform/mac/ExtraCFEncodings.h: Ditto.
      
      WebKit:
      
              Reviewed by Alexey.
      
              - WebKit side of changes to encoding
      
              * WebView/WebHTMLRepresentation.m: (-[WebHTMLRepresentation documentSource]):
              Changed to call new -[WebCoreFrameBridge stringWithData:] instead of the calling
              the old methods that used a CFStringEncoding: -[WebCoreFrameBridge textEncoding]
              and +[WebCoreFrameBridge stringWithData:textEncoding:].
      
              * WebView/WebResource.m: (-[WebResource _stringValue]): Removed special case for
              nil encoding name. The bridge itself now has the rule that "nil encoding name
              means Latin-1", so we don't need to check for nil.
      
              * WebView/WebFrame.m: (-[WebFrame _checkLoadComplete]): Retain the frame until
              we get the parent frame while walking up parent frames, because it's possible
              for _checkLoadCompleteForThisFrame to release the last reference to the frame.
              (Not reviewed; needed to run performance tests successfully.)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b3547a37
    • weinig's avatar
      Reviewed by Tim H. · 090c3d8f
      weinig authored
              Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10742
              More Objective-C DOM auto-generation cleanup
              
              - Factor out implementation type-getters into their own function 
                and standardize naming as was done for type-makers (ie. HTML 
                and CSS prefixing for method names).
      
              * bindings/objc/DOMCSS.mm:
              (-[DOMCSSStyleDeclaration getPropertyShorthand:]):
              (-[DOMCSSStyleDeclaration isPropertyImplicit:]):
              (-[DOMCSSStyleDeclaration _CSSStyleDeclaration]):
              * bindings/objc/DOMHTML.mm:
              (-[DOMHTMLTableCaptionElement _HTMLTableCaptionElement]):
              (-[DOMHTMLTableSectionElement _HTMLTableSectionElement]):
              (-[DOMHTMLTableElement _HTMLTableElement]):
              (-[DOMHTMLTableCellElement _HTMLTableCellElement]):
              (-[DOMHTMLEmbedElement _HTMLEmbedElement]):
              (-[DOMHTMLEmbedElement align]):
              (-[DOMHTMLEmbedElement setAlign:]):
              (-[DOMHTMLEmbedElement height]):
              (-[DOMHTMLEmbedElement setHeight:]):
              (-[DOMHTMLEmbedElement name]):
              (-[DOMHTMLEmbedElement setName:]):
              (-[DOMHTMLEmbedElement src]):
              (-[DOMHTMLEmbedElement setSrc:]):
              (-[DOMHTMLEmbedElement type]):
              (-[DOMHTMLEmbedElement setType:]):
              (-[DOMHTMLEmbedElement width]):
              (-[DOMHTMLEmbedElement setWidth:]):
              * bindings/objc/DOMInternal.h:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge setTypingStyle:withUndoAction:]):
              (-[WebCoreFrameBridge applyStyle:withUndoAction:]):
              (-[WebCoreFrameBridge applyParagraphStyle:withUndoAction:]):
              (-[WebCoreFrameBridge selectionStartHasStyle:]):
              (-[WebCoreFrameBridge selectionHasStyle:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      090c3d8f
    • justing's avatar
      LayoutTests: · 397edaa4
      justing authored
              Reviewed by thatcher
              
              Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
      
              Fixed:
              * editing/pasteboard/4641033-expected.checksum:
              * editing/pasteboard/4641033-expected.png:
              * editing/execCommand/outdent-selection-expected.checksum:
              * editing/execCommand/outdent-selection-expected.png:
      
              Added a didChangeSelection notification that was absent before:
              * editing/deleting/collapse-whitespace-3587601-fix-expected.txt:
              * editing/deleting/delete-3608430-fix-expected.txt:
              * editing/deleting/delete-3608462-fix-expected.txt:
              * editing/deleting/delete-3775172-fix-expected.txt:
              * editing/deleting/delete-3800834-fix-expected.txt:
              * editing/deleting/delete-3857753-fix-expected.txt:
              * editing/deleting/delete-3865854-fix-expected.txt:
              * editing/deleting/delete-3928305-fix-expected.txt:
              * editing/deleting/delete-3959464-fix-expected.txt:
              * editing/deleting/delete-4038408-fix-expected.txt:
              * editing/deleting/delete-all-text-in-text-field-assertion-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-001-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-002-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-005-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-006-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-007-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-009-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-010-expected.txt:
              * editing/deleting/delete-at-paragraph-boundaries-011-expected.txt:
              * editing/deleting/delete-block-contents-001-expected.txt:
              * editing/deleting/delete-block-contents-002-expected.txt:
              * editing/deleting/delete-block-contents-003-expected.txt:
              * editing/deleting/delete-block-merge-contents-001-expected.txt:
              * editing/deleting/delete-block-merge-contents-002-expected.txt:
              * editing/deleting/delete-block-merge-contents-003-expected.txt:
              * editing/deleting/delete-block-merge-contents-004-expected.txt:
              * editing/deleting/delete-block-merge-contents-005-expected.txt:
              * editing/deleting/delete-block-merge-contents-006-expected.txt:
              * editing/deleting/delete-block-merge-contents-007-expected.txt:
              * editing/deleting/delete-block-merge-contents-008-expected.txt:
              * editing/deleting/delete-block-merge-contents-009-expected.txt:
              * editing/deleting/delete-block-merge-contents-010-expected.txt:
              * editing/deleting/delete-block-merge-contents-012-expected.txt:
              * editing/deleting/delete-block-merge-contents-013-expected.txt:
              * editing/deleting/delete-block-merge-contents-014-expected.txt:
              * editing/deleting/delete-block-merge-contents-015-expected.txt:
              * editing/deleting/delete-block-merge-contents-016-expected.txt:
              * editing/deleting/delete-block-merge-contents-017-expected.txt:
              * editing/deleting/delete-block-merge-contents-018-expected.txt:
              * editing/deleting/delete-block-merge-contents-019-expected.txt:
              * editing/deleting/delete-block-merge-contents-020-expected.txt:
              * editing/deleting/delete-block-merge-contents-021-expected.txt:
              * editing/deleting/delete-block-merge-contents-022-expected.txt:
              * editing/deleting/delete-block-merge-contents-023-expected.txt:
              * editing/deleting/delete-block-merge-contents-024-expected.txt:
              * editing/deleting/delete-block-table-expected.txt:
              * editing/deleting/delete-br-008-expected.txt:
              * editing/deleting/delete-br-010-expected.txt:
              * editing/deleting/delete-br-011-expected.txt:
              * editing/deleting/delete-first-list-item-expected.txt:
              * editing/deleting/delete-image-001-expected.txt:
              * editing/deleting/delete-image-002-expected.txt:
              * editing/deleting/delete-image-003-expected.txt:
              * editing/deleting/delete-image-004-expected.txt:
              * editing/deleting/delete-line-001-expected.txt:
              * editing/deleting/delete-line-002-expected.txt:
              * editing/deleting/delete-line-003-expected.txt:
              * editing/deleting/delete-line-004-expected.txt:
              * editing/deleting/delete-line-005-expected.txt:
              * editing/deleting/delete-line-006-expected.txt:
              * editing/deleting/delete-line-007-expected.txt:
              * editing/deleting/delete-line-008-expected.txt:
              * editing/deleting/delete-line-009-expected.txt:
              * editing/deleting/delete-line-010-expected.txt:
              * editing/deleting/delete-line-011-expected.txt:
              * editing/deleting/delete-line-012-expected.txt:
              * editing/deleting/delete-line-013-expected.txt:
              * editing/deleting/delete-line-014-expected.txt:
              * editing/deleting/delete-line-015-expected.txt:
              * editing/deleting/delete-line-016-expected.txt:
              * editing/deleting/delete-line-017-expected.txt:
              * editing/deleting/delete-listitem-001-expected.txt:
              * editing/deleting/delete-listitem-002-expected.txt:
              * editing/deleting/delete-mixed-editable-content-001-expected.txt:
              * editing/deleting/delete-select-all-001-expected.txt:
              * editing/deleting/delete-select-all-002-expected.txt:
              * editing/deleting/delete-select-all-003-expected.txt:
              * editing/deleting/merge-different-styles-expected.txt:
              * editing/deleting/merge-endOfParagraph-expected.txt:
              * editing/deleting/merge-no-br-expected.txt:
              * editing/deleting/pruning-after-merge-1-expected.txt:
              * editing/deleting/pruning-after-merge-2-expected.txt:
              * editing/deleting/table-cells-expected.txt:
              * editing/execCommand/boldSelection-expected.txt:
              * editing/execCommand/create-list-from-range-selection-expected.txt:
              * editing/execCommand/createLink-expected.txt:
              * editing/execCommand/format-block-expected.txt:
              * editing/execCommand/format-block-from-range-selection-expected.txt:
              * editing/execCommand/format-block-with-braces-expected.txt:
              * editing/execCommand/format-block-with-trailing-br-expected.txt:
              * editing/execCommand/hilitecolor-expected.txt:
              * editing/execCommand/indent-list-item-expected.txt:
              * editing/execCommand/indent-selection-expected.txt:
              * editing/execCommand/insert-list-and-stitch-expected.txt:
              * editing/execCommand/insert-list-with-id-expected.txt:
              * editing/execCommand/insertHTML-expected.txt:
              * editing/execCommand/insertHorizontalRule-expected.txt:
              * editing/execCommand/remove-formatting-expected.txt:
              * editing/execCommand/remove-list-from-range-selection-expected.txt:
              * editing/execCommand/remove-list-items-expected.txt:
              * editing/execCommand/strikethroughSelection-expected.txt:
              * editing/execCommand/switch-list-type-expected.txt:
              * editing/execCommand/unlink-expected.txt:
              * editing/input/text-input-controller-expected.txt:
              * editing/inserting/insert-3654864-fix-expected.txt:
              * editing/inserting/insert-3659587-fix-expected.txt:
              * editing/inserting/insert-3775316-fix-expected.txt:
              * editing/inserting/insert-3851164-fix-expected.txt:
              * editing/inserting/insert-3907422-fix-expected.txt:
              * editing/inserting/insert-after-delete-001-expected.txt:
              * editing/inserting/insert-div-001-expected.txt:
              * editing/inserting/insert-div-002-expected.txt:
              * editing/inserting/insert-div-003-expected.txt:
              * editing/inserting/insert-div-005-expected.txt:
              * editing/inserting/insert-div-007-expected.txt:
              * editing/inserting/insert-div-009-expected.txt:
              * editing/inserting/insert-div-010-expected.txt:
              * editing/inserting/insert-div-020-expected.txt:
              * editing/inserting/insert-div-023-expected.txt:
              * editing/inserting/insert-div-024-expected.txt:
              * editing/inserting/insert-div-025-expected.txt:
              * editing/inserting/insert-div-026-expected.txt:
              * editing/inserting/multiple-lines-selected-expected.txt:
              * editing/inserting/paragraph-separator-03-expected.txt:
              * editing/inserting/paragraph-separator-in-table-2-expected.txt:
              * editing/inserting/redo-expected.txt:
              * editing/inserting/return-key-with-selection-001-expected.txt:
              * editing/inserting/return-key-with-selection-002-expected.txt:
              * editing/inserting/return-key-with-selection-003-expected.txt:
              * editing/pasteboard/3976872-expected.txt:
              * editing/pasteboard/4076267-3-expected.txt:
              * editing/pasteboard/4076267-expected.txt:
              * editing/pasteboard/4700297-expected.txt:
              * editing/pasteboard/8145-3-expected.txt:
              * editing/pasteboard/block-wrappers-necessary-expected.txt:
              * editing/pasteboard/copy-paste-bidi-expected.txt:
              * editing/pasteboard/displaced-generic-placeholder-expected.txt:
              * editing/pasteboard/displaced-placeholder-expected.txt:
              * editing/pasteboard/display-block-on-spans-expected.txt:
              * editing/pasteboard/drag-drop-modifies-page-expected.txt:
              * editing/pasteboard/interchange-newline-2-expected.txt:
              * editing/pasteboard/merge-after-delete-1-expected.txt:
              * editing/pasteboard/merge-after-delete-2-expected.txt:
              * editing/pasteboard/merge-after-delete-expected.txt:
              * editing/pasteboard/merge-end-3-expected.txt:
              * editing/pasteboard/merge-end-5-expected.txt:
              * editing/pasteboard/merge-end-blockquote-expected.txt:
              * editing/pasteboard/merge-end-list-expected.txt:
              * editing/pasteboard/merge-end-table-expected.txt:
              * editing/pasteboard/paste-4035648-fix-expected.txt:
              * editing/pasteboard/paste-4039777-fix-expected.txt:
              * editing/pasteboard/paste-line-endings-001-expected.txt:
              * editing/pasteboard/paste-line-endings-006-expected.txt:
              * editing/pasteboard/paste-match-style-001-expected.txt:
              * editing/pasteboard/paste-match-style-002-expected.txt:
              * editing/pasteboard/paste-pre-001-expected.txt:
              * editing/pasteboard/paste-pre-002-expected.txt:
              * editing/pasteboard/paste-table-002-expected.txt:
              * editing/pasteboard/paste-table-003-expected.txt:
              * editing/pasteboard/paste-text-006-expected.txt:
              * editing/pasteboard/paste-text-007-expected.txt:
              * editing/pasteboard/paste-text-010-expected.txt:
              * editing/pasteboard/paste-text-011-expected.txt:
              * editing/pasteboard/paste-text-015-expected.txt:
              * editing/pasteboard/paste-text-016-expected.txt:
              * editing/pasteboard/paste-text-017-expected.txt:
              * editing/pasteboard/paste-text-018-expected.txt:
              * editing/pasteboard/prevent-block-nesting-01-expected.txt:
              * editing/pasteboard/smart-paste-003-expected.txt:
              * editing/pasteboard/smart-paste-004-expected.txt:
              * editing/pasteboard/smart-paste-005-expected.txt:
              * editing/pasteboard/smart-paste-006-expected.txt:
              * editing/pasteboard/smart-paste-007-expected.txt:
              * editing/pasteboard/smart-paste-008-expected.txt:
              * editing/pasteboard/testcase-9507-expected.txt:
              * editing/pasteboard/undoable-fragment-removes-expected.txt:
              * editing/selection/expanding-selections-expected.txt:
              * editing/selection/expanding-selections2-expected.txt:
              * editing/selection/node-removal-1-expected.txt:
              * editing/selection/node-removal-2-expected.txt:
              * editing/selection/select-all-iframe-expected.txt:
              * editing/selection/skip-non-editable-1-expected.txt:
              * editing/selection/triple-click-in-pre-expected.txt:
              * editing/style/apple-style-editable-mix-expected.txt:
              * editing/style/block-style-004-expected.txt:
              * editing/style/block-style-005-expected.txt:
              * editing/style/block-style-006-expected.txt:
              * editing/style/create-block-for-style-001-expected.txt:
              * editing/style/create-block-for-style-002-expected.txt:
              * editing/style/create-block-for-style-003-expected.txt:
              * editing/style/create-block-for-style-004-expected.txt:
              * editing/style/create-block-for-style-007-expected.txt:
              * editing/style/create-block-for-style-009-expected.txt:
              * editing/style/create-block-for-style-010-expected.txt:
              * editing/style/create-block-for-style-011-expected.txt:
              * editing/style/create-block-for-style-012-expected.txt:
              * editing/style/create-block-for-style-013-expected.txt:
              * editing/style/designmode-expected.txt:
              * editing/style/relative-font-size-change-001-expected.txt:
              * editing/style/relative-font-size-change-002-expected.txt:
              * editing/style/remove-underline-across-paragraph-expected.txt:
              * editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
              * editing/style/remove-underline-after-paragraph-expected.txt:
              * editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
              * editing/style/remove-underline-from-stylesheet-expected.txt:
              * editing/style/smoosh-styles-001-expected.txt:
              * editing/style/smoosh-styles-002-expected.txt:
              * editing/style/smoosh-styles-003-expected.txt:
              * editing/style/style-3681552-fix-001-expected.txt:
              * editing/style/style-3681552-fix-002-expected.txt:
              * editing/style/style-3690704-fix-expected.txt:
              * editing/style/style-3998892-fix-expected.txt:
              * editing/style/style-boundary-001-expected.txt:
              * editing/style/style-boundary-003-expected.txt:
              * editing/style/style-boundary-004-expected.txt:
              * editing/style/typing-style-001-expected.txt:
              * editing/style/typing-style-003-expected.txt:
              * editing/undo/undo-misspellings-expected.txt:
              * editing/unsupported-content/list-delete-001-expected.txt:
              * editing/unsupported-content/list-delete-002-expected.txt:
              * editing/unsupported-content/list-delete-003-expected.txt:
              * editing/unsupported-content/table-delete-001-expected.txt:
              * editing/unsupported-content/table-delete-002-expected.txt:
              * editing/unsupported-content/table-delete-003-expected.txt:
              * fast/forms/attributed-strings-expected.txt:
              * fast/forms/cursor-position-expected.txt:
              * fast/forms/drag-into-textarea-expected.txt:
              * fast/forms/input-appearance-maxlength-expected.txt:
              * fast/forms/input-paste-undo-expected.txt:
              * fast/forms/input-selection-restore-expected.txt:
              * fast/forms/input-text-paste-maxlength-expected.txt:
              * fast/forms/selection-functions-expected.txt:
              * fast/forms/text-field-setvalue-crash-expected.txt:
              * fast/forms/textarea-paste-newline-expected.txt:
      
      WebCore:
      
              Reviewed by thatcher
              
              Setup for <rdar://problem/4344550> Misspellings aren't marked after undo delete
              
              Fixes:
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=6498>
              SelectionController's setters should notify delegates of selection changes
              
              Moved setSelection from Frame to SelectionController.
              I haven't moved any of the work that's done as a result of a 
              Selection change to SelectionController yet.
              Make fewer uses of SelectionControllers.  They're now only used for 
              the Frame's selection, the Page's drag caret, and functions that
              need to do Selection expansion.
      
              * bindings/js/kjs_window.cpp:
              (KJS::Selection::getValueProperty):
              (KJS::Selection::toString):
              (KJS::SelectionFunc::callAsFunction):
              * bridge/mac/FrameMac.h:
              * bridge/mac/FrameMac.mm:
              (WebCore::FrameMac::advanceToNextMisspelling):
              (WebCore::FrameMac::dispatchCPPEvent):
              (WebCore::FrameMac::fontForSelection):
              (WebCore::FrameMac::baseWritingDirectionForSelectionStart):
              (WebCore::FrameMac::markMisspellingsInAdjacentWords):
              (WebCore::FrameMac::markMisspellings):
              (WebCore::FrameMac::respondToChangedSelection):
              (WebCore::FrameMac::shouldChangeSelection):
              (WebCore::FrameMac::shouldDeleteSelection):
              (WebCore::FrameMac::respondToChangedContents):
              * bridge/mac/PageMac.mm:
              (WebCore::Page::Page):
              * bridge/mac/WebCoreAXObject.mm:
              (-[WebCoreAXObject accessibilityAttributeValue:]):
              (-[WebCoreAXObject doAXTextMarkerRangeForLine:]):
              (-[WebCoreAXObject doAXBoundsForTextMarkerRange:]):
              (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
              (-[WebCoreAXObject doSetAXSelectedTextMarkerRange:]):
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge isSelectionEditable]):
              (-[WebCoreFrameBridge isSelectionRichlyEditable]):
              (-[WebCoreFrameBridge selectionState]):
              (-[WebCoreFrameBridge deselectText]):
              (-[WebCoreFrameBridge selectedAttributedString]):
              (-[WebCoreFrameBridge rangeByExpandingSelectionWithGranularity:]):
              (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:direction:granularity:]):
              (-[WebCoreFrameBridge alterCurrentSelection:direction:granularity:]):
              (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:verticalDistance:]):
              (-[WebCoreFrameBridge alterCurrentSelection:verticalDistance:]):
              (-[WebCoreFrameBridge setSelectedDOMRange:affinity:closeTyping:]):
              (-[WebCoreFrameBridge selectedDOMRange]):
              (-[WebCoreFrameBridge selectNSRange:]):
              (-[WebCoreFrameBridge selectedNSRange]):
              (-[WebCoreFrameBridge selectionAffinity]):
              (-[WebCoreFrameBridge replaceSelectionWithText:selectReplacement:smartReplace:]):
              (-[WebCoreFrameBridge setSelectionToDragCaret]):
              (-[WebCoreFrameBridge moveSelectionToDragCaret:smartMove:]):
              (-[WebCoreFrameBridge moveDragCaretToPoint:]):
              (-[WebCoreFrameBridge removeDragCaret]):
              (-[WebCoreFrameBridge dragCaretDOMRange]):
              (-[WebCoreFrameBridge isDragCaretRichlyEditable]):
              (-[WebCoreFrameBridge editableDOMRangeForPoint:]):
              (-[WebCoreFrameBridge ensureSelectionVisible]):
              (-[WebCoreFrameBridge rangeOfCharactersAroundCaret]):
              * bridge/win/PageWin.cpp:
              (WebCore::Page::Page):
              * dom/Document.cpp:
              (WebCore::Document::updateSelection):
              (WebCore::Document::clearSelectionIfNeeded):
              (WebCore::Document::notifyBeforeNodeRemoval):
              * dom/Element.cpp:
              (WebCore::Element::updateFocusAppearance):
              * editing/EditCommand.cpp:
              (WebCore::EditCommand::EditCommand):
              * editing/JSEditor.cpp:
              * editing/ModifySelectionListLevel.cpp:
              (WebCore::IncreaseSelectionListLevelCommand::canIncreaseSelectionListLevel):
              (WebCore::DecreaseSelectionListLevelCommand::canDecreaseSelectionListLevel):
              * editing/Selection.cpp:
              (WebCore::Selection::setBase):
              (WebCore::Selection::setExtent):
              * editing/Selection.h:
              (WebCore::Selection::extent):
              * editing/SelectionController.cpp:
              (WebCore::SelectionController::SelectionController):
              (WebCore::SelectionController::moveTo):
              (WebCore::SelectionController::setSelection):
              (WebCore::SelectionController::nodeWillBeRemoved):
              (WebCore::SelectionController::modify):
              (WebCore::SelectionController::clear):
              (WebCore::SelectionController::setBase):
              (WebCore::SelectionController::setExtent):
              * editing/SelectionController.h:
              * editing/TypingCommand.cpp:
              (WebCore::TypingCommand::insertText):
              (WebCore::TypingCommand::deleteKeyPressed):
              (WebCore::TypingCommand::forwardDeleteKeyPressed):
              * editing/VisiblePosition.cpp:
              (WebCore::VisiblePosition::caretRect):
              * editing/VisiblePosition.h:
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::defaultEventHandler):
              * page/Frame.cpp:
              (WebCore::Frame::selectedText):
              (WebCore::Frame::hasSelection):
              (WebCore::Frame::selectionController):
              (WebCore::Frame::dragCaretController):
              (WebCore::Frame::notifyRendererOfSelectionChange):
              (WebCore::Frame::invalidateSelection):
              (WebCore::Frame::clearCaretRectIfNeeded):
              (WebCore::Frame::setFocusNodeIfNeeded):
              (WebCore::Frame::selectionLayoutChanged):
              (WebCore::Frame::caretBlinkTimerFired):
              (WebCore::Frame::paintCaret):
              (WebCore::Frame::paintDragCaret):
              (WebCore::Frame::isPointInsideSelection):
              (WebCore::Frame::selectClosestWordFromMouseEvent):
              (WebCore::Frame::handleMousePressEventDoubleClick):
              (WebCore::Frame::handleMousePressEventTripleClick):
              (WebCore::Frame::handleMousePressEventSingleClick):
              (WebCore::Frame::handleMouseMoveEvent):
              (WebCore::Frame::handleMouseReleaseEvent):
              (WebCore::Frame::selectAll):
              (WebCore::Frame::selectContentsOfNode):
              (WebCore::Frame::shouldChangeSelection):
              (WebCore::Frame::shouldDeleteSelection):
              (WebCore::Frame::isSelectionInPasswordField):
              (WebCore::Frame::appliedEditing):
              (WebCore::Frame::unappliedEditing):
              (WebCore::Frame::reappliedEditing):
              (WebCore::Frame::computeAndSetTypingStyle):
              (WebCore::Frame::applyStyle):
              (WebCore::Frame::applyParagraphStyle):
              (WebCore::Frame::selectionListState):
              (WebCore::Frame::selectionHasStyle):
              (WebCore::Frame::selectionComputedStyle):
              (WebCore::Frame::selectFrameElementInParentIfFullySelected):
              (WebCore::Frame::currentForm):
              (WebCore::Frame::revealSelection):
              (WebCore::Frame::centerSelectionInVisibleArea):
              (WebCore::Frame::styleForSelectionStart):
              (WebCore::Frame::setSelectionFromNone):
              (WebCore::Frame::findString):
              * page/Frame.h:
              * page/FramePrivate.h:
              (WebCore::FramePrivate::FramePrivate):
              * page/FrameView.cpp:
              (WebCore::FrameView::clear):
              * page/Page.cpp:
              (WebCore::Page::dragCaretController):
              * page/Page.h:
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::paintCaret):
              * rendering/RenderLayer.cpp:
              (WebCore::RenderLayer::autoscroll):
              * rendering/RenderTextControl.cpp:
              (WebCore::RenderTextControl::selectionStart):
              (WebCore::RenderTextControl::selectionEnd):
              (WebCore::RenderTextControl::setSelectionRange):
              (WebCore::RenderTextControl::selectionChanged):
              * rendering/RenderTreeAsText.cpp:
              (WebCore::writeSelection):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16237 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      397edaa4
    • weinig's avatar
      Reviewed by Tim H. · 6e404d9f
      weinig authored
              Patch for http://bugzilla.opendarwin.org/show_bug.cgi?id=10738
              Consolidate the Objective-C DOM Bindings Internal files into DOMInternal.h
      
              - Consolidate DOMHTMLInternal.h, DOMCSSInternal.h, DOMEventsInternal.h,
                DOMViewsInternal.h and DOMXPathInternal.h into DOMInternal.h.
      
              - Rename the "type-makers" (used to make a binding from an implementation 
                type) so that all the HTML ones begin with the prefix HTML.  Did the same
                for the CSS.
      
              - Auto-generate a couple more methods from DOMExtensions.h.
      
              - Various cleanups of the Objective-C auto-generation code.
      
              * WebCore.xcodeproj/project.pbxproj:
              * bindings/objc/DOM.mm:
              (-[DOMDocument createCSSStyleDeclaration]):
              * bindings/objc/DOMCSS.mm:
              (+[DOMCSSRuleList _CSSRuleListWith:]):
              (+[DOMCSSRule _CSSRuleWith:]):
              (+[DOMCSSStyleDeclaration _CSSStyleDeclarationWith:]):
              (+[DOMCSSValue _CSSValueWith:]):
              (+[DOMCSSPrimitiveValue _CSSPrimitiveValueWith:]):
              (-[DOMDocument getComputedStyle::]):
              (-[DOMDocument getMatchedCSSRules::]):
              * bindings/objc/DOMCSSInternal.h: Removed.
              * bindings/objc/DOMEvents.mm:
              * bindings/objc/DOMEventsInternal.h: Removed.
              * bindings/objc/DOMEventsNonstandard.mm:
              * bindings/objc/DOMExtensions.h:
              * bindings/objc/DOMHTML.mm:
              (+[DOMHTMLCollection _HTMLCollectionWith:]):
              (+[DOMHTMLOptionsCollection _HTMLOptionsCollectionWith:]):
              (+[DOMHTMLElement _HTMLElementWith:]):
              (+[DOMHTMLFormElement _HTMLFormElementWith:]):
              (+[DOMHTMLTableCaptionElement _HTMLTableCaptionElementWith:]):
              (+[DOMHTMLTableSectionElement _HTMLTableSectionElementWith:]):
              (+[DOMHTMLTableElement _HTMLTableElementWith:]):
              (+[DOMHTMLTableCellElement _HTMLTableCellElementWith:]):
              * bindings/objc/DOMHTMLAppletElement.mm:
              * bindings/objc/DOMHTMLDocument.mm:
              (-[DOMHTMLDocument body]):
              (-[DOMHTMLDocument images]):
              (-[DOMHTMLDocument applets]):
              (-[DOMHTMLDocument links]):
              (-[DOMHTMLDocument forms]):
              (-[DOMHTMLDocument anchors]):
              * bindings/objc/DOMHTMLInternal.h: Removed.
              * bindings/objc/DOMHTMLOptionElement.mm:
              (-[DOMHTMLOptionElement form]):
              * bindings/objc/DOMInternal.h:
              * bindings/objc/DOMRGBColor.mm:
              (setWrapperForRGB):
              (-[DOMRGBColor red]):
              (-[DOMRGBColor green]):
              (-[DOMRGBColor blue]):
              (-[DOMRGBColor alpha]):
              * bindings/objc/DOMUtility.mm:
              (KJS::ScriptInterpreter::createObjcInstanceForValue):
              * bindings/objc/DOMViews.mm:
              (-[DOMAbstractView WebCore::]):
              (-[DOMAbstractView _initWithAbstractView:WebCore::]):
              (+[DOMAbstractView _abstractViewWith:WebCore::]):
              * bindings/objc/DOMViewsInternal.h: Removed.
              * bindings/objc/DOMXPath.mm:
              * bindings/objc/DOMXPathInternal.h: Removed.
              * bindings/objc/PublicDOMInterfaces.h:
              * bindings/scripts/CodeGeneratorObjC.pm:
              * bridge/mac/WebCoreFrameBridge.mm:
              (-[WebCoreFrameBridge typingStyle]):
              * html/HTMLAnchorElement.idl:
              * html/HTMLAreaElement.idl:
              * html/HTMLImageElement.idl:
              * html/HTMLInputElement.idl:
              * html/HTMLLinkElement.idl:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6e404d9f
  20. 03 Sep, 2006 1 commit
    • ap's avatar
      Reviewed by Tim H. · 897b7094
      ap authored
              http://bugzilla.opendarwin.org/show_bug.cgi?id=10693
              Convert JavaScript arrays to AppleScript lists
      
      JavaScriptCore:
              * JavaScriptCore.exp: Export ArrayInstance::info and ArrayInstance::getItem().
              * kjs/array_instance.h:
              * kjs/array_object.cpp:
              (ArrayInstance::getItem): Added a method to access array items from C++.
      
      WebCore:
              * bridge/mac/WebCoreFrameBridge.mm:
              (aeDescFromJSValue): Added a case for ArrayInstance.
      
      LayoutTests:
              * fast/AppleScript/array-expected.txt:
              * fast/AppleScript/array.html: Updated results, added a test for
              circular dependencies.
      
      WebKitTools:
              * DumpRenderTree/AppleScriptController.m:
              (convertAEDescToObject):
              (-[AppleScriptController doJavaScript:]): Support printing AEDescLists.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16200 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      897b7094
  21. 01 Sep, 2006 2 commits
    • aroben's avatar
      2006-09-01 MorganL <morlmor@yahoo.com> · 7603b37e
      aroben authored
              Reviewed by Darin. Updated/landed by Adam.
      
              Fixes http://bugzilla.opendarwin.org/show_bug.cgi?id=10553
              Windows build fixes
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16190 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7603b37e
    • beidson's avatar
      Reviewed by Tim Omernick · 7676f962
      beidson authored
              Added an SQLDatabase logging channel.  Changed all SQLDatabase and SQLStatement errors to use this new channel.
              Also, as a popular request from other contributers, added a log for all prepare(), step(), finalize(), and reset()s
              Also, fixed a grammar error in my previous ChangeLog entry.
      
              * bridge/mac/WebCorePageBridge.mm:
              (initializeLoggingChannelsIfNecessary): Initialize the new channel
              * loader/icon/SQLDatabase.cpp:
              (WebCore::SQLDatabase::setBusyTimeout): Use SQLDatabase logging channel
              (WebCore::SQLDatabase::setBusyHandler): ditto
              (WebCore::SQLDatabase::clearAllTables): ditto
              (WebCore::SQLDatabase::runVacuumCommand): ditto
              * loader/icon/SQLStatement.cpp:
              (WebCore::SQLStatement::prepare): Added a log
              (WebCore::SQLStatement::step): ditto
              (WebCore::SQLStatement::finalize): ditto
              (WebCore::SQLStatement::reset): ditto
              (WebCore::SQLStatement::getColumnBlob): Use SQLDatabase logging channel
              (WebCore::SQLStatement::returnTextResults): ditto
              (WebCore::SQLStatement::returnTextResults16): ditto
              (WebCore::SQLStatement::returnIntResults): ditto
              (WebCore::SQLStatement::returnInt64Results): ditto
              (WebCore::SQLStatement::returnDoubleResults): ditto
              * platform/Logging.cpp:
              (WebCore::): Added new logging channel
              * platform/Logging.h: ditto
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@16189 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7676f962