1. 12 May, 2011 1 commit
    • tonyg@chromium.org's avatar
      2011-05-10 Tony Gentilcore <tonyg@chromium.org> · 4b0a55f4
      tonyg@chromium.org authored
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * accessibility/AccessibilityObject.cpp:
              * accessibility/AccessibilityRenderObject.cpp:
              * accessibility/mac/AccessibilityObjectWrapper.mm:
              * dom/DocumentMarkerController.cpp:
              * dom/Position.cpp:
              * dom/PositionIterator.cpp:
              * dom/Range.cpp:
              * editing/ApplyBlockElementCommand.cpp:
              * editing/ApplyStyleCommand.cpp:
              * editing/Editor.cpp:
              * editing/EditorCommand.cpp:
              * editing/FrameSelection.cpp:
              * editing/HTMLInterchange.cpp:
              * editing/IndentOutdentCommand.cpp:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/SpellChecker.h:
              * editing/SpellingCorrectionCommand.cpp:
              * editing/SpellingCorrectionController.h:
              * editing/TextCheckingHelper.cpp:
              * editing/TextIterator.h:
              * editing/htmlediting.h:
              * editing/markup.cpp:
              * editing/visible_units.cpp:
              * editing/visible_units.h:
              * fileapi/DOMFileSystem.cpp:
              * fileapi/DirectoryReaderSync.cpp:
              * fileapi/DirectoryReaderSync.h:
              * fileapi/FileEntry.h:
              * fileapi/FileWriter.h:
              * fileapi/FileWriterBase.h:
              * fileapi/FileWriterSync.h:
              * history/CachedFrame.cpp:
              * history/CachedPage.cpp:
              * history/HistoryItem.cpp:
              * history/HistoryItem.h:
              * history/PageCache.h:
              * loader/HistoryController.h:
              * loader/PingLoader.h:
              * loader/ResourceLoader.h:
              * loader/appcache/DOMApplicationCache.h:
              * loader/cache/CachedCSSStyleSheet.h:
              * loader/cache/CachedFont.cpp:
              * loader/cache/CachedFont.h:
              * loader/cache/CachedResourceRequest.cpp:
              * loader/cache/CachedResourceRequest.h:
              * loader/cache/MemoryCache.h:
              * notifications/Notification.cpp:
              * notifications/Notification.h:
              * notifications/NotificationCenter.cpp:
              * notifications/NotificationCenter.h:
              * page/Chrome.cpp:
              * page/Chrome.h:
              * page/DOMSelection.cpp:
              * page/DOMTimer.h:
              * page/DOMWindow.cpp:
              * page/EventHandler.cpp:
              * page/FocusController.h:
              * page/Geolocation.cpp:
              * page/Geolocation.h:
              * page/History.cpp:
              * rendering/RenderListBox.cpp:
              * workers/WorkerContext.cpp:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * src/WebHistoryItem.cpp:
              * src/WebNotification.cpp:
              * src/WebTextCheckingCompletionImpl.cpp:
              * src/mac/WebSubstringUtil.mm:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * Plugins/Hosted/WebHostedNetscapePluginView.mm:
              * WebView/WebFrame.mm:
      2011-05-10  Tony Gentilcore  <tonyg@chromium.org>
      
              Reviewed by Darin Adler.
      
              Perform some forward declarations suggested by include-what-you-use
              https://bugs.webkit.org/show_bug.cgi?id=60545
      
              * WebProcess/WebPage/mac/WebPageMac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86325 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b0a55f4
  2. 16 Apr, 2011 1 commit
    • weinig@apple.com's avatar
      2011-04-16 Sam Weinig <sam@webkit.org> · e05abc52
      weinig@apple.com authored
              Reviewed by Simon Fraser.
      
              Pages in the PageCache don't have the correct visited link coloring after being restored
              https://bugs.webkit.org/show_bug.cgi?id=58721
      
              * WebCore.exp.in:
              Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
      
              * history/CachedPage.cpp:
              (WebCore::CachedPage::CachedPage):
              (WebCore::CachedPage::restore):
              (WebCore::CachedPage::clear):
              * history/CachedPage.h:
              (WebCore::CachedPage::markForVistedLinkStyleRecalc):
              Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
              style recalc when being restored.
      
              * history/PageCache.h:
              * history/PageCache.cpp:
              (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
              Mark all pages in the page cache as requiring visited link style recalc.
      
              * page/PageGroup.cpp:
              (WebCore::PageGroup::addVisitedLink):
              (WebCore::PageGroup::removeVisitedLinks):
              (WebCore::PageGroup::removeAllVisitedLinks):
              Set dirty bit when changing any visited link information.
              
      2011-04-16  Sam Weinig  <sam@webkit.org>
      
              Reviewed by Simon Fraser.
      
              Pages in the PageCache don't have the correct visited link coloring after being restored
              https://bugs.webkit.org/show_bug.cgi?id=58721
      
              * WebProcess/WebProcess.cpp:
              (WebKit::WebProcess::visitedLinkStateChanged):
              (WebKit::WebProcess::allVisitedLinkStateChanged):
              Mark all pages in the page cache as needing visited link style recalc
              whenever visited link information changes.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@84091 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e05abc52
  3. 20 Jan, 2011 1 commit
    • ossy@webkit.org's avatar
      Refactoring of the custom allocation framework · 95c1bc42
      ossy@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=49897
      
      Patch by Zoltan Horvath <zoltan@webkit.org> on 2011-01-20
      Reviewed by Csaba Osztrogonác.
      
      Source/JavaScriptCore:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      * wtf/FastAllocBase.h: Turn FastAllocBase's implementation into a macro.
      
      Source/WebCore:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Source/WebKit:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Source/WebKit2:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      Tools:
      
      Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
      The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
      equivalent macro implementation at the necessary places.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      95c1bc42
  4. 08 Jan, 2011 1 commit
  5. 04 Jun, 2010 1 commit
    • japhet@chromium.org's avatar
      2010-06-04 Nate Chapin <japhet@chromium.org> · d48109cb
      japhet@chromium.org authored
              Reviewed by Adam Barth.
      
              Factor PageCache functionality out of FrameLoader and into
              PageCache itself.
      
              https://bugs.webkit.org/show_bug.cgi?id=39382
      
              Refactor only, so no new tests.
      
              * history/PageCache.cpp:
              (WebCore::pageCacheLogPrefix):
              (WebCore::pageCacheLog):
              (WebCore::logCanCacheFrameDecision):
              (WebCore::logCanCachePageDecision):
              (WebCore::PageCache::canCachePageContainingThisFrame):
              (WebCore::PageCache::canCache):
              (WebCore::PageCache::add):
              (WebCore::PageCache::get):
              * history/PageCache.h:
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::commitIfReady):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::prepareForCachedPageRestore):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
              (WebCore::FrameLoader::navigateToDifferentDocument):
              * loader/FrameLoader.h:
              (WebCore::FrameLoader::quickRedirectComing):
              * svg/graphics/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d48109cb
  6. 26 May, 2010 2 commits
    • andersca@apple.com's avatar
      2010-05-26 Anders Carlsson <andersca@apple.com> · 1082844f
      andersca@apple.com authored
              Unreviewed, rolling out r60256.
              http://trac.webkit.org/changeset/60256
              https://bugs.webkit.org/show_bug.cgi?id=39382
      
              Causes fast/dom/prototype-inheritance-2.html to start
              crashing.
      
              * history/PageCache.cpp:
              (WebCore::PageCache::PageCache):
              (WebCore::PageCache::add):
              * history/PageCache.h:
              (WebCore::PageCache::get):
              * loader/DocumentLoader.cpp:
              (WebCore::DocumentLoader::commitIfReady):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::canCachePageContainingThisFrame):
              (WebCore::FrameLoader::canCachePage):
              (WebCore::pageCacheLogPrefix):
              (WebCore::pageCacheLog):
              (WebCore::FrameLoader::logCanCachePageDecision):
              (WebCore::FrameLoader::logCanCacheFrameDecision):
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::open):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
              (WebCore::FrameLoader::cachePageForHistoryItem):
              (WebCore::FrameLoader::navigateToDifferentDocument):
              * loader/FrameLoader.h:
              * svg/graphics/SVGImage.cpp:
              (WebCore::SVGImage::dataChanged):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1082844f
    • japhet@chromium.org's avatar
      2010-05-26 Nate Chapin <japhet@chromium.org> · 15fc4bc0
      japhet@chromium.org authored
              Reviewed by Adam Barth.
      
              Factor PageCache functionality out of FrameLoader and into
              PageCache.
      
              https://bugs.webkit.org/show_bug.cgi?id=39382
      
              Refactor only, so no new tests.
      
              * history/PageCache.cpp:
              (WebCore::pageCacheLogPrefix):
              (WebCore::pageCacheLog):
              (WebCore::logCanCacheFrameDecision):
              (WebCore::logCanCachePageDecision):
              (WebCore::PageCache::canCachePageContainingThisFrame):
              (WebCore::PageCache::canCache):
              (WebCore::PageCache::add):
              (WebCore::PageCache::get):
              * history/PageCache.h:
              * loader/DocumentLoader.cpp:
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::commitProvisionalLoad):
              (WebCore::FrameLoader::prepareForCachedPageRestore):
              (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
              (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
              (WebCore::FrameLoader::navigateToDifferentDocument):
              * loader/FrameLoader.h:
              (WebCore::FrameLoader::quickRedirectComing):
              * svg/graphics/SVGImage.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@60256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      15fc4bc0
  7. 15 Jul, 2009 1 commit
    • beidson@apple.com's avatar
      WebCore: · 2f520756
      beidson@apple.com authored
      2009-07-15  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              https://bugs.webkit.org/show_bug.cgi?id=27304
              WebKit should provide usage and eligibility information about the page cache.
      
              * WebCore.base.exp:
      
              * history/CachedFrame.cpp:
              (WebCore::CachedFrame::childFrameCount):
              * history/CachedFrame.h:
      
              * history/PageCache.cpp:
              (WebCore::PageCache::frameCount):
              (WebCore::PageCache::autoreleasedPageCount):
              * history/PageCache.h:
              (WebCore::PageCache::pageCount):
      
      WebKit/mac:
      
      2009-07-15  Brady Eidson  <beidson@apple.com>
      
              Reviewed by Dan Bernstein.
      
              https://bugs.webkit.org/show_bug.cgi?id=27304
              WebKit should provide usage and eligibility information about the page cache.
      
              * Misc/WebCoreStatistics.h:
              * Misc/WebCoreStatistics.mm:
              (+[WebCoreStatistics numberCachedPages]):
              (+[WebCoreStatistics numberCachedFrames]):
              (+[WebCoreStatistics numberAutoreleasedPages]):
              * WebKit.exp:
      
              * WebView/WebFrame.mm:
              (-[WebFrame _cacheabilityDictionary]): Returns a dictionary with all the data about
                why the frame is not cacheable. If the frame *is* cacheable, the dictionary is
                empty.
              * WebView/WebFramePrivate.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f520756
  8. 14 Jul, 2009 1 commit
    • bfulgham@webkit.org's avatar
      JavaScriptCore: · 8a8a2f45
      bfulgham@webkit.org authored
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * bytecode/SamplingTool.h:
              * bytecompiler/RegisterID.h:
              * interpreter/CachedCall.h:
              * interpreter/RegisterFile.h:
              * parser/Lexer.h:
              * parser/Parser.h:
              * runtime/ArgList.h:
              * runtime/BatchedTransitionOptimizer.h:
              * runtime/Collector.h:
              * runtime/CommonIdentifiers.h:
              * runtime/JSCell.h:
              * runtime/JSGlobalObject.h:
              * runtime/JSLock.h:
              * runtime/JSONObject.cpp:
              * runtime/SmallStrings.cpp:
              * runtime/SmallStrings.h:
              * wtf/CrossThreadRefCounted.h:
              * wtf/GOwnPtr.h:
              * wtf/Locker.h:
              * wtf/MessageQueue.h:
              * wtf/OwnArrayPtr.h:
              * wtf/OwnFastMallocPtr.h:
              * wtf/OwnPtr.h:
              * wtf/RefCounted.h:
              * wtf/ThreadSpecific.h:
              * wtf/Threading.h:
              * wtf/Vector.h:
              * wtf/unicode/Collator.h:
      
      WebCore:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * bindings/js/GCController.h:
              * bindings/js/WorkerScriptController.h:
              * bindings/v8/V8DOMMap.cpp:
              (WebCore::):
              * bridge/runtime.h:
              * css/CSSSelector.h:
              * css/CSSSelectorList.h:
              * css/CSSStyleSelector.h:
              * dom/ClassNames.h:
              * dom/MessagePortChannel.h:
              * dom/XMLTokenizerLibxml2.cpp:
              * dom/XMLTokenizerScope.h:
              * editing/ReplaceSelectionCommand.cpp:
              * editing/SelectionController.h:
              * editing/TextIterator.cpp:
              * history/PageCache.h:
              * html/CanvasRenderingContext2D.h:
              * html/HTMLParser.h:
              * html/HTMLParserQuirks.h:
              * html/PreloadScanner.h:
              * loader/Cache.h:
              * loader/CrossOriginPreflightResultCache.h:
              * loader/FrameLoader.h:
              * loader/ProgressTracker.h:
              * loader/ThreadableLoader.h:
              * loader/appcache/ApplicationCacheGroup.h:
              * loader/archive/ArchiveResourceCollection.h:
              * loader/icon/IconDatabase.h:
              * loader/icon/IconLoader.h:
              * loader/icon/PageURLRecord.h:
              * loader/loader.h:
              * page/ContextMenuController.h:
              * page/EventHandler.h:
              * page/FrameTree.h:
              * page/Page.h:
              * page/PageGroup.h:
              * page/PageGroupLoadDeferrer.h:
              * page/mac/EventHandlerMac.mm:
              * platform/AutodrainedPool.h:
              * platform/ContextMenu.h:
              * platform/EventLoop.h:
              * platform/HostWindow.h:
              * platform/Pasteboard.h:
              * platform/PurgeableBuffer.h:
              * platform/RunLoopTimer.h:
              * platform/ThreadGlobalData.h:
              * platform/ThreadTimers.h:
              * platform/Timer.h:
              * platform/TreeShared.h:
              * platform/graphics/FontData.h:
              * platform/graphics/GlyphWidthMap.h:
              * platform/graphics/GraphicsContext.h:
              * platform/graphics/ImageBuffer.h:
              * platform/graphics/ImageSource.h:
              * platform/graphics/MediaPlayer.h:
              * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
              * platform/graphics/skia/PlatformContextSkia.h:
              * platform/graphics/win/QTMovieWin.cpp:
              * platform/mac/LocalCurrentGraphicsContext.h:
              * platform/network/FormDataBuilder.h:
              * platform/network/ResourceHandleInternal.h:
              * platform/network/soup/ResourceHandleSoup.cpp:
              * platform/text/StringBuffer.h:
              * platform/text/TextCodec.h:
              * platform/win/WindowMessageBroadcaster.h:
              * rendering/CounterNode.h:
              * rendering/LayoutState.h:
              * rendering/RenderFrameSet.h:
              * rendering/RenderView.h:
              * rendering/TransformState.h:
              * svg/SVGAnimatedProperty.h:
              * svg/SynchronizableTypeWrapper.h:
              * workers/WorkerMessagingProxy.h:
              * workers/WorkerRunLoop.cpp:
              * xml/XPathExpressionNode.h:
              * xml/XPathParser.h:
              * xml/XPathPredicate.h:
              * xml/XPathStep.h:
      
      WebKit/gtk:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * webkit/webkitdownload.cpp:
      
      WebKit/win:
      
      2009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
      
              Reviewed by Darin Adler.
      
              Change all Noncopyable inheriting visibility to public.
              https://bugs.webkit.org/show_bug.cgi?id=27225
      
              Change all Noncopyable inheriting visibility to public because
              it is needed to the custom allocation framework (bug #20422).
      
              * COMEnumVariant.h:
              * WebDatabaseManager.cpp:
              * WebInspector.h:
              * WebLocalizableStrings.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@45891 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a8a2f45
  9. 26 Jul, 2007 2 commits
    • ggaren's avatar
      Reviewed by Beth Dakin. · faf1a371
      ggaren authored
              Fixed NULL-dereference crash seen on buildbot.
              
              No bug filed because this is a part of <rdar://problem/5241167>.
      
              * history/PageCache.h:
              (WebCore::PageCache::get): NULL-check HistoryItems passed to get()
              and remove(), to match the old semantics of HashMap. For clarity,
              ASSERT that add() is not called with NULL arguments.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24651 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      faf1a371
    • ggaren's avatar
      Reviewed by Darin Adler. · 4ae498b9
      ggaren authored
              Fixed <rdar://problem/5241167> REGRESSION: PLT 1% slower due to r21793 
              (global page cache cap)
              
              I just measured a .1%-.2% regression in PLT average, but a .4% win in 
              PLT fastest run, so I think this regression is licked.
      
              Surprisingly, the combination of wtf data structures I originally used 
              for PageCache turned out to be too slow, so I reworked PageCache to use
              a hand-crafted linked list for LRU tracking (instead of ListHashSet), 
              to store its CachedPages in the HistoryItems to which they corresponded 
              (instead of using a HashMap), and to ref/deref HistoryItems manually
              (instead of using RefPtr, which would ref once for every reference in 
              the linked list).
      
              * history/HistoryItem.h: Added data members for PageCache data. Made
              PageCache a friend so it could access them. Ideally (from an 
              encapsulation perspective), we would store this data an independent 
              structure, but that's just too slow.
      
              * history/PageCache.cpp: Added a hand-crafted linked list for LRU 
              tracking.
              (WebCore::PageCache::PageCache):
              (WebCore::PageCache::add): Adopt the HistoryItem's ref when it's added.
              (WebCore::PageCache::remove): deref() the Historyitem when it's 
              removed.
              (WebCore::PageCache::prune):
              (WebCore::PageCache::addToLRUList):
              (WebCore::PageCache::removeFromLRUList):
      
              * history/PageCache.h:
              (WebCore::PageCache::get): Inlined just in case.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@24646 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4ae498b9
  10. 25 May, 2007 2 commits
    • ggaren's avatar
      WebCore: · 2e941233
      ggaren authored
              Reviewed by Darin Adler.
      
              Fixed <rdar://problem/5055182> The page cache has no global cap.
              
              Beefed up the PageCache class to track which HistoryItems are 
              cached, and decide how to evict old HistoryItems as new ones are
              added.
      
              * history/BackForwardList.cpp: Removed support for managing the page cache
              through the BackForwardList since this is deprecated in Mac's 
              WebBackForwardList, and doesn't exist on other platforms.
              
              Added a Page* back pointer so that Mac WebBackForwardList can still support 
              its deprecated API, using the new hotness. This isn't a big burden, since 
              Page is responsible for calling BackForwardList::close upon destruction, 
              anyway.
      
              * history/HistoryItem.cpp: Replaced CachedPage* with boolean that tells
              you whether you're in the page cache. This prevents us from having more
              than one persistent repository for cached pages.
      
              * history/PageCache.cpp: If you're playing along at home, this code is 
              the reason for the patch.
      
              * loader/FrameLoader.cpp: If you're playing along at home, the minuses in
              this file are the reason for the patch.
              
              Replaced call to FrameLoaderClient::loadedFromCachedPage with its one-line
              implementation because WebCore calling itself through WebKit is uncivilized.
      
              * page/Settings.cpp: Added support for removing a Page's HistoryItems from
              the page cache.
      
      WebKit:
      
              Reviewed by Darin Adler.
      
              Fixed <rdar://problem/5055182> The page cache has no global cap.
              
              The main WebKit changes are:
                  1. Changed -[WebBackForwardList setPageCacheSize] and -[WebBackForwardList 
                  pageCacheSize] to accomodate the new global page cache model, updating
                  their documentation. 
                  
                  2. Added -[WebPreferences setShouldUsePageCache] and -[WebPreferences 
                  shouldUsePageCache] as pending public API.
                  
                  3. Centralized calculation of object cache and page cache sizes inside
                  WebPreferences. 
                  
                  Cchanged our old behavior of reading a preference and applying a fudge 
                  factor with a new behavior of just using the preference directly. The 
                  old behavior was confusing and often inappropriate. (For example, if 
                  you set a page cache size of 100, a 256MB machine would somewhat 
                  arbitrarily reduce that number to 98. ???)
      
              * WebView/WebView.mm: Added support for two flags to determine whether
              to use the page cache. If either -[WebBackForwardList setPageCacheSize:0]
              or -[WebPreferences setShouldUsePageCache:NO] is called, we don't use
              the page cache.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21793 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e941233
    • ggaren's avatar
      Reviewed by Darin Adler. · c567add1
      ggaren authored
              Some cleanup to Cache while Fixing <rdar://problem/5055182> The page cache 
              has no global cap.
              
              * loader/Cache.cpp: Removed destructor to help identify this class as a
              singleton.
      
              * loader/Cache.h: Made constructor and destructor private to match the
              singleton model of PageCache.
              
              Put structs related to Cache inside its declaration to fix some namespace
              conflicts I had while writing my patch. (They don't exist anymore, but
              I figured this might help future development.)
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21750 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c567add1
  11. 14 May, 2007 1 commit
    • ggaren's avatar
      WebCore: · 9d3df36a
      ggaren authored
              Reviewed by Darin Adler.
              
              Next step toward fixing <rdar://problem/5055182> The back cache has no 
              global cap.
              
              Created a PageCache singleton. Right now, it only handles the timer-based
              deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking
              and eviction logic in later patches.
      
              Updated for renames and file changes:
      
              * WebCore.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * history/BackForwardList.cpp:
              (WebCore::BackForwardList::setPageCacheSize):
              (WebCore::BackForwardList::clearPageCache):
      
              Removed global timed release code, moved into new PageCache class, since
              it's eventually going to be in charge of deciding when things are released:
              
              * history/HistoryItem.cpp:
              (WebCore::HistoryItem::setCachedPage):
              * history/HistoryItem.h:
      
              Folded into PageCache:
              
              * history/HistoryItemTimer.cpp: Removed.
              * history/HistoryItemTimer.h: Removed.
      
              New singleton. Right now, it just handles timed release of cached pages:
              
              * history/PageCache.cpp: Added.
              (WebCore::pageCache):
              (WebCore::PageCache::PageCache):
              (WebCore::PageCache::autoreleaseNowOrReschedule):
              (WebCore::PageCache::autoreleaseNow):
              (WebCore::PageCache::autorelease):
              * history/PageCache.h: Added.
      
      WebKit:
      
              Reviewed by Darin Adler.
              
              Updated for WebCore move to PageCache singleton. Also removed some WebCore::
              prefixes and replaced them with 'using namespace WebCore'.
      
              * History/WebHistoryItem.mm:
              (+[WebHistoryItem _releaseAllPendingPageCaches]):
              (-[WebWindowWatcher windowWillClose:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@21464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9d3df36a
  12. 14 Feb, 2007 1 commit
    • aroben's avatar
      LayoutTests: · 39e6fb8f
      aroben authored
              Reviewed by Darin.
      
              Test for http://bugs.webkit.org/show_bug.cgi?id=12517
              <rdar://problem/4971227> REGRESSION: Tab order incorrect when input
              inside frame/iframe gets initial focus (12517)
      
              * fast/events/frame-programmatic-focus-expected.txt: Added.
              * fast/events/frame-programmatic-focus.html: Added.
              * fast/forms/focus2-expected.txt: Updated results to now-correct
              behavior.
      
      WebCore:
      
              Reviewed by Darin.
      
              Fix http://bugs.webkit.org/show_bug.cgi?id=12517
              <rdar://problem/4971227> REGRESSION: Tab order incorrect when input
              inside frame/iframe gets initial focus (12517)
      
              Test: fast/events/frame-programmatic-focus.html
      
              * dom/Element.cpp:
              (WebCore::Element::focus): Call FocusController::setFocusedNode to set
              the focus for the whole page.
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::focus): Ditto.
              * html/HTMLTextAreaElement.cpp:
              (WebCore::HTMLTextAreaElement::focus): Ditto.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::handleTextInputEvent): Send the textInput
              event to the same target that was sent the keypress event before it.
              * page/FocusController.cpp:
              (WebCore::FocusController::advanceFocus): Added a FIXME.
              (WebCore::FocusController::setFocusedNode): Added. Sets the focused
              node for a whole page.
              * page/FocusController.h: Added declaration.
              * platform/cf/RetainPtr.h: Removed unused pointer_cast functions.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      39e6fb8f
  13. 12 Feb, 2007 1 commit
    • darin's avatar
      WebCore: · d1fbfdcc
      darin authored
              Reviewed by Oliver.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12677
                <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
                a clause in kotoeri (12677)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12596
                <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
                navigating prediction window (12596)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=10010
                <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
                Hangul inserts carriage return (10010)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12531
                <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
                latest nightly (r19336) (12531)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12539
                <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
                area moves to the previous page in history (12539)
      
              This area still needs work because keypress events are being sent for all the
              events before they go to the input methods, and it seems that this is not
              compatible with what other browsers do and with what sites assume. That's covered
              by this bug:
      
                  http://bugs.webkit.org/show_bug.cgi?id=10871
                  <rdar://problem/4823129> REGRESSION: IME key events different in nightly (10871)
      
              which is still open.
      
              * bindings/objc/ExceptionHandlers.h: Remove selectRange helper that doesn't really
              belong here, and also isn't needed since the callers don't want to raise ObjC
              exceptions.
              * bindings/objc/ExceptionHandlers.mm: Ditto. Also removed unneeded external globals
              that aren't exported anyway and unneeded includes.
      
              * bridge/EditorClient.h: Added Mac-specific function, markedTextAbandoned. Long term
              this might move into platform instead, but it's fine to have it on the client for now
              as long as it doesn't cause trouble for platforms other than Mac.
      
              * dom/EventTargetNode.cpp: (WebCore::EventTargetNode::defaultEventHandler): Since
              all the event handling code in this function is intended to run on the node itself,
              not parent nodes, check and do nothing if this event is bubbling up from another
              node. Added code to call a function on EventHandler for default handling of text
              input events.
      
              * dom/KeyboardEvent.h:
              * dom/KeyboardEvent.cpp: (WebCore::findKeyboardEvent): Added. Just like the
              findUIEventWithKeyState function, but specific to keyboard events.
      
              * dom/TextEvent.h: Added isLineBreak and isBackTab flags so that we can carry
              additional information about what a text input event is trying to do, but still
              go through the DOM event machinery.
              * dom/TextEvent.cpp: Ditto.
      
              * editing/Editor.h:
              * editing/Editor.cpp:
              (WebCore::Editor::handleKeyPress): Removed unneeded check of isCaretOrRange, since
              isContentEditable already checks that.
              (WebCore::Editor::canEdit): Ditto.
              (WebCore::Editor::canEditRichly): Ditto.
              (WebCore::Editor::canPaste): Changed to call canEdit for brevity.
              (WebCore::Editor::replaceSelectionWithText): Changed to take a const String&.
              (WebCore::Editor::shouldInsertText): Ditto.
              (WebCore::hasEditableSelection): Removed unneeded check of isCaretOrRange, since
              isContentEditable already checks that.
              (WebCore::Editor::Editor): Initialize the new m_ignoreMarkedTextSelectionChange
              flag. Moved here from WebHTMLView.
              (WebCore::Editor::insertText): Moved most of the code from -[WebHTMLView insertText:]
              here, since this needs to be done in response to a text input event and we don't want
              to go back over the WebKit side for that.
              (WebCore::Editor::insertLineBreak): Added. Moved here from -[WebHTMLView insertLineBreak:]
              for the same reason -- needs to be done in response to text input events.
              (WebCore::Editor::insertParagraphSeparator): Ditto.
              (WebCore::Editor::selectMarkedText): Added. Used by insertText.
              (WebCore::Editor::discardMarkedText): Added. Used by insertText.
              (WebCore::Editor::unmarkText): Added. Used by insertText.
              * editing/mac/EditorMac.mm:
              (WebCore::Editor::unmarkText): Added. Used by insertText.
      
              * html/HTMLInputElement.cpp:
              (WebCore::HTMLInputElement::canHaveSelection): Changed to use isTextField to avoid repeating
              the switch statement.
              (WebCore::HTMLInputElement::selectionStart): Ditto.
              (WebCore::HTMLInputElement::selectionEnd): Ditto.
              (WebCore::HTMLInputElement::setSelectionStart): Ditto.
              (WebCore::HTMLInputElement::setSelectionEnd): Ditto.
              (WebCore::HTMLInputElement::select): Ditto.
              (WebCore::HTMLInputElement::setSelectionRange): Ditto.
              (WebCore::HTMLInputElement::createRenderer): Resorted cases alphaebtically.
              (WebCore::HTMLInputElement::defaultEventHandler): Added code to make hitting return cause the
              form to be submitted when it comes through as a text input event. This is now the normal case
              on Macintosh, because enter key presses normally turn into this. In addition, change the other
              event handling to run only after trying the base defaultEventHandler. That makes the key
              handling done in EventTargetNode take precedence over the event handling here for editable text
              fields, which is what we want. This gets rid of the need for the hack where we check
              inputManagerHasMarkedText and suppress the handling of the enter key.
      
              * page/EventHandler.h: Removed unneeded includes. Moved EventHandlerDragState down into the
              private part of the class. Changed sendContextMenuEvent to take a const&. Added new
              handleTextInputEvent and defaultTextInputEventHandler functions. Made eventLoopHandleMouseUp
              and eventLoopHandleMouseDragged private. Added private defaultTabEventHandler function.
              * page/EventHandler.cpp:
              (WebCore::EventHandler::sendContextMenuEvent): Changed parameter to be a const&.
              (WebCore::EventHandler::defaultKeyboardEventHandler): Rearranged things so that the key bindings
              handling in handleKeyPress comes before special tab event handling. In cases where the tab turns
              into text to insert, we now handle it in the text input event handler.
              (WebCore::EventHandler::handleTextInputEvent): Added. Creates and dispatches a text input event.
              (WebCore::EventHandler::defaultTextInputEventHandler): Added. Inserts text, but has special cases
              for the tab and newline character cases.
              (WebCore::EventHandler::defaultTabEventHandler): Added. Shared by the tab-handling code in
              the keyboard event and text input event handlers.
              * page/mac/EventHandlerMac.mm: Tweak formatting, remove some unused functions.
      
              * page/FocusController.h: Removed unnneded includes and forwards, and added an overload of
              advanceFocus that takes a FocusDirection parameter.
              * page/FocusController.cpp: (WebCore::FocusController::advanceFocus): Changed to allow a 0 for
              the event pointer. Also added a version where the direction is passed explicitly, to be used
              for cases where we want to tab backward even if the event doesn't have a shift modifier key set.
      
              * platform/graphics/svg/SVGImageEmptyClients.h: Updated for change to EditorClient.
              This should really probably just use 0 for the EditorClient.
      
              * WebCore.exp: Update both for newly used and no-longer-used entry points.
      
              * page/mac/WebCoreFrameBridge.h:
              * page/mac/WebCoreFrameBridge.mm: Removed two unused methods.
      
      WebKit:
      
              Reviewed by Oliver.
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12677
                <rdar://problem/4759563> REGRESSION: Return key is always sent when you confirm
                a clause in kotoeri (12677)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12596
                <rdar://problem/4794346> REGRESSION: Tab key shifts form field focus instead of
                navigating prediction window (12596)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=10010
                <rdar://problem/4822935> REGRESSION: Pressing Return with unconfirmed text in
                Hangul inserts carriage return (10010)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12531
                <rdar://problem/4975126> REGRESSION: Inline text input types repeated keys in
                latest nightly (r19336) (12531)
      
              - fix http://bugs.webkit.org/show_bug.cgi?id=12539
                <rdar://problem/4975130> REGRESSION: Pressing Backspace while in inline input
                area moves to the previous page in history (12539)
      
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm: (WebEditorClient::markedTextAbandoned):
              Added.
      
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView menuForEvent:]): Added explicit constructor needed now that the
              function takes a const&.
              (-[WebHTMLView becomeFirstResponder]): Removed fake event code, no longer needed
              since advanceFocus now works fine with 0 for a DOM event.
              (-[WebHTMLView _expandSelectionToGranularity:]): Changed to use the normal
              selection controller function instead of selectRange.
              (-[WebHTMLView insertTab:]): Changed to call bottleneck that receives the DOM
              event.
              (-[WebHTMLView insertBacktab:]): Ditto.
              (-[WebHTMLView insertNewline:]): Ditto.
              (-[WebHTMLView insertLineBreak:]): Ditto.
              (-[WebHTMLView insertParagraphSeparator:]): Ditto.
              (-[WebHTMLView insertNewlineIgnoringFieldEditor:]): Ditto.
              (-[WebHTMLView insertTabIgnoringFieldEditor:]): Ditto.
              (-[WebHTMLView yank:]): Updated to call Editor directly since the insertText
              code now works via a text input event which is not what we want for paste-like
              things such as yank.
              (-[WebHTMLView yankAndSelect:]): Ditto.
              (-[WebHTMLView selectToMark:]): Changed to use the normal selection controller
              function instead of selectRange, which also allows us to remove the ObjC exception
              handling code.
              (-[WebHTMLView swapWithMark:]): Ditto.
              (-[WebHTMLView transpose:]): Ditto.
              (-[WebHTMLView unmarkText]): Since this is one of the calls back from the input
              manager, added code to set the "event was handled" flag. Moved the actual work
              into the Editor class in WebCore and just call that from here.
              (-[WebHTMLView _selectRangeInMarkedText:]): Changed to use the normal selection
              controller function instead of selectRange.
              (-[WebHTMLView setMarkedText:selectedRange:]): Since this is one of the calls
              back from the input manager, added code to set the "event was handled" flag.
              Also changed the ignoreMarkedTextSelectionChange to use the flag over on the
              WebCore side, since we moved it there and to call selectMarkedText over on
              the WebCore side too.
              (-[WebHTMLView doCommandBySelector:]): Added special cases for newline and tab
              selectors so that the event is passed along. These selectors are special because
              they are ones that turn into text input events.
              (-[WebHTMLView _discardMarkedText]): Moved the body of this function into the
              Editor class in WebCore and just call that from here.
              (-[WebHTMLView insertText:]): Added code to send a text input event instead of
              calling the editor to do text insertion. The insertion is then done in the
              default handler for the text input event.
              (-[WebHTMLView _insertNewlineWithEvent:isLineBreak:]): Added. Sends a text
              input event.
              (-[WebHTMLView _insertTabWithEvent:isBackTab:]): Ditto.
              (-[WebHTMLView _updateSelectionForInputManager]): Changed to use the
              ignoreMarkedTextSelectionChange flag in Editor now that the one here is gone.
      
              * WebView/WebHTMLViewInternal.h: Remove ignoreMarkedTextSelectionChange field.
      
              * WebView/WebView.mm: (-[WebView setSelectedDOMRange:affinity:]): Changed to
              use the normal selection controller function instead of selectRange.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@19579 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1fbfdcc
  14. 04 Jan, 2007 1 commit
    • aroben's avatar
      LayoutTests: · 59245e65
      aroben authored
              Reviewed by Geoff.
      
              Added new tests for tabindex and tabbing into/out of subframes.
      
              * fast/dom/tabindex-clamp-expected.txt: Added.
              * fast/dom/tabindex-clamp.html: Added.
              * fast/events/frame-click-focus-expected.txt: Added.
              * fast/events/frame-click-focus.html: Added.
              * fast/events/frame-tab-focus-expected.txt: Added.
              * fast/events/frame-tab-focus.html: Added.
              * fast/events/resources/frame-tab-focus-child.html: Added.
              * fast/events/resources/frame-tab-focus-empty-child.html: Added.
              * fast/events/resources/frame-tab-focus-empty-middle.html: Added.
              * fast/events/resources/frame-tab-focus-middle.html: Added.
              * fast/events/resources/frame-tab-focus-upper.html: Added.
              * fast/html/tab-order-expected.txt: Added.
              * fast/html/tab-order.html: Added.
      
              Updated test to match new behavior.
      
              * fast/forms/focus2-expected.txt: Updated results.
              * fast/forms/focus2.html: Fixed typo, and reduced the number of tab
              events dispatched now that frames containing focusable elements aren't
              themselves in the tab order.
      
      WebCore:
      
              Reviewed by Geoff.
      
              Fix: <rdar://4800335> REGRESSION: shift-tabbing from location field
              goes to first field rather than last (businessweek.com)
      
              Fix: <rdar://4800373> REGRESSION: tabbing from last control focuses
              nothing visible (busniessweek.com)
      
              Handle tabbing into/out of subframes in WebCore instead of letting
              AppKit do the dirty work. This change also fixes a number of bugs and
              changes some behavior to match other browsers:
                - No frames receive a focus event when the page is first loaded.
                - When a frame is clicked or focused with the keyboard, it receives
                  a focus event and all other frames receive a blur event.
                - tabindex values are clamped to the range of a signed short, rather
                  than overflowing within an unsigned short.
                - tabindex is respected on frame owner elements, even though HTML4
                  says it shouldn't be.
                - Subframes will be focused when tabbing if they don't contain any
                  focusable elements within them (it would be nice to only focus the
                  frame if it has scrollbars).
      
              Renamed SelectionDirection to FocusDirection and put it in its own file.
      
              * page/FocusDirection.h: Added.
              (WebCore::):
              * page/mac/WebCoreFrameBridge.mm: Updated for renames.
              (-[WebCoreFrameBridge nextKeyView]):
              (-[WebCoreFrameBridge previousKeyView]):
              (-[WebCoreFrameBridge nextKeyViewInsideWebFrameViews]):
              (-[WebCoreFrameBridge previousKeyViewInsideWebFrameViews]):
      
              Moved advanceFocus from EventHandler to FocusController and added
              support for moving into/out of subframes..
      
              * page/EventHandler.cpp: Moved advanceFocus to FocusController.
              * page/EventHandler.h: Ditto.
              * page/FocusController.cpp:
              (WebCore::deepFocusableNode): Static helper function to find focusable
              nodes nested within frames.
              (WebCore::FocusController::advanceFocus): Moved from EventHandler and
              rewritten to handle subframes.
              * page/FocusController.h: Added advanceFocus declaration.
              * dom/EventTargetNode.cpp:
              (WebCore::EventTargetNode::defaultEventHandler): Updated for the move
              of advanceFocus to FocusController.
              * html/HTMLFrameOwnerElement.h:
              (WebCore::HTMLFrameOwnerElement::isFrameOwnerElement): New method.
              (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable): New virtual
              implementation used to trick Document::nextFocusableNode so that we
              can focus frames.
      
              Rewrote/renamed
              Document::nextFocusableNode/Document::previousFocusableNode.
      
              * dom/Document.cpp:
              (WebCore::nextNodeWithExactTabIndex): New static helper
              function.
              (WebCore::previousNodeWithExactTabIndex): Ditto.
              (WebCore::nextNodeWithGreaterTabIndex): Ditto.
              (WebCore::previousNodeWithLowerTabIndex): Ditto.
              (WebCore::Document::nextFocusableNode): Renamed from nextFocusedNode,
              and rewritten with much simpler logic.
              (WebCore::Document::previousFocusableNode): Ditto.
              * dom/Document.h: Updated declarations for renames.
              * page/mac/EventHandlerMac.mm: Updated for rename of SelectionDirection
              to FocusDirection.
              (WebCore::EventHandler::nextKeyViewInFrame): Updated for renames.
              (WebCore::EventHandler::nextKeyViewInFrameHierarchy): Ditto.
              (WebCore::EventHandler::nextKeyView): Ditto.
              (WebCore::EventHandler::focusDocumentView): Added call to
              setFocusedFrame when focusing the document view.
              (WebCore::EventHandler::passMouseDownEventToWidget): Removed LOG_ERROR
              when a nil NSView is returned from AppKit, as this is a fairly common
              occurrence when a RenderWidget has a border.
              (WebCore::EventHandler::passWheelEventToWidget): Added a nil-check of
              the hit-tested NSView.
      
              Changed storage of tabIndex to a signed short, and added clamping of
              tabindex attribute values to match Firefox's behavior.
      
              * dom/Node.h: Use a signed short to store m_tabIndex.
              (WebCore::Node::isFrameOwnerElement): New method.
              (WebCore::Node::tabIndex): Updated for signedness.
              (WebCore::Node::setTabIndex): Ditto.
              * html/HTMLAnchorElement.cpp: Remove implementation of tabIndex() so
              that Node::tabIndex() will be called instead and return the clamped
              value (which matches Firefox's behavior).
              * html/HTMLAnchorElement.h: Ditto.
              * html/HTMLAreaElement.cpp: Ditto.
              * html/HTMLAreaElement.h: Ditto.
              * html/HTMLGenericFormElement.cpp: Ditto.
              * html/HTMLGenericFormElement.h: Ditto.
              * html/HTMLObjectElement.cpp: Ditto.
              * html/HTMLObjectElement.h: Ditto.
              * html/HTMLElement.cpp:
              (WebCore::HTMLElement::parseMappedAttribute): Clamp tabIndex to the
              range of a signed short to match Firefox.
      
              Added two new Chrome methods for transferring focus out of the
              WebView.
      
              * page/Chrome.cpp:
              (WebCore::Chrome::canTakeFocus):
              (WebCore::Chrome::takeFocus):
              * page/Chrome.h:
              * page/ChromeClient.h:
              * platform/graphics/svg/SVGImageEmptyClients.h: Fixed typo "CromeClient" -> "ChromeClient".
              (WebCore::SVGEmptyChromeClient::~SVGEmptyChromeClient):
              (WebCore::SVGEmptyChromeClient::canTakeFocus):
              (WebCore::SVGEmptyChromeClient::takeFocus):
              * platform/graphics/svg/SVGImage.cpp:
              (WebCore::SVGImage::setData): Fixed typo.
      
              Miscellaneous:
      
              * WebCore.exp: Updated/sorted symbols.
              * WebCore.xcodeproj/project.pbxproj: Made FocusController.h Private so
              WebKit can access it.
      
      WebKit:
      
              Reviewed by Geoff.
      
              Remove WebKit/AppKit from handling tabbing between subframes.
      
              * WebCoreSupport/WebChromeClient.h: Added new ChromeClient methods for
              moving focus out of the WebView.
              * WebCoreSupport/WebChromeClient.mm: Ditto.
              (WebChromeClient::canTakeFocus):
              (WebChromeClient::takeFocus):
              * WebCoreSupport/WebFrameBridge.mm:
              (-[WebFrameBridge webView]): Added null-check of m_frame.
              * WebView/WebHTMLView.m: Removed -[WebHTMLView nextValidKeyView].
              (-[WebHTMLView _updateActiveState]): Changed to focus the frame if
              WebCore believes it to be the focused frame.
              (-[WebHTMLView becomeFirstResponder]): Rewrote to call into
              FocusController to place focus correctly within the WebView.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      59245e65
  15. 14 Dec, 2006 1 commit
    • ggaren's avatar
      LayoutTests: · 03a0f87a
      ggaren authored
              Updated these results now that I've rolled out my change to move focus
              to the page level:
              
              * editing/undo/undo-iframe-location-change-expected.txt:
              * fast/forms/focus2-expected.txt:
              
              Added this test for one of the regressions that moving focus to the page
              level caused:
              
              * editing/selection/inactive-selection-expected.txt: Added.
              * editing/selection/inactive-selection.html: Added.
      
      WebCore:
      
              Fixed <rdar://problem/4882713> GMAIL (REGRESSION): Can't apply font style, 
              foreground or background to selected text
              
              Also <rdar://problem/4883751> REGRESSION: Caret fails to insert itself 
              automatically in a new note window
              
              I'm rolling out my change to move focus to the page level because it caused
              too many unexpected and bizarre regressions. Our code relies on focus
              being per-document so that it can make focus changes that are effectively
              no-ops, and so that it can conflate focus and selection in some cases (a bad 
              idea, since they're not the same).
              
              Hopefully we can revisit this, along with hover and active, in the future.
      
              * dom/Document.cpp:
              (WebCore::widgetForNode):
              (WebCore::relinquishesEditingFocus):
              (WebCore::acceptsEditingFocus):
              (WebCore::clearSelectionIfNeeded):
              (WebCore::Document::removedLastRef):
              (WebCore::Document::detach):
              (WebCore::Document::focusedNodeDetached):
              (WebCore::Document::setFocusedNode):
              * dom/Document.h:
              (WebCore::Document::focusedNode):
              * page/FocusController.cpp:
              * page/FocusController.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18229 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      03a0f87a
  16. 13 Dec, 2006 1 commit
    • ggaren's avatar
      Reviewed by Darin Adler, Dave Hyatt. · bc3ef1a6
      ggaren authored
              
              Beefed up FocusController to handle frame focus. Changed implementors to
              use FocusController, rather than the widget hierarchy, to focus frames.
      
              (WebCore::FocusController::focusedNode): Made a minor change to focus a frame
              before focusing the element inside of it. This matches FF.
              (WebCore::FocusController::focusedFrame):
              * platform/Widget.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18202 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      bc3ef1a6
  17. 12 Dec, 2006 1 commit
    • ggaren's avatar
      Reviewed by Adam Roben, Dave Hyatt, Darin Adler. · 7c5851a2
      ggaren authored
              
              Factored focus control into a FocusController class. I inted to use this
              class for handling window active state and the focused frame, as well.
      
              Layout tests pass.
      
              * WebCore.xcodeproj/project.pbxproj:
              * dom/Document.cpp:
              (WebCore::Document::view):
              (WebCore::Document::page): New helper function.
              * dom/Document.h: Moved setters before getters.
              (WebCore::Document::hoverNode):
              (WebCore::Document::activeNode):
              * dom/Node.cpp:
              (WebCore::Node::detach): Use the FocusController.
              * page/FocusController.cpp: Added.
              (WebCore::shouldFocus): renamed and refactored this helper function.
              (WebCore::shouldUnfocus): ditto.
              * page/FocusController.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@18187 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c5851a2
  18. 23 Aug, 2006 1 commit
    • mjs's avatar
      Reviewed by Brady. · 66362db0
      mjs authored
              - assorted style cleanup of icon loader code:
              
              - wrapped all implementation files in namespace WebCore {} instead of "using namespace WebCore;" at top
              - split headers to be one per class, to match impl files
              - made files that are purely local in IconDatabase.cpp static
              - make each impl file include config.h as first header (and no config.h includes in other headers)
              - avoid multiple copies of Vector<unsigned char> for image data
      
              * WebCore.xcodeproj/project.pbxproj:
              * loader/icon/IconDataCache.cpp:
              * loader/icon/IconDataCache.h: Added.
              (WebCore::):
              (WebCore::IconDataCache::getTimestamp):
              (WebCore::IconDataCache::setTimestamp):
              (WebCore::IconDataCache::getIconURL):
              * loader/icon/IconDatabase.cpp:
              (WebCore::IconDatabase::imageDataForIconURL):
              (WebCore::IconDatabase::iconForPageURL):
              (WebCore::pageURLTableIsEmptyQuery):
              (WebCore::imageDataForIconURLQuery):
              (WebCore::timeStampForIconURLQuery):
              (WebCore::iconURLForPageURLQuery):
              (WebCore::forgetPageURLQuery):
              (WebCore::setIconIDForPageURLQuery):
              (WebCore::getIconIDForIconURLQuery):
              (WebCore::addIconForIconURLQuery):
              (WebCore::hasIconForIconURLQuery):
              * loader/icon/IconDatabase.h:
              * loader/icon/SQLDatabase.cpp:
              * loader/icon/SQLDatabase.h:
              * loader/icon/SQLStatement.cpp:
              (WebCore::SQLStatement::getColumnBlobAsVector):
              * loader/icon/SQLStatement.h: Added.
              (WebCore::SQLStatement::isPrepared):
              (WebCore::SQLStatement::prepareAndStep):
              (WebCore::SQLStatement::lastError):
              (WebCore::SQLStatement::lastErrorMsg):
              * loader/icon/SQLTransaction.cpp:
              * loader/icon/SQLTransaction.h: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      66362db0
  19. 09 Jul, 2006 1 commit
    • darin's avatar
      Reviewed by Tim Hatcher. · f4b05b29
      darin authored
              - put more into the WebCore namespace
              - removed unused code for plain text fields
      
              Put more classes, class templates, enums, functions, and constants into
              the WebCore namespace, including all the headers in the platform directory.
      
              Removed lots of unneeded "WebCore::" qualifiers and "using" directives.
      
              Added some "WebCore::" qualifiers in a few places.
      
              Removed "uses WebCore::" in headers that we said we'd remove "when
              everything is in the WebCore namespace".
      
              * bindings/js/JSDOMParser.cpp:
              * bindings/js/JSHTMLElementWrapperFactory.cpp:
              * bindings/js/JSXSLTProcessor.cpp:
              * bindings/js/kjs_binding.cpp:
              * bindings/js/kjs_css.cpp:
              * bindings/js/kjs_dom.cpp:
              * bindings/js/kjs_dom.h:
              * bindings/js/kjs_events.cpp:
              * bindings/js/kjs_proxy.h:
              * bindings/js/kjs_window.h:
              * bindings/objc/DOM.mm:
              * bridge/History.h:
              * bridge/JavaAppletWidget.h:
              * bridge/mac/FormDataMac.h:
              * bridge/mac/FormDataMac.mm:
              * bridge/mac/WebCoreAXObject.mm:
              * bridge/mac/WebCoreEncodings.mm:
              * bridge/mac/WebCoreFrameBridge.h:
              * bridge/mac/WebCoreIconDatabaseBridge.mm:
              * bridge/mac/WebCorePageState.h:
              * bridge/mac/WebCoreScriptDebugger.mm:
              * bridge/mac/WebCoreSettings.h:
              * css/CSSGrammar.y:
              * css/CSSPageRule.cpp:
              * css/CSSPageRule.h:
              * css/MediaList.cpp:
              * css/cssstyleselector.h:
              * dom/Clipboard.h:
              * dom/Document.cpp:
              * dom/Document.h:
              * dom/EventTargetNode.h:
              * dom/Node.cpp:
              * dom/Node.h:
              * dom/Position.h:
              * dom/Range.cpp:
              * dom/XMLTokenizer.cpp:
              * editing/AppendNodeCommand.h:
              * editing/ApplyStyleCommand.cpp:
              * editing/BreakBlockquoteCommand.cpp:
              * editing/BreakBlockquoteCommand.h:
              * editing/CompositeEditCommand.cpp:
              * editing/CompositeEditCommand.h:
              * editing/CreateLinkCommand.h:
              * editing/DeleteFromTextNodeCommand.h:
              * editing/DeleteSelectionCommand.h:
              * editing/FormatBlockCommand.h:
              * editing/HTMLInterchange.cpp:
              * editing/HTMLInterchange.h:
              * editing/IndentOutdentCommand.h:
              * editing/InsertIntoTextNodeCommand.h:
              * editing/InsertLineBreakCommand.h:
              * editing/InsertListCommand.h:
              * editing/InsertNodeBeforeCommand.h:
              * editing/InsertTextCommand.cpp:
              * editing/InsertTextCommand.h:
              * editing/JSEditor.cpp:
              * editing/JSEditor.h:
              * editing/JoinTextNodesCommand.h:
              * editing/MergeIdenticalElementsCommand.cpp:
              * editing/MergeIdenticalElementsCommand.h:
              * editing/ModifySelectionListLevel.h:
              * editing/MoveSelectionCommand.h:
              * editing/RebalanceWhitespaceCommand.h:
              * editing/RemoveNodeAttributeCommand.h:
              * editing/RemoveNodeCommand.h:
              * editing/RemoveNodePreservingChildrenCommand.h:
              * editing/ReplaceSelectionCommand.h:
              * editing/SetNodeAttributeCommand.h:
              * editing/SplitElementCommand.cpp:
              * editing/SplitElementCommand.h:
              * editing/SplitTextNodeCommand.cpp:
              * editing/SplitTextNodeCommand.h:
              * editing/SplitTextNodeContainingElementCommand.h:
              * editing/TypingCommand.cpp:
              * editing/TypingCommand.h:
              * editing/UnlinkCommand.h:
              * editing/VisiblePosition.cpp:
              * editing/WrapContentsInDummySpanCommand.cpp:
              * editing/WrapContentsInDummySpanCommand.h:
              * editing/markup.cpp:
              * editing/markup.h:
              * html/HTMLAnchorElement.cpp:
              * html/HTMLBodyElement.cpp:
              * html/HTMLButtonElement.h:
              * html/HTMLCollection.h:
              * html/HTMLDocument.h:
              * html/HTMLEmbedElement.cpp:
              * html/HTMLFormElement.cpp:
              * html/HTMLFormElement.h:
              * html/HTMLFrameElement.cpp:
              * html/HTMLFrameSetElement.cpp:
              * html/HTMLKeygenElement.cpp:
              * html/HTMLLabelElement.cpp:
              * html/HTMLObjectElement.cpp:
              * html/HTMLObjectElement.h:
              * html/HTMLTableElement.cpp:
              * html/HTMLTablePartElement.cpp:
              * icon/IconDatabase.h:
              * kcanvas/KCanvasPath.h:
              * kcanvas/KCanvasResources.cpp:
              * kcanvas/KCanvasResources.h:
              * kcanvas/KCanvasTreeDebug.cpp:
              * kcanvas/KCanvasTreeDebug.h:
              * kcanvas/RenderSVGContainer.cpp:
              * kcanvas/RenderSVGText.h:
              * kcanvas/device/KRenderingPaintServer.h:
              * kcanvas/device/KRenderingPaintServerGradient.h:
              * kcanvas/device/KRenderingPaintServerSolid.cpp:
              * ksvg2/misc/SVGImageLoader.cpp:
              * ksvg2/svg/SVGElement.cpp:
              * ksvg2/svg/SVGElement.h:
              * ksvg2/svg/SVGForeignObjectElement.cpp:
              * ksvg2/svg/SVGForeignObjectElement.h:
              * ksvg2/svg/SVGImageElement.cpp:
              * ksvg2/svg/SVGPoint.h:
              * ksvg2/svg/SVGStylable.h:
              * ksvg2/svg/SVGTRefElement.cpp:
              * ksvg2/svg/SVGTRefElement.h:
              * ksvg2/svg/SVGTSpanElement.cpp:
              * ksvg2/svg/SVGTSpanElement.h:
              * ksvg2/svg/SVGTextElement.h:
              * ksvg2/svg/svgpathparser.cpp:
              * ksvg2/svg/svgpathparser.h:
              * loader/Cache.h:
              * loader/DocLoader.h:
              * loader/LoaderFunctions.h:
              * loader/mac/LoaderFunctionsMac.mm:
              * page/Frame.h:
              * page/FrameView.h:
              * page/Page.h:
              * page/Settings.h:
              * platform/AffineTransform.cpp:
              * platform/AffineTransform.h:
              * platform/Arena.cpp:
              * platform/Arena.h:
              * platform/CookieJar.h:
              * platform/DeprecatedCString.cpp:
              * platform/DeprecatedCString.h:
              * platform/DeprecatedPtrList.h:
              * platform/DeprecatedPtrListImpl.cpp:
              * platform/DeprecatedPtrListImpl.h:
              * platform/DeprecatedPtrQueue.h:
              * platform/DeprecatedString.cpp:
              * platform/DeprecatedString.h:
              * platform/DeprecatedStringList.cpp:
              * platform/DeprecatedStringList.h:
              * platform/DeprecatedValueList.h:
              * platform/DeprecatedValueListImpl.cpp:
              * platform/DeprecatedValueListImpl.h:
              * platform/FileButton.h:
              * platform/FloatPoint.h:
              * platform/FloatRect.h:
              * platform/FloatSize.h:
              * platform/FontData.h:
              * platform/FontFallbackList.h:
              * platform/GraphicsContext.h:
              * platform/IntPoint.h:
              * platform/IntRect.h:
              * platform/IntSize.h:
              * platform/KURL.cpp:
              * platform/KURL.h:
              * platform/ListBox.h:
              * platform/Logging.cpp:
              * platform/Logging.h:
              * platform/Pen.h:
              * platform/PopUpButton.h:
              * platform/RegularExpression.cpp:
              * platform/RegularExpression.h:
              * platform/SSLKeyGenerator.h:
              * platform/ScrollBar.h:
              * platform/SegmentedString.h:
              * platform/Shared.h:
              * platform/Slider.h:
              * platform/StringImpl.h:
              * platform/TextBox.h:
              * platform/TextField.h:
              * platform/TextStream.cpp:
              * platform/TextStream.h:
              * platform/TransferJob.h:
              * platform/TransferJobClient.h:
              * platform/Widget.h:
              * platform/cg/AffineTransformCG.cpp:
              * platform/mac/ClipboardMac.h:
              * platform/mac/ClipboardMac.mm:
              * platform/mac/DeprecatedStringListMac.mm:
              * platform/mac/FontCacheMac.mm:
              * platform/mac/KURLMac.mm:
              * platform/mac/ListBoxMac.mm:
              * platform/mac/PopUpButtonMac.mm:
              * platform/mac/SSLKeyGeneratorMac.mm:
              * platform/mac/TextBoxMac.mm:
              * platform/mac/TextFieldMac.mm:
              * platform/mac/WebCoreTextArea.h:
              * platform/mac/WebCoreTextArea.mm:
              * platform/mac/WebCoreTextField.h:
              * platform/mac/WebCoreTextField.mm:
              * rendering/DeprecatedRenderSelect.h:
              * rendering/RenderArena.cpp:
              * rendering/RenderArena.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderBox.cpp:
              * rendering/RenderContainer.cpp:
              * rendering/RenderFlexibleBox.cpp:
              * rendering/RenderFlow.cpp:
              * rendering/RenderLayer.cpp:
              * rendering/RenderLineEdit.cpp:
              * rendering/RenderObject.h:
              * rendering/RenderStyle.cpp:
              * rendering/RenderStyle.h:
              * rendering/RenderText.cpp:
              * rendering/RenderTextFragment.cpp:
              * rendering/RenderTheme.h:
              * rendering/RenderTreeAsText.cpp:
              * rendering/RenderTreeAsText.h:
              * rendering/RenderView.h:
              * rendering/bidi.h:
              * xml/XSLStyleSheet.cpp:
              * xml/XSLTProcessor.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@15286 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f4b05b29
  20. 27 Mar, 2006 1 commit
  21. 25 Mar, 2006 1 commit
    • justing's avatar
      LayoutTests: · f6acc030
      justing authored
              Reviewed by harrison
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=7683>
              TinyMCE: execCommand("Unlink") unimplemented
      
              * editing/editing.js:
              * editing/execCommand/createLink-expected.checksum: Removed.
              * editing/execCommand/createLink-expected.png: Removed.
              * editing/execCommand/createLink-expected.txt:
              * editing/execCommand/createLink.html:
              * editing/execCommand/unlink-expected.txt: Added.
              * editing/execCommand/unlink.html: Added.
      
      WebCore:
      
              Reviewed by harrison
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=7683>
              TinyMCE: execCommand("Unlink") unimplemented
              
              Added code to push partially selected anchor elements down before 
              creating or removing links to create fully selected chunks that can be removed.
              Changed __create_link_command_h__ to CreateLinkCommand_h
              Gave styled element application/removal its own ApplyStyleCommand constructor.
              Still need to add new EditActions (7974).
              
              * WebCore.xcodeproj/project.pbxproj:
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::ApplyStyleCommand):
              (WebCore::ApplyStyleCommand::applyBlockStyle):
              (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
              * editing/ApplyStyleCommand.h:
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::applyStyle):
              (WebCore::CompositeEditCommand::applyStyledElement):
              (WebCore::CompositeEditCommand::removeStyledElement):
              (WebCore::enclosingAnchorElement):
              (WebCore::CompositeEditCommand::pushAnchorElementDown):
              (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown):
              * editing/CompositeEditCommand.h:
              * editing/CreateLinkCommand.cpp:
              (WebCore::CreateLinkCommand::doApply):
              * editing/CreateLinkCommand.h:
              * editing/JSEditor.cpp:
              * editing/Selection.cpp:
              (WebCore::Selection::selectionFromContentsOfNode):
              * editing/Selection.h:
              * editing/UnlinkCommand.cpp: Added.
              (WebCore::UnlinkCommand::UnlinkCommand):
              (WebCore::UnlinkCommand::doApply):
              * editing/UnlinkCommand.h: Added.
              * page/Frame.cpp:
              (WebCore::Frame::selectContentsOfNode):
              (WebCore::Frame::computeAndSetTypingStyle):
              (WebCore::Frame::applyStyle):
              (WebCore::Frame::applyParagraphStyle):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f6acc030
  22. 19 Mar, 2006 1 commit
  23. 15 Mar, 2006 1 commit
    • justing's avatar
      LayoutTests: · 75ac4fc4
      justing authored
              Reviewed by mjs
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
              TinyMCE: Implement execCommand CreateLink
      
              * editing/editing.js:
              * editing/execCommand/createLink-expected.checksum: Added.
              * editing/execCommand/createLink-expected.png: Added.
              * editing/execCommand/createLink-expected.txt: Added.
              * editing/execCommand/createLink.html: Added.
      
      WebCore:
      
              Reviewed by mjs
              
              <http://bugzilla.opendarwin.org/show_bug.cgi?id=7578>
              TinyMCE: Implement execCommand CreateLink
              
              Used ApplyStyleCommand so that creating a link from
              a selection doesn't change document structure.
      
              * WebCore.xcodeproj/project.pbxproj:
              * editing/ApplyStyleCommand.cpp:
              (WebCore::ApplyStyleCommand::ApplyStyleCommand):
              (WebCore::ApplyStyleCommand::doApply):
              (WebCore::ApplyStyleCommand::removeInlineStyle):
              (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
              * editing/ApplyStyleCommand.h:
              * editing/CompositeEditCommand.cpp:
              (WebCore::CompositeEditCommand::applyStyle):
              * editing/CreateLinkCommand.cpp: Added.
              (WebCore::CreateLinkCommand::CreateLinkCommand):
              (WebCore::CreateLinkCommand::doApply):
              * editing/CreateLinkCommand.h: Added.
              * editing/jsediting.cpp:
              * page/Frame.cpp:
              (WebCore::Frame::computeAndSetTypingStyle):
              (WebCore::Frame::applyStyle):
              (WebCore::Frame::applyParagraphStyle):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13301 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      75ac4fc4
  24. 03 Mar, 2006 1 commit
    • eseidel's avatar
      2006-03-03 Eric Seidel <eseidel@apple.com> · 2e3cbd9a
      eseidel authored
              Reviewed by mjs.
      
              Wire up WidgetWin, CursorWin, ScrollViewWin.
              Stub out methods for selection and cursors.
      
              * Viewer/ImageDocument.h:
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * bridge/win/FrameWin.cpp:
              * khtml/ecma/kjs_proxy.cpp:
              (WebCore::KJSProxyImpl::initScriptIfNeeded):
              * platform/IntRect.h:
              (WebCore::IntRect::IntRect):
              * platform/Widget.h:
              * platform/win/CursorWin.cpp:
              (WebCore::eastResizeCursor):
              (WebCore::northResizeCursor):
              (WebCore::northEastResizeCursor):
              (WebCore::northWestResizeCursor):
              (WebCore::southResizeCursor):
              (WebCore::southEastResizeCursor):
              (WebCore::southWestResizeCursor):
              (WebCore::westResizeCursor):
              * platform/win/IntRectWin.cpp:
              (WebCore::IntRect::IntRect):
              (WebCore::IntRect::operator RECT):
              * platform/win/MouseEventWin.cpp:
              * platform/win/ScrollViewWin.cpp: Added.
              (WebCore::ScrollView::updateContents):
              * platform/win/TemporaryLinkStubs.cpp:
              (QTextEdit::textWithHardLineBreaks):
              (QLineEdit::setPlaceholderString):
              (QScrollBar::scroll):
              (GraphicsContext::beginTransparencyLayer):
              (Widget::setIsSelected):
              (QLineEdit::selectedText):
              (QComboBox::sizeHint):
              (KWQFileButton::focusPolicy):
              (QTextEdit::focusPolicy):
              (QSlider::focusPolicy):
              (QListBox::focusPolicy):
              (QLineEdit::focusPolicy):
              (WebCore::moveCursor):
              (ScrollView::scrollBy):
              (KWQKCookieJar::cookieEnabled):
              (WebCore::TransferJob::TransferJob):
              (WebCore::screenDepth):
              (WebCore::usableScreenRect):
              (FrameWin::getObjectInstanceForWidget):
              (FrameWin::getEmbedInstanceForWidget):
              (FrameWin::getAppletInstanceForWidget):
              (FrameWin::passMouseDownEventToWidget):
              (FrameWin::issuePasteCommand):
              (FrameWin::issueTransposeCommand):
              (QSlider::setFont):
              (QLineEdit::setFont):
              (QListBox::setFont):
              (QFontMetrics::QFontMetrics):
              (QComboBox::setFont):
              (QTextEdit::setFont):
              (QTextEdit::setWritingDirection):
              (QFontMetrics::setFontDescription):
              (QFontMetrics::checkSelectionPoint):
              (FrameWin::addMessageToConsole):
              (FrameWin::shouldChangeSelection):
              (ScrollView::resizeContents):
              (ScrollView::visibleHeight):
              (ScrollView::visibleWidth):
              (ScrollView::setContentsPos):
              (ScrollView::contentsX):
              (ScrollView::contentsY):
              (ScrollView::contentsHeight):
              (ScrollView::contentsWidth):
              (ScrollView::viewportToContents):
              * platform/win/WidgetWin.cpp: Added.
              (WebCore::Widget::Widget):
              (WebCore::Widget::~Widget):
              (WebCore::Widget::windowHandle):
              (WebCore::Widget::setWindowHandle):
              (WebCore::Widget::setActiveWindow):
              (WebCore::Widget::frameGeometry):
              (WebCore::Widget::hasFocus):
              (WebCore::Widget::setFocus):
              (WebCore::Widget::clearFocus):
              (WebCore::Widget::font):
              (WebCore::Widget::setFont):
              (WebCore::Widget::setCursor):
              (WebCore::Widget::show):
              (WebCore::Widget::hide):
              (WebCore::Widget::setFrameGeometry):
              (WebCore::Widget::mapFromGlobal):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13113 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2e3cbd9a
  25. 01 Mar, 2006 1 commit
    • eseidel's avatar
      2006-03-01 Eric Seidel <eseidel@apple.com> · 8b133a92
      eseidel authored
              Reviewed by mjs.
      
              Fix win32 build, add IntRectWin and GraphicsContextCairo stub.
      
              * Viewer/ImageDocument.cpp:
              * Viewer/ImageMainFrame.cpp:
              * WebCore.vcproj/WebCore/WebCore.vcproj:
              * platform/IntRect.h:
              * platform/cairo/GraphicsContextCairo.cpp: Added.
              * platform/win/TemporaryLinkStubs.cpp:
              (GraphicsContext::drawLineForText):
              (WebCore::GraphicsContext::fillRect):
              (WebCore::TransferJob::TransferJob):
              (GraphicsContext::GraphicsContext):
              (WebCore::GraphicsContext::~GraphicsContext):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@13077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8b133a92
  26. 23 Feb, 2006 1 commit
    • darin's avatar
      Reviewed by John Sullivan. · 947a31b6
      darin authored
              - moved QMouseEvent, QKeyEvent, QWheelEvent, and "Foundation extras"
                from kwq to platform directory
              - moved history function from kwq to bridge directory
              - eliminated QEvent, MousePressEvent, MouseDoubleClickEvent, MouseMoveEvent,
                MoveReleaseEvent, and DrawContents classes
              - merged NodeImpl::MouseEvent and the MouseEvent from khtml_events.h into
                a single class in the page directory
              - broke khtmllayout.h out into a file for the Length structure in the css
                directory and a file for the GapRects structure in the rendering directory
              - redid the Length structure to work more portably by not relying on bitfield
                layout and improve the names to no longer explicitly mention "width"
              - reduced use of QGuardedPtr and other uses of the QObject "destroyed" signal
      
              * ForwardingHeaders/kparts: Removed.
              * ForwardingHeaders/qevent.h: Removed.
              * khtml/khtml_events.cpp: Removed.
              * khtml/khtml_events.h: Removed.
              * khtml/misc/khtmllayout.h: Removed.
              * kwq/KWQEvent.h: Removed.
              * kwq/KWQEvent.mm: Removed.
              * kwq/KWQFoundationExtras.h: Removed.
              * kwq/KWQKHistoryProvider.mm: Removed.
              * kwq/KWQKPartsHistoryProvider.h: Removed.
      
              * bridge/History.h: Added.
              * bridge/mac/HistoryMac.mm: Added.
              * css/Length.h: Added.
              * page/MouseEventWithHitTestResults.h: Added.
              * platform/KeyEvent.h: Added.
              * platform/MouseEvent.h: Added.
              * platform/WheelEvent.h: Added.
              * platform/mac/FoundationExtras.h: Added.
              * platform/mac/KeyEventMac.mm: Added.
              * platform/mac/MouseEventMac.mm: Added.
              * platform/mac/WheelEventMac.mm: Added.
              * rendering/GapRects.h: Added.
      
              * WebCore.xcodeproj/project.pbxproj: Updated for above changes.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Updated for above changes.
      
              * bridge/mac/MacFrame.h: Removed unused parameters from urlSelected functions.
              Replaced MouseEvent, MousePressEvent, MouseMoveEvent, and MouseReleaseEvent
              with MouseEventWithHitTestResults.
              * bridge/mac/MacFrame.mm:
              (WebCore::MacFrame::urlSelected): Removed unused parameters.
              (WebCore::MacFrame::wheelEvent): Changed to use WheelEvent.
              (WebCore::MacFrame::keyEvent): Changed to use KeyEvent.
              (WebCore::MacFrame::khtmlMousePressEvent): Changed parameter type.
              (WebCore::MacFrame::khtmlMouseMoveEvent): Ditto.
              (WebCore::MacFrame::khtmlMouseReleaseEvent): Ditto.
              (WebCore::MacFrame::passSubframeEventToSubframe): Ditto.
              (WebCore::MacFrame::mouseDown): Changed to use MouseEvent.
              (WebCore::MacFrame::mouseDragged): Ditto.
              (WebCore::MacFrame::mouseUp): Ditto.
              (WebCore::MacFrame::mouseMoved): Ditto.
              (WebCore::MacFrame::sendContextMenuEvent): Ditto.
      
              * css/csshelper.h: Removed a bunch of unused declarations.
      
              * dom/DocumentImpl.h:
              * dom/DocumentImpl.cpp:
              (WebCore::DocumentImpl::prepareMouseEvent): Changed to take a MouseEvent
              and return a MouseEventWithHitTestResults.
              (WebCore::DocumentImpl::defaultEventHandler): Changed to use KeyEvent.
      
              * dom/NodeImpl.h: Removed NodeImpl::MouseEvent and NodeImpl::MouseEventType.
              * dom/NodeImpl.cpp:
              (WebCore::NodeImpl::dispatchMouseEvent): Changed to always get the type and
              detail values from the caller, never from the event. Changed to use MouseEvent.
              (WebCore::NodeImpl::dispatchKeyEvent): Changed to use KeyEvent.
              (WebCore::NodeImpl::dispatchWheelEvent): Changed to use WheelEvent.
      
              * dom/dom2_eventsimpl.h:
              * dom/dom2_eventsimpl.cpp:
              (WebCore::KeyboardEventImpl::KeyboardEventImpl): Changed to use KeyEvent.
              (WebCore::KeyboardEventImpl::charCode): Ditto.
      
              * dom/dom_elementimpl.h: Removed unused mouseEventHandler function.
      
              * khtml/ecma/domparser.h: Use RefPtr instead of QGuardedPtr to hold the reference
              to the document.
      
              * khtml/ecma/kjs_proxy.h: (WebCore::KJSProxyImpl::haveInterpreter): Added. For
              use in the Frame destructor so we can get an existing KJS::Window object without
              creating a new interpreter and window object.
      
              * khtml/ecma/kjs_window.h: Merged WindowQObject into Window. Changed all the
              guarded pointers to Frame to use plain old pointers that are cleared by the
              Frame explicitly (by the function disconnectFrame). Made the pointers to all
              the sub-objects of KJS::Window be mutable so we don't have to const_cast in
              the functions to get (and lazily create) them.
              * khtml/ecma/kjs_window.cpp:
              (KJS::DOMWindowTimer::DOMWindowTimer): Use Window* instead of WindowQObject*.
              (KJS::History::disconnectFrame): Added. Clears m_frame.
              (KJS::FrameArray::disconnectFrame): Added. Clears m_frame.
              (KJS::Window::Window): Removed code to create a WindowQObject.
              (KJS::Window::~Window): Removed code to delete a WindowQObject.
              (KJS::Window::location): Remove now-unneeded const_cast.
              (KJS::Window::selection): Ditto.
              (KJS::Window::locationbar): Ditto.
              (KJS::Window::menubar): Ditto.
              (KJS::Window::personalbar): Ditto.
              (KJS::Window::statusbar): Ditto.
              (KJS::Window::toolbar): Ditto.
              (KJS::Window::scrollbars): Ditto.
              (KJS::Window::getValueProperty): Update since m_frame is now a raw pointer.
              (KJS::Window::getOwnPropertySlot): Ditto.
              (KJS::Window::toBoolean): Ditto.
              (KJS::Window::scheduleClose): Remove assert that WindowQObject* is not null.
              (KJS::Window::isSafeScript): Update since m_frame is now a raw pointer.
              (KJS::Window::clear): Remove code to delete a WindowQObject. Added a call
              to clearAllTimeouts instead.
              (KJS::Window::clearAllTimeouts): Added. Does equivalent of the WindowQObject
              destructor.
              (KJS::Window::installTimeout): Moved to Window from WindowQObject.
              (KJS::Window::pauseTimeouts): Ditto.
              (KJS::Window::resumeTimeouts): Ditto.
              (KJS::Window::clearTimeout): Ditto.
              (KJS::Window::timerFired): Ditto.
              (KJS::Window::disconnectFrame): Added. Sets all the frame pointers to 0.
              (KJS::FrameArray::getOwnPropertySlot): Update since m_frame is now a raw pointer.
              (KJS::Location::getOwnPropertySlot): Ditto.
              (KJS::Location::put): Ditto.
              (KJS::Selection::getOwnPropertySlot): Ditto.
              (KJS::BarInfo::getOwnPropertySlot): Ditto.
      
              * khtml/html/html_baseimpl.h: Forward-declare Length instead of including khtmllayout.h.
              * khtml/html/html_imageimpl.h: Ditto.
      
              * khtml/html/html_inlineimpl.cpp: (WebCore::HTMLAnchorElementImpl::defaultEventHandler):
              Changed to use KeyEvent and removed the code to extract the button and state from the
              DOM even to pass to urlSelected.
              * ksvg2/svg/SVGAElementImpl.cpp: (SVGAElementImpl::defaultEventHandler): Ditto.
      
              * khtml/html/htmltokenizer.cpp: (WebCore::HTMLTokenizer::timerFired): Change to use
              a RefPtr instead of a QGuardedPtr.
      
              * khtml/misc/helper.h:
              * khtml/misc/helper.cpp: Removed printpainter and setPrintPainter.
      
              * ksvg2/svg/SVGDocumentImpl.h:
              * ksvg2/svg/SVGDocumentImpl.cpp: (WebCore::SVGDocumentImpl::dispatchKeyEvent):
              Change to use KeyEvent.
      
              * kwq/KWQComboBox.mm:
              (-[KWQPopUpButton becomeFirstResponder]):
              (-[KWQPopUpButton resignFirstResponder]):
              * kwq/KWQFileButton.mm:
              (KWQFileButton::focusChanged):
              * kwq/KWQListBox.mm:
              (-[KWQTableView becomeFirstResponder]):
              (-[KWQTableView resignFirstResponder]):
              * kwq/KWQSlider.mm:
              (-[KWQSlider becomeFirstResponder]):
              (-[KWQSlider resignFirstResponder]):
              * kwq/KWQTextArea.mm:
              (-[KWQTextAreaTextView becomeFirstResponder]):
              (-[KWQTextAreaTextView resignFirstResponder]):
              * kwq/KWQTextField.mm:
              (-[KWQTextFieldController setHasFocus:]):
              Updated to use new eventFilterFocusIn/Out instead of the general purpose
              eventFilter function. This allows us to remove QEvent and the focus events.
      
              * kwq/KWQNamespace.h: Removed ButtonState.
      
              * kwq/KWQObject.h:
              * kwq/KWQObject.cpp: Replaced eventFilter function with eventFilterFocusIn and
              eventFilterFocusOut, allowing us to remove QEvent. Removed event function.
      
              * kwq/KWQSlot.cpp:
              (KWQSlot::KWQSlot): Removed the parentDestroyed slot.
              (KWQSlot::call): Ditto.
      
              * page/Frame.h:
              * page/Frame.cpp:
              (WebCore::UserStyleSheetLoader::UserStyleSheetLoader): Renamed from
              PartStyleSheetLoader. Removed a lot of unneeded null checks. Use a
              raw Frame pointer instead of a QGuardedPtr, and count on the Frame
              to delete us when it's being deleted.
              (WebCore::UserStyleSheetLoader::~UserStyleSheetLoader): No longer
              a virtual function. This is not a polymorphic class.
              (WebCore::UserStyleSheetLoader::setStyleSheet): Remove code to delete
              ourselves -- that's now the frame's responsibility.
              (WebCore::Frame::~Frame): Call disconnectFrame on the KJS::Window and
              delete m_userStyleSheetLoader.
              (WebCore::Frame::changeLocation): Update since urlSelected no longer takes
              button and state parameters.
              (WebCore::Frame::setUserStyleSheet): Delete existing loader to stop a load
              in progress before starting a new load. Store reference to loader.
              (WebCore::Frame::urlSelected): Remove button and state parameters and unused
              local variable hasTarget.
              (WebCore::Frame::selectClosestWordFromMouseEvent): Change from QMouseEvent
              to MouseEvent.
              (WebCore::Frame::handleMousePressEventDoubleClick): Change from MousePressEvent
              to MouseEventWithHitTestResults.
              (WebCore::Frame::handleMousePressEventTripleClick): Ditto.
              (WebCore::Frame::handleMousePressEventSingleClick): Ditto.
              (WebCore::Frame::khtmlMousePressEvent): Ditto.
              (WebCore::Frame::handleMouseMoveEventSelection): Change from MouseMoveEvent
              to MouseEventWithHitTestResults.
              (WebCore::Frame::khtmlMouseMoveEvent): Ditto.
              (WebCore::Frame::khtmlMouseReleaseEvent): Change from MouseReleaseEvent
              to MouseEventWithHitTestResults.
              (WebCore::Frame::khtmlMouseDoubleClickEvent): Change from
              MouseReleaseDoubleClickEvent to MouseEventWithHitTestResults.
              (WebCore::Frame::passWidgetMouseDownEventToWidget): Change from
              NodeImpl::MouseEvent to MouseEventWithHitTestResults.
      
              * page/FramePrivate.h: Added m_userStyleSheetLoader.
      
              * page/FrameView.h:
              * page/FrameView.cpp:
              (WebCore::FrameView::viewportMousePressEvent): Change from QMouseEvent to
              MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
              (WebCore::FrameView::viewportMouseDoubleClickEvent): Ditto.
              (WebCore::selectCursor): Ditto.
              (WebCore::FrameView::viewportMouseMoveEvent): Ditto.
              (WebCore::FrameView::viewportMouseReleaseEvent): Ditto.
              (WebCore::FrameView::keyPressEvent): Change from QKeyEvent to KeyEvent.
              (WebCore::FrameView::dispatchMouseEvent): Change from QMouseEvent to
              MouseEvent and from NodeImpl::MouseEvent to MouseEventWithHitTestResults.
              (WebCore::FrameView::viewportWheelEvent): Change from QWheelEvent to
              WheelEvent.
              (WebCore::FrameView::hoverTimerFired): Update for change to prepareMouseEvent
              parameters.
      
              * platform/Widget.h:
              * platform/Widget.cpp: Removed event function.
      
              * rendering/render_form.h: Removed LineEditWidget, ComboBoxWidget, TextAreaWidget.
              * rendering/render_form.cpp:
              (WebCore::RenderFormElement::slotClicked): Changed from QMouseEvent to MouseEvent.
              (WebCore::RenderFormElement::addIntrinsicMarginsIfAllowed): Updated for changes
              to the Length class.
              (WebCore::RenderSelect::setWidgetWritingDirection): Updated for removal of
              ComboBoxWidget.
              (WebCore::RenderSelect::slotSelected): Ditto.
              (WebCore::RenderSelect::createComboBox): Ditto.
      
              * rendering/render_replaced.h:
              * rendering/render_replaced.cpp:
              (WebCore::RenderWidget::destroy): Updated since removeEventFilter no longer takes
              a parameter.
              (WebCore::RenderWidget::setQWidget): Ditto.
              (WebCore::RenderWidget::eventFilterFocusIn): Added. Replaces eventFilter.
              (WebCore::RenderWidget::eventFilterFocusOut): Ditto.
      
              * css/css_computedstyle.cpp:
              (WebCore::valueForLength):
              (WebCore::CSSComputedStyleDeclarationImpl::getPropertyCSSValue):
              * css/cssstyleselector.cpp:
              (WebCore::checkPseudoState):
              (WebCore::CSSStyleSelector::applyProperty):
              (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize):
              * khtml/html/html_imageimpl.cpp:
              (WebCore::HTMLAreaElementImpl::getRegion):
              * rendering/RenderBlock.cpp:
              (WebCore::RenderBlock::MarginInfo::MarginInfo):
              (WebCore::RenderBlock::isSelfCollapsingBlock):
              (WebCore::RenderBlock::layoutBlock):
              (WebCore::RenderBlock::determineHorizontalPosition):
              (WebCore::RenderBlock::leftRelOffset):
              (WebCore::RenderBlock::rightRelOffset):
              (WebCore::RenderBlock::calcMinMaxWidth):
              (WebCore::getBPMWidth):
              (WebCore::RenderBlock::calcInlineMinMaxWidth):
              (WebCore::RenderBlock::calcBlockMinMaxWidth):
              * rendering/RenderTable.cpp:
              (WebCore::RenderTable::calcWidth):
              (WebCore::RenderTable::layout):
              * rendering/RenderTableCell.cpp:
              (WebCore::RenderTableCell::calcMinMaxWidth):
              * rendering/RenderTableSection.cpp:
              (WebCore::RenderTableSection::addChild):
              (WebCore::RenderTableSection::addCell):
              (WebCore::RenderTableSection::calcRowHeight):
              (WebCore::RenderTableSection::layoutRows):
              * rendering/RenderText.h:
              (khtml::RenderText::marginLeft):
              (khtml::RenderText::marginRight):
              * rendering/bidi.cpp:
              (khtml::getBPMWidth):
              * rendering/render_applet.cpp:
              (WebCore::RenderApplet::createWidgetIfNecessary):
              * rendering/render_box.cpp:
              (WebCore::RenderBox::paintBackgroundExtended):
              (WebCore::RenderBox::getClipRect):
              (WebCore::RenderBox::relativePositionOffset):
              (WebCore::RenderBox::calcWidth):
              (WebCore::RenderBox::calcWidthUsing):
              (WebCore::RenderBox::sizesToIntrinsicWidth):
              (WebCore::RenderBox::calcHorizontalMargins):
              (WebCore::RenderBox::calcHeight):
              (WebCore::RenderBox::calcHeightUsing):
              (WebCore::RenderBox::calcPercentageHeight):
              (WebCore::RenderBox::calcReplacedWidth):
              (WebCore::RenderBox::calcReplacedWidthUsing):
              (WebCore::RenderBox::calcReplacedHeight):
              (WebCore::RenderBox::calcReplacedHeightUsing):
              (WebCore::RenderBox::availableHeightUsing):
              (WebCore::RenderBox::calcVerticalMargins):
              (WebCore::RenderBox::calcAbsoluteHorizontal):
              (WebCore::RenderBox::calcAbsoluteHorizontalValues):
              (WebCore::RenderBox::calcAbsoluteVertical):
              (WebCore::RenderBox::calcAbsoluteVerticalValues):
              * rendering/render_br.cpp:
              (WebCore::RenderBR::lineHeight):
              * rendering/render_flexbox.cpp:
              (khtml::RenderFlexibleBox::calcHorizontalMinMaxWidth):
              (khtml::RenderFlexibleBox::calcVerticalMinMaxWidth):
              (khtml::RenderFlexibleBox::calcMinMaxWidth):
              (khtml::RenderFlexibleBox::allowedChildFlex):
              * rendering/render_flow.cpp:
              (WebCore::RenderFlow::lineHeight):
              * rendering/render_frames.cpp:
              (WebCore::RenderFrameSet::layout):
              * rendering/render_image.cpp:
              (WebCore::RenderImage::isWidthSpecified):
              (WebCore::RenderImage::isHeightSpecified):
              * rendering/render_layer.cpp:
              (WebCore::Marquee::direction):
              (WebCore::Marquee::start):
              (WebCore::Marquee::updateMarqueeStyle):
              (WebCore::Marquee::timerFired):
              * rendering/render_line.cpp:
              (WebCore::InlineFlowBox::marginLeft):
              (WebCore::InlineFlowBox::marginRight):
              * rendering/render_object.cpp:
              (WebCore::RenderObject::mustRepaintBackgroundOrBorder):
              (WebCore::RenderObject::paintBorderImage):
              (WebCore::RenderObject::paddingTop):
              (WebCore::RenderObject::paddingBottom):
              (WebCore::RenderObject::paddingLeft):
              (WebCore::RenderObject::paddingRight):
              (WebCore::RenderObject::getVerticalPosition):
              (WebCore::RenderObject::lineHeight):
              (WebCore::RenderObject::addDashboardRegions):
              * rendering/render_style.h:
              * rendering/render_theme_mac.mm:
              (WebCore::RenderThemeMac::addIntrinsicMargins):
              * rendering/table_layout.cpp:
              (WebCore::FixedTableLayout::calcWidthArray):
              (WebCore::FixedTableLayout::calcMinMaxWidth):
              (WebCore::FixedTableLayout::layout):
              (WebCore::AutoTableLayout::recalcColumn):
              (WebCore::AutoTableLayout::fullRecalc):
              (WebCore::AutoTableLayout::calcMinMaxWidth):
              (WebCore::AutoTableLayout::calcEffectiveWidth):
              (WebCore::AutoTableLayout::layout):
              (WebCore::AutoTableLayout::calcPercentages):
              Updated for changes to the Length class.
              Also removed a check of the printpainter global, never used in WebCore.
      
              * bindings/objc/DOM.mm:
              * bindings/objc/DOMCSS.mm:
              * bindings/objc/DOMHTML.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * css/csshelper.cpp:
              * editing/SelectionController.cpp:
              * khtml/ecma/kjs_html.h:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.mm:
              * kwq/KWQClipboard.mm:
              * kwq/KWQFont.mm:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQKJobClasses.mm:
              * kwq/KWQKURL.mm:
              * kwq/KWQLoader.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQPainter.mm:
              * kwq/WebCoreSettings.mm:
              * platform/StringImpl.cpp:
              * platform/mac/CursorMac.mm:
              * platform/mac/WidgetMac.mm:
              * rendering/RenderBlock.h:
              * rendering/render_canvas.cpp:
              * rendering/render_line.h:
              * rendering/render_style.cpp:
              * rendering/table_layout.h:
              Updated includes.
      
              * bindings/js/JSDOMCore.cpp: Touched, because I got strange failures if this
              didn't rebuild.
              * bindings/js/JSDOMEvents.cpp: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12953 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      947a31b6
  27. 22 Feb, 2006 1 commit
  28. 14 Feb, 2006 1 commit
    • darin's avatar
      Rubber-stamped by Eric. · a68e043d
      darin authored
              - moved editing sources from khtml/editing to editing, and renamed files with single classes
      
              * WebCore.xcodeproj/project.pbxproj: Added new, removed old.
              * WebCore.vcproj/WebCore/WebCore.vcproj: Ditto.
      
              * bridge/mac/MacFrame.mm:
              * bridge/mac/WebCoreFrameBridge.mm:
              * dom/DocumentImpl.cpp:
              * dom/dom2_rangeimpl.cpp:
              * dom/dom_position.cpp:
              * khtml/khtml_events.cpp:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.h:
              * kwq/KWQEditCommand.mm:
              * page/Frame.cpp:
              * page/FramePrivate.h:
              * rendering/RenderBlock.cpp:
              * rendering/RenderContainer.cpp:
              * rendering/RenderText.cpp:
              * rendering/render_br.cpp:
              * rendering/render_inline.cpp:
              * rendering/render_object.cpp:
              * rendering/render_replaced.cpp:
              Fixed up includes.
      
              * editing: Added.
              * editing/AppendNodeCommand.cpp: Added.
              * editing/AppendNodeCommand.h: Added.
              * editing/ApplyStyleCommand.cpp: Added.
              * editing/ApplyStyleCommand.h: Added.
              * editing/BreakBlockquoteCommand.cpp: Added.
              * editing/BreakBlockquoteCommand.h: Added.
              * editing/CompositeEditCommand.cpp: Added.
              * editing/CompositeEditCommand.h: Added.
              * editing/DeleteFromTextNodeCommand.cpp: Added.
              * editing/DeleteFromTextNodeCommand.h: Added.
              * editing/DeleteSelectionCommand.cpp: Added.
              * editing/DeleteSelectionCommand.h: Added.
              * editing/EditCommand.cpp: Added.
              * editing/EditCommand.h: Added.
              * editing/InsertIntoTextNodeCommand.cpp: Added.
              * editing/InsertIntoTextNodeCommand.h: Added.
              * editing/InsertLineBreakCommand.cpp: Added.
              * editing/InsertLineBreakCommand.h: Added.
              * editing/InsertNodeBeforeCommand.cpp: Added.
              * editing/InsertNodeBeforeCommand.h: Added.
              * editing/InsertParagraphSeparatorCommand.cpp: Added.
              * editing/InsertParagraphSeparatorCommand.h: Added.
              * editing/InsertTextCommand.cpp: Added.
              * editing/InsertTextCommand.h: Added.
              * editing/JoinTextNodesCommand.cpp: Added.
              * editing/JoinTextNodesCommand.h: Added.
              * editing/MergeIdenticalElementsCommand.cpp: Added.
              * editing/MergeIdenticalElementsCommand.h: Added.
              * editing/MoveSelectionCommand.cpp: Added.
              * editing/MoveSelectionCommand.h: Added.
              * editing/RebalanceWhitespaceCommand.cpp: Added.
              * editing/RebalanceWhitespaceCommand.h: Added.
              * editing/RemoveCSSPropertyCommand.cpp: Added.
              * editing/RemoveCSSPropertyCommand.h: Added.
              * editing/RemoveNodeAttributeCommand.cpp: Added.
              * editing/RemoveNodeAttributeCommand.h: Added.
              * editing/RemoveNodeCommand.cpp: Added.
              * editing/RemoveNodeCommand.h: Added.
              * editing/RemoveNodePreservingChildrenCommand.cpp: Added.
              * editing/RemoveNodePreservingChildrenCommand.h: Added.
              * editing/ReplaceSelectionCommand.cpp: Added.
              * editing/ReplaceSelectionCommand.h: Added.
              * editing/Selection.cpp:
              * editing/SelectionController.cpp:
              * editing/SetNodeAttributeCommand.cpp: Added.
              * editing/SetNodeAttributeCommand.h: Added.
              * editing/SplitElementCommand.cpp: Added.
              * editing/SplitElementCommand.h: Added.
              * editing/SplitTextNodeCommand.cpp: Added.
              * editing/SplitTextNodeCommand.h: Added.
              * editing/SplitTextNodeContainingElementCommand.cpp: Added.
              * editing/SplitTextNodeContainingElementCommand.h: Added.
              * editing/TypingCommand.cpp: Added.
              * editing/TypingCommand.h: Added.
              * editing/VisiblePosition.cpp: Added.
              * editing/VisiblePosition.h: Added.
              * editing/VisibleRange.cpp: Added.
              * editing/VisibleRange.h: Added.
              * editing/WrapContentsInDummySpanCommand.cpp: Added.
              * editing/WrapContentsInDummySpanCommand.h: Added.
              * editing/append_node_command.cpp: Removed.
              * editing/append_node_command.h: Removed.
              * editing/apply_style_command.cpp: Removed.
              * editing/apply_style_command.h: Removed.
              * editing/break_blockquote_command.cpp: Removed.
              * editing/break_blockquote_command.h: Removed.
              * editing/composite_edit_command.cpp: Removed.
              * editing/composite_edit_command.h: Removed.
              * editing/delete_from_text_node_command.cpp: Removed.
              * editing/delete_from_text_node_command.h: Removed.
              * editing/delete_selection_command.cpp: Removed.
              * editing/delete_selection_command.h: Removed.
              * editing/edit_command.cpp: Removed.
              * editing/edit_command.h: Removed.
              * editing/htmlediting.cpp:
              * editing/insert_into_text_node_command.cpp: Removed.
              * editing/insert_into_text_node_command.h: Removed.
              * editing/insert_line_break_command.cpp: Removed.
              * editing/insert_line_break_command.h: Removed.
              * editing/insert_node_before_command.cpp: Removed.
              * editing/insert_node_before_command.h: Removed.
              * editing/insert_paragraph_separator_command.cpp: Removed.
              * editing/insert_paragraph_separator_command.h: Removed.
              * editing/insert_text_command.cpp: Removed.
              * editing/insert_text_command.h: Removed.
              * editing/join_text_nodes_command.cpp: Removed.
              * editing/join_text_nodes_command.h: Removed.
              * editing/jsediting.cpp:
              * editing/markup.cpp:
              * editing/merge_identical_elements_command.cpp: Removed.
              * editing/merge_identical_elements_command.h: Removed.
              * editing/move_selection_command.cpp: Removed.
              * editing/move_selection_command.h: Removed.
              * editing/rebalance_whitespace_command.cpp: Removed.
              * editing/rebalance_whitespace_command.h: Removed.
              * editing/remove_css_property_command.cpp: Removed.
              * editing/remove_css_property_command.h: Removed.
              * editing/remove_node_attribute_command.cpp: Removed.
              * editing/remove_node_attribute_command.h: Removed.
              * editing/remove_node_command.cpp: Removed.
              * editing/remove_node_command.h: Removed.
              * editing/remove_node_preserving_children_command.cpp: Removed.
              * editing/remove_node_preserving_children_command.h: Removed.
              * editing/replace_selection_command.cpp: Removed.
              * editing/replace_selection_command.h: Removed.
              * editing/set_node_attribute_command.cpp: Removed.
              * editing/set_node_attribute_command.h: Removed.
              * editing/split_element_command.cpp: Removed.
              * editing/split_element_command.h: Removed.
              * editing/split_text_node_command.cpp: Removed.
              * editing/split_text_node_command.h: Removed.
              * editing/split_text_node_containing_element.cpp: Removed.
              * editing/split_text_node_containing_element_command.h: Removed.
              * editing/typing_command.cpp: Removed.
              * editing/typing_command.h: Removed.
              * editing/visible_position.cpp: Removed.
              * editing/visible_position.h: Removed.
              * editing/visible_range.cpp: Removed.
              * editing/visible_range.h: Removed.
              * editing/visible_units.cpp:
              * editing/wrap_contents_in_dummy_span_command.cpp: Removed.
              * editing/wrap_contents_in_dummy_span_command.h: Removed.
      
              * khtml/editing: Removed.
              * khtml/editing/Selection.cpp: Removed.
              * khtml/editing/Selection.h: Removed.
              * khtml/editing/SelectionController.cpp: Removed.
              * khtml/editing/SelectionController.h: Removed.
              * khtml/editing/append_node_command.cpp: Removed.
              * khtml/editing/append_node_command.h: Removed.
              * khtml/editing/apply_style_command.cpp: Removed.
              * khtml/editing/apply_style_command.h: Removed.
              * khtml/editing/break_blockquote_command.cpp: Removed.
              * khtml/editing/break_blockquote_command.h: Removed.
              * khtml/editing/composite_edit_command.cpp: Removed.
              * khtml/editing/composite_edit_command.h: Removed.
              * khtml/editing/delete_from_text_node_command.cpp: Removed.
              * khtml/editing/delete_from_text_node_command.h: Removed.
              * khtml/editing/delete_selection_command.cpp: Removed.
              * khtml/editing/delete_selection_command.h: Removed.
              * khtml/editing/edit_actions.h: Removed.
              * khtml/editing/edit_command.cpp: Removed.
              * khtml/editing/edit_command.h: Removed.
              * khtml/editing/html_interchange.cpp: Removed.
              * khtml/editing/html_interchange.h: Removed.
              * khtml/editing/htmlediting.cpp: Removed.
              * khtml/editing/htmlediting.h: Removed.
              * khtml/editing/insert_into_text_node_command.cpp: Removed.
              * khtml/editing/insert_into_text_node_command.h: Removed.
              * khtml/editing/insert_line_break_command.cpp: Removed.
              * khtml/editing/insert_line_break_command.h: Removed.
              * khtml/editing/insert_node_before_command.cpp: Removed.
              * khtml/editing/insert_node_before_command.h: Removed.
              * khtml/editing/insert_paragraph_separator_command.cpp: Removed.
              * khtml/editing/insert_paragraph_separator_command.h: Removed.
              * khtml/editing/insert_text_command.cpp: Removed.
              * khtml/editing/insert_text_command.h: Removed.
              * khtml/editing/join_text_nodes_command.cpp: Removed.
              * khtml/editing/join_text_nodes_command.h: Removed.
              * khtml/editing/jsediting.cpp: Removed.
              * khtml/editing/jsediting.h: Removed.
              * khtml/editing/markup.cpp: Removed.
              * khtml/editing/markup.h: Removed.
              * khtml/editing/merge_identical_elements_command.cpp: Removed.
              * khtml/editing/merge_identical_elements_command.h: Removed.
              * khtml/editing/move_selection_command.cpp: Removed.
              * khtml/editing/move_selection_command.h: Removed.
              * khtml/editing/rebalance_whitespace_command.cpp: Removed.
              * khtml/editing/rebalance_whitespace_command.h: Removed.
              * khtml/editing/remove_css_property_command.cpp: Removed.
              * khtml/editing/remove_css_property_command.h: Removed.
              * khtml/editing/remove_node_attribute_command.cpp: Removed.
              * khtml/editing/remove_node_attribute_command.h: Removed.
              * khtml/editing/remove_node_command.cpp: Removed.
              * khtml/editing/remove_node_command.h: Removed.
              * khtml/editing/remove_node_preserving_children_command.cpp: Removed.
              * khtml/editing/remove_node_preserving_children_command.h: Removed.
              * khtml/editing/replace_selection_command.cpp: Removed.
              * khtml/editing/replace_selection_command.h: Removed.
              * khtml/editing/set_node_attribute_command.cpp: Removed.
              * khtml/editing/set_node_attribute_command.h: Removed.
              * khtml/editing/split_element_command.cpp: Removed.
              * khtml/editing/split_element_command.h: Removed.
              * khtml/editing/split_text_node_command.cpp: Removed.
              * khtml/editing/split_text_node_command.h: Removed.
              * khtml/editing/split_text_node_containing_element.cpp: Removed.
              * khtml/editing/split_text_node_containing_element_command.h: Removed.
              * khtml/editing/text_affinity.h: Removed.
              * khtml/editing/text_granularity.h: Removed.
              * khtml/editing/typing_command.cpp: Removed.
              * khtml/editing/typing_command.h: Removed.
              * khtml/editing/visible_position.cpp: Removed.
              * khtml/editing/visible_position.h: Removed.
              * khtml/editing/visible_range.cpp: Removed.
              * khtml/editing/visible_range.h: Removed.
              * khtml/editing/visible_text.cpp: Removed.
              * khtml/editing/visible_text.h: Removed.
              * khtml/editing/visible_units.cpp: Removed.
              * khtml/editing/visible_units.h: Removed.
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp: Removed.
              * khtml/editing/wrap_contents_in_dummy_span_command.h: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@12803 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a68e043d
  29. 03 Oct, 2005 1 commit
    • mjs's avatar
      JavaScriptCore: · b64c50a2
      mjs authored
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	A number of optimizations to the new threadsafe malloc that make it actually as fast
      	as dlmalloc (I measured wrong before) and as memory-efficient as the system malloc.
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
      	via a private inline operator new that is now included into every file via config.h.
      
      	- tweaked some of the numeric parameters for size classes and amount of wasted memory
      	allowed per allocation - this saves on memory use and consequently improves speed.
      
      	- so long as the allocator is not being used on background threads, get the per-thread
      	cache from a global variable instead of from pthread_getspecific, since the latter is slow.
      
      	- inline more functions, and force the ones GCC refuses to inline with
      	attribute(always_inline), nearly all of these have one call site so inlining them has
      	to be a win.
      
      	- use some tricks to calculate allocation size more efficiently and fewer times for small
      	allocations, to avoid hitting the huge size table array.
      
      	- avoid hitting the per-thread cache on code paths that don't need it.
      
      	- implement inline assembly version of spinlock for PowerPC (was already done for x86)
      
              * bindings/NP_jsobject.cpp:
              * bindings/c/c_class.cpp:
              * bindings/c/c_instance.cpp:
              * bindings/c/c_runtime.cpp:
              * bindings/c/c_utility.cpp:
              * bindings/jni/jni_class.cpp:
              * bindings/jni/jni_instance.cpp:
              * bindings/jni/jni_jsobject.cpp:
              * bindings/jni/jni_objc.mm:
              * bindings/jni/jni_runtime.cpp:
              * bindings/jni/jni_utility.cpp:
              * bindings/npruntime.cpp:
              * bindings/objc/WebScriptObject.mm:
              * bindings/objc/objc_class.mm:
              * bindings/objc/objc_instance.mm:
              * bindings/objc/objc_runtime.mm:
              * bindings/objc/objc_utility.mm:
              * bindings/runtime.cpp:
              * bindings/runtime_array.cpp:
              * bindings/runtime_method.cpp:
              * bindings/runtime_object.cpp:
              * bindings/runtime_root.cpp:
              * bindings/testbindings.cpp:
              * bindings/testbindings.mm:
              * kjs/array_object.cpp:
              (ArrayInstanceImp::ArrayInstanceImp):
              (ArrayInstanceImp::~ArrayInstanceImp):
              (ArrayInstanceImp::resizeStorage):
              * kjs/bool_object.cpp:
              * kjs/collector.cpp:
              (KJS::Collector::registerThread):
              * kjs/config.h:
              * kjs/debugger.cpp:
              * kjs/error_object.cpp:
              * kjs/function.cpp:
              * kjs/function_object.cpp:
              * kjs/identifier.cpp:
              (KJS::Identifier::rehash):
              * kjs/internal.cpp:
              (KJS::Parser::saveNewNode):
              (KJS::clearNewNodes):
              * kjs/interpreter.cpp:
              * kjs/lexer.cpp:
              (Lexer::doneParsing):
              (Lexer::makeIdentifier):
              (Lexer::makeUString):
              * kjs/list.cpp:
              * kjs/math_object.cpp:
              * kjs/nodes.cpp:
              * kjs/nodes.h:
              * kjs/nodes2string.cpp:
              * kjs/number_object.cpp:
              (integer_part_noexp):
              (char_sequence):
              * kjs/object.cpp:
              * kjs/object_object.cpp:
              * kjs/property_map.cpp:
              * kjs/property_slot.cpp:
              * kjs/protected_values.cpp:
              (KJS::ProtectedValues::rehash):
              * kjs/reference.cpp:
              * kjs/reference_list.cpp:
              * kjs/regexp.cpp:
              * kjs/regexp_object.cpp:
              * kjs/scope_chain.cpp:
              * kjs/scope_chain.h:
              * kjs/string_object.cpp:
              * kjs/testkjs.cpp:
              * kjs/ustring.h:
              * kjs/value.cpp:
              * kxmlcore/Assertions.mm:
              * kxmlcore/FastMalloc.cpp:
              (KXMLCore::InitSizeClasses):
              (KXMLCore::DLL_IsEmpty):
              (KXMLCore::DLL_Prepend):
              (KXMLCore::TCMalloc_Central_FreeList::Insert):
              (KXMLCore::TCMalloc_Central_FreeList::Remove):
              (KXMLCore::TCMalloc_Central_FreeList::Populate):
              (KXMLCore::TCMalloc_ThreadCache::Allocate):
              (KXMLCore::TCMalloc_ThreadCache::FetchFromCentralCache):
              (KXMLCore::fastMallocRegisterThread):
              (KXMLCore::TCMalloc_ThreadCache::GetCache):
              (KXMLCore::TCMalloc_ThreadCache::GetCacheIfPresent):
              (KXMLCore::TCMalloc_ThreadCache::CreateCacheIfNecessary):
              (KXMLCore::do_malloc):
              (KXMLCore::do_free):
              (KXMLCore::realloc):
              * kxmlcore/FastMalloc.h:
              (operator new):
              (operator delete):
              (operator new[]):
              (operator delete[]):
              * kxmlcore/HashTable.cpp:
              * kxmlcore/TCSpinLock.h:
              (TCMalloc_SpinLock::Lock):
              (TCMalloc_SpinLock::Unlock):
              (TCMalloc_SlowLock):
              * kxmlcore/TCSystemAlloc.cpp:
      
      WebCore:
      
              Reviewed by Darin.
      
      	<rdar://problem/4283967> REGRESSION: 3% regression on PLT from new FastMalloc
      	http://bugzilla.opendarwin.org/show_bug.cgi?id=5243
      
      	- use fastMalloc for everything - it now gets applied to all new/delete allocations
              via a private inline operator new that is now included into every file via config.h
      
              * WebCore.xcodeproj/project.pbxproj:
              * WebCorePrefix.h:
              * khtml/css/css_base.cpp:
              * khtml/css/css_base.h:
              * khtml/css/css_computedstyle.cpp:
              * khtml/css/css_ruleimpl.cpp:
              * khtml/css/css_stylesheetimpl.cpp:
              * khtml/css/css_valueimpl.cpp:
              * khtml/css/css_valueimpl.h:
              * khtml/css/csshelper.cpp:
              * khtml/css/cssparser.cpp:
              (ValueList::ValueList):
              (ValueList::~ValueList):
              (ValueList::addValue):
              (CSSParser::CSSParser):
              (CSSParser::~CSSParser):
              (CSSParser::setupParser):
              (CSSParser::addProperty):
              * khtml/css/cssstyleselector.cpp:
              * khtml/css/cssstyleselector.h:
              * khtml/dom/dom2_events.cpp:
              * khtml/dom/dom2_traversal.cpp:
              * khtml/dom/dom_misc.cpp:
              * khtml/dom/dom_string.cpp:
              * khtml/ecma/domparser.cpp:
              * khtml/ecma/kjs_binding.cpp:
              * khtml/ecma/kjs_css.cpp:
              * khtml/ecma/kjs_dom.cpp:
              * khtml/ecma/kjs_events.cpp:
              * khtml/ecma/kjs_html.cpp:
              (KJS::KJS::Context2DFunction::callAsFunction):
              (KJS::Gradient::~Gradient):
              (KJS::Gradient::addColorStop):
              (KJS::Gradient::colorStops):
              * khtml/ecma/kjs_navigator.cpp:
              * khtml/ecma/kjs_proxy.cpp:
              * khtml/ecma/kjs_range.cpp:
              * khtml/ecma/kjs_traversal.cpp:
              * khtml/ecma/kjs_views.cpp:
              * khtml/ecma/kjs_window.cpp:
              * khtml/ecma/xmlhttprequest.cpp:
              * khtml/ecma/xmlserializer.cpp:
              * khtml/editing/SelectionController.cpp:
              * khtml/editing/append_node_command.cpp:
              * khtml/editing/apply_style_command.cpp:
              * khtml/editing/break_blockquote_command.cpp:
              * khtml/editing/composite_edit_command.cpp:
              * khtml/editing/delete_from_text_node_command.cpp:
              * khtml/editing/delete_selection_command.cpp:
              * khtml/editing/edit_command.cpp:
              * khtml/editing/html_interchange.cpp:
              * khtml/editing/htmlediting.cpp:
              * khtml/editing/insert_into_text_node_command.cpp:
              * khtml/editing/insert_line_break_command.cpp:
              * khtml/editing/insert_node_before_command.cpp:
              * khtml/editing/insert_paragraph_separator_command.cpp:
              * khtml/editing/insert_text_command.cpp:
              * khtml/editing/join_text_nodes_command.cpp:
              * khtml/editing/jsediting.cpp:
              * khtml/editing/markup.cpp:
              * khtml/editing/merge_identical_elements_command.cpp:
              * khtml/editing/move_selection_command.cpp:
              * khtml/editing/rebalance_whitespace_command.cpp:
              * khtml/editing/remove_css_property_command.cpp:
              * khtml/editing/remove_node_attribute_command.cpp:
              * khtml/editing/remove_node_command.cpp:
              * khtml/editing/remove_node_preserving_children_command.cpp:
              * khtml/editing/replace_selection_command.cpp:
              * khtml/editing/set_node_attribute_command.cpp:
              * khtml/editing/split_element_command.cpp:
              * khtml/editing/split_text_node_command.cpp:
              * khtml/editing/split_text_node_containing_element.cpp:
              * khtml/editing/typing_command.cpp:
              * khtml/editing/visible_position.cpp:
              * khtml/editing/visible_range.cpp:
              * khtml/editing/visible_text.cpp:
              (khtml::CircularSearchBuffer::~CircularSearchBuffer):
              (khtml::CircularSearchBuffer::CircularSearchBuffer):
              * khtml/editing/visible_units.cpp:
              * khtml/editing/wrap_contents_in_dummy_span_command.cpp:
              * khtml/html/html_baseimpl.cpp:
              * khtml/html/html_blockimpl.cpp:
              * khtml/html/html_canvasimpl.cpp:
              * khtml/html/html_documentimpl.cpp:
              * khtml/html/html_elementimpl.cpp:
              * khtml/html/html_formimpl.cpp:
              * khtml/html/html_headimpl.cpp:
              * khtml/html/html_imageimpl.cpp:
              * khtml/html/html_inlineimpl.cpp:
              * khtml/html/html_listimpl.cpp:
              * khtml/html/html_miscimpl.cpp:
              * khtml/html/html_objectimpl.cpp:
              * khtml/html/html_tableimpl.cpp:
              * khtml/html/htmlfactory.cpp:
              * khtml/html/htmlnames.cpp:
              * khtml/html/htmlparser.cpp:
              * khtml/html/htmltokenizer.cpp:
              (khtml::HTMLTokenizer::enlargeBuffer):
              (khtml::HTMLTokenizer::enlargeScriptBuffer):
              * khtml/khtml_events.cpp:
              * khtml/khtml_part.cpp:
              * khtml/khtmlview.cpp:
              * khtml/misc/arena.cpp:
              * khtml/misc/arena.h:
              * khtml/misc/decoder.cpp:
              * khtml/misc/formdata.cpp:
              * khtml/misc/helper.cpp:
              * khtml/misc/loader.cpp:
              * khtml/misc/stringit.cpp:
              * khtml/rendering/bidi.cpp:
              * khtml/rendering/break_lines.cpp:
              * khtml/rendering/font.cpp:
              * khtml/rendering/render_arena.cpp:
              * khtml/rendering/render_block.cpp:
              * khtml/rendering/render_box.cpp:
              * khtml/rendering/render_br.cpp:
              * khtml/rendering/render_canvas.cpp:
              * khtml/rendering/render_canvasimage.cpp:
              (RenderCanvasImage::~RenderCanvasImage):
              (RenderCanvasImage::createDrawingContext):
              * khtml/rendering/render_container.cpp:
              * khtml/rendering/render_flexbox.cpp:
              * khtml/rendering/render_flow.cpp:
              * khtml/rendering/render_form.cpp:
              * khtml/rendering/render_frames.cpp:
              * khtml/rendering/render_image.cpp:
              * khtml/rendering/render_inline.cpp:
              * khtml/rendering/render_layer.cpp:
              * khtml/rendering/render_line.cpp:
              * khtml/rendering/render_list.cpp:
              * khtml/rendering/render_object.cpp:
              * khtml/rendering/render_replaced.cpp:
              * khtml/rendering/render_style.cpp:
              * khtml/rendering/render_style.h:
              * khtml/rendering/render_table.cpp:
              * khtml/rendering/render_text.cpp:
              * khtml/rendering/render_theme.cpp:
              * khtml/rendering/render_theme_mac.mm:
              * khtml/rendering/table_layout.cpp:
              * khtml/xbl/xbl_binding.cpp:
              * khtml/xbl/xbl_binding_manager.cpp:
              * khtml/xbl/xbl_docimpl.cpp:
              * khtml/xbl/xbl_protobinding.cpp:
              * khtml/xbl/xbl_protohandler.cpp:
              * khtml/xbl/xbl_protoimplementation.cpp:
              * khtml/xbl/xbl_tokenizer.cpp:
              * khtml/xml/EventNames.cpp:
              * khtml/xml/dom2_eventsimpl.cpp:
              * khtml/xml/dom2_eventsimpl.h:
              * khtml/xml/dom2_rangeimpl.cpp:
              * khtml/xml/dom2_rangeimpl.h:
              * khtml/xml/dom2_traversalimpl.cpp:
              * khtml/xml/dom2_traversalimpl.h:
              * khtml/xml/dom2_viewsimpl.cpp:
              * khtml/xml/dom2_viewsimpl.h:
              * khtml/xml/dom_atomicstring.cpp:
              * khtml/xml/dom_docimpl.cpp:
              * khtml/xml/dom_docimpl.h:
              * khtml/xml/dom_elementimpl.cpp:
              * khtml/xml/dom_elementimpl.h:
              * khtml/xml/dom_nodeimpl.cpp:
              * khtml/xml/dom_nodeimpl.h:
              * khtml/xml/dom_position.cpp:
              * khtml/xml/dom_qname.cpp:
              * khtml/xml/dom_stringimpl.cpp:
              * khtml/xml/dom_stringimpl.h:
              * khtml/xml/dom_textimpl.cpp:
              * khtml/xml/dom_xmlimpl.cpp:
              * khtml/xml/xml_tokenizer.cpp:
              * khtml/xsl/xsl_stylesheetimpl.cpp:
              * khtml/xsl/xslt_processorimpl.cpp:
              * kwq/DOM-CSS.mm:
              * kwq/DOM.mm:
              * kwq/DOMEvents.mm:
              * kwq/DOMHTML.mm:
              * kwq/DOMInternal.mm:
              (DOMString::DOMString):
              * kwq/DOMUtility.mm:
              * kwq/DOMViews.mm:
              * kwq/KWQAccObject.mm:
              * kwq/KWQAccObjectCache.mm:
              * kwq/KWQApplication.mm:
              * kwq/KWQArrayImpl.h:
              * kwq/KWQArrayImpl.mm:
              * kwq/KWQBuffer.mm:
              * kwq/KWQButton.mm:
              * kwq/KWQCString.mm:
              * kwq/KWQCharsets.mm:
              * kwq/KWQClipboard.mm:
              * kwq/KWQCollection.mm:
              * kwq/KWQColor.mm:
              * kwq/KWQComboBox.mm:
              * kwq/KWQCursor.mm:
              * kwq/KWQDateTime.mm:
              * kwq/KWQDictImpl.mm:
              * kwq/KWQEditCommand.mm:
              * kwq/KWQEvent.mm:
              * kwq/KWQExceptions.mm:
              * kwq/KWQFile.mm:
              * kwq/KWQFileButton.mm:
              * kwq/KWQFont.mm:
              * kwq/KWQFontFamily.h:
              * kwq/KWQFontFamily.mm:
              * kwq/KWQFontMetrics.mm:
              * kwq/KWQFormData.mm:
              * kwq/KWQFrame.mm:
              * kwq/KWQGlobal.mm:
              * kwq/KWQGuardedPtr.mm:
              * kwq/KWQKCharsets.mm:
              * kwq/KWQKConfigBase.mm:
              * kwq/KWQKCookieJar.mm:
              * kwq/KWQKCursor.mm:
              * kwq/KWQKGlobal.mm:
              * kwq/KWQKGlobalSettings.mm:
              * kwq/KWQKHTMLFactory.mm:
              * kwq/KWQKHTMLPart.cpp:
              * kwq/KWQKHTMLPart.mm:
              * kwq/KWQKHTMLPartBrowserExtension.mm:
              * kwq/KWQKHTMLView.mm:
              * kwq/KWQKHistoryProvider.mm:
              * kwq/KWQKJavaAppletWidget.mm:
              * kwq/KWQKJob.mm:
              * kwq/KWQKJobClasses.mm:
              * kwq/KWQKLocale.mm:
              * kwq/KWQKPartsBrowserInterface.mm:
              * kwq/KWQKPartsEvent.mm:
              * kwq/KWQKPartsPart.mm:
              * kwq/KWQKSSLKeyGen.mm:
              * kwq/KWQKStandardDirs.mm:
              * kwq/KWQKStringHandler.mm:
              * kwq/KWQKURL.mm:
              (KURL::KURL):
              (KURL::decode_string):
              (KURL::parse):
              (KURL::encode_string):
              (encodeRelativeString):
              * kwq/KWQKWin.mm:
              * kwq/KWQKWinModule.mm:
              * kwq/KWQLabel.mm:
              * kwq/KWQLineEdit.mm:
              * kwq/KWQListBox.mm:
              * kwq/KWQListImpl.mm:
              * kwq/KWQLoader.mm:
              (KWQIsResponseURLEqualToURL):
              * kwq/KWQMapImpl.h:
              * kwq/KWQMapImpl.mm:
              * kwq/KWQMovie.mm:
              * kwq/KWQObject.mm:
              * kwq/KWQPageState.mm:
              * kwq/KWQPaintDeviceMetrics.mm:
              * kwq/KWQPainter.mm:
              * kwq/KWQPalette.mm:
              * kwq/KWQPen.mm:
              * kwq/KWQPixmap.mm:
              * kwq/KWQPoint.mm:
              * kwq/KWQPointArray.mm:
              * kwq/KWQPtrDictImpl.mm:
              * kwq/KWQPushButton.mm:
              * kwq/KWQRect.mm:
              * kwq/KWQRegExp.mm:
              * kwq/KWQRegion.mm:
              * kwq/KWQRenderTreeDebug.cpp:
              * kwq/KWQResourceLoader.mm:
              * kwq/KWQScrollBar.mm:
              * kwq/KWQScrollView.mm:
              * kwq/KWQSignal.mm:
              * kwq/KWQSignalStubs.mm:
              * kwq/KWQSize.mm:
              * kwq/KWQSlider.mm:
              * kwq/KWQSlot.mm:
              * kwq/KWQString.h:
              * kwq/KWQString.mm:
              (ALLOC_CHAR):
              (REALLOC_CHAR):
              (DELETE_CHAR):
              (ALLOC_QCHAR):
              (REALLOC_QCHAR):
              (DELETE_QCHAR):
              (_printQStringAllocationStatistics):
              (allocateHandle):
              (KWQStringData::operator new):
              (KWQStringData::operator delete):
              (freeHandle):
              * kwq/KWQStringList.mm:
              * kwq/KWQStyle.mm:
              * kwq/KWQTextArea.mm:
              * kwq/KWQTextCodec.mm:
              * kwq/KWQTextEdit.mm:
              * kwq/KWQTextField.mm:
              * kwq/KWQTextStream.mm:
              * kwq/KWQTextUtilities.mm:
              * kwq/KWQTimer.mm:
              * kwq/KWQValueListImpl.h:
              * kwq/KWQValueListImpl.mm:
              * kwq/KWQVariant.mm:
              * kwq/KWQVectorImpl.mm:
              (KWQVectorImpl::KWQVectorImpl):
              (KWQVectorImpl::~KWQVectorImpl):
              (KWQVectorImpl::clear):
              (KWQVectorImpl::resize):
              (KWQVectorImpl::assign):
              * kwq/KWQWMatrix.mm:
              * kwq/KWQWidget.mm:
              * kwq/KWQWindowWidget.mm:
              * kwq/WebCoreBridge.mm:
              * kwq/WebCoreCache.mm:
              * kwq/WebCoreEncodings.mm:
              * kwq/WebCoreJavaScript.mm:
              * kwq/WebCoreScriptDebugger.mm:
              * kwq/WebCoreSettings.mm:
              * kwq/WebCoreTextRendererFactory.mm:
              * kwq/can-convert.mm:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@10701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b64c50a2
  30. 23 Sep, 2004 1 commit
    • darin's avatar
      Reviewed by Ken. · e4b01dd1
      darin authored
              - added new VisibleRange class; not used yet
      
              * WebCore.pbproj/project.pbxproj: Added visible_range.h and visible_range.cpp.
              * khtml/editing/visible_range.cpp: Added.
              * khtml/editing/visible_range.h: Added.
      
              - tweaks
      
              * kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
              Use switch statement instead of if statement so we get a warning if we ever add a new
              granularity.
      
              * khtml/editing/selection.h: khtml, not DOM, namespace
              * khtml/editing/visible_position.h: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@7654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e4b01dd1
  31. 21 Jan, 2003 1 commit
  32. 31 May, 2002 1 commit
    • darin's avatar
      Remove some unused stuff; total of 1000s of lines. · 23918b0e
      darin authored
      	* Makefile.am: Removed some strange uses of "./" and
      	improved stamp-related rules.
      
      	* WebCore-tests.exp: Removed QDir functions.
      
      	* khtml/Makefile.am: Removed java subdirectory.
      	* khtml/java/*: Removed.
      	* khtml/rendering/render_applet.cpp: Rearrange APPLE_CHANGES so
      	that we use our own KJavaAppletWidget rather than a QWidget.
      	* kwq/khtml/java/kjavaappletcontext.h: Added.
      	* kwq/khtml/java/kjavaappletwidget.h: Added.
      	* kwq/KWQKJavaAppletWidget.mm: Added. Replaces WCJavaAppletWidget.mm.
      	* kwq/KWQsignals.mm: Removed java-related signals.
      
      	* khtml/css/Makefile.am:
      	* khtml/misc/Makefile.am:
      	Improve stamp-related rules.
      
      	* khtml/misc/loader.cpp: Move around and add ifdefs so we don't
      	need as much KWQ code. Maybe revisit this later -- related to the
      	KDE implementation of animated and progressive loading images,
      	which we probably don't need, but it may integrate slightly better than
      	doing our hacks inside QPixmap.
      
      	* kwq/KWQApplication.mm:
      	* kwq/KWQFontInfo.mm:
      	* kwq/KWQInputDialog.mm:
      	* kwq/KWQKFileDialog.mm:
      	* kwq/KWQKHTMLPartBrowserExtension.mm:
      	* kwq/KWQKWin.mm:
      	* kwq/KWQKWinModule.mm:
      	* kwq/KWQKstddirs.mm:
      	* kwq/KWQPixmap.mm:
      	Simplified, removed unused code, minor tweaks.
      
      	* kwq/Makefile.am: Removed all the old files, added some new ones.
      	* kwq/KWQBitmap.mm: Removed.
      	* kwq/KWQBrush.mm: Removed.
      	* kwq/KWQDCOPClient.mm: Removed.
      	* kwq/KWQDataStream.h: Removed.
      	* kwq/KWQDir.mm: Removed.
      	* kwq/KWQFontDatabase.mm: Removed.
      	* kwq/KWQImage.mm: Removed.
      	* kwq/KWQKInstance.mm: Removed.
      	* kwq/KWQPaintDevice.mm: Removed.
      	* kwq/KWQPart.mm: Removed.
      	* kwq/KWQasyncimageio.mm: Removed.
      	* kwq/KWQasyncio.mm: Removed.
      	* kwq/KWQbrowserextension.mm: Removed.
      	* kwq/WCJavaAppletWidget.h: Removed.
      	* kwq/WCJavaAppletWidget.mm: Removed.
      	* kwq/qt/qdatastream.h: Removed.
      	* kwq/qt/qdir.h: Removed.
      	* kwq/qt/qlayout.h: Removed.
      
      	* kwq/KWQCursor.mm:
      	(QCursor::handle): Return the cursor object as an integer rather than
      	just returning 0; makes the code that uses handle() more likely to work
      	although it introduces a 64-bit cleanliness problem.
      
      	* kwq/KWQEvent.mm: Initialize event type in QEvent subclasses.
      
      	* kwq/WebCoreImageRenderer.h: Added NSObject and NSCopying protocols to
      	the WebCoreImageRenderer protocol.
      
      	* kwq/kwqdebug.h: Use displayableString in DEBUG_OBJECT for better logging.
      
      	* kwq/dcop/dcopclient.h:
      	* kwq/kdecore/kstddirs.h:
      	* kwq/kdecore/kwin.h:
      	* kwq/kdecore/kwinmodule.h:
      	* kwq/kfile/kfiledialog.h:
      	* kwq/kparts/browserextension.h:
      	* kwq/kparts/event.h:
      	* kwq/qt/qapplication.h:
      	* kwq/qt/qasyncimageio.h:
      	* kwq/qt/qasyncio.h:
      	* kwq/qt/qbitmap.h:
      	* kwq/qt/qbrush.h:
      	* kwq/qt/qbutton.h:
      	* kwq/qt/qcheckbox.h:
      	* kwq/qt/qcollection.h:
      	* kwq/qt/qcolor.h:
      	* kwq/qt/qcombobox.h:
      	* kwq/qt/qcursor.h:
      	* kwq/qt/qdrawutil.h:
      	* kwq/qt/qevent.h:
      	* kwq/qt/qfont.h:
      	* kwq/qt/qfontdatabase.h:
      	* kwq/qt/qfontinfo.h:
      	* kwq/qt/qimage.h:
      	* kwq/qt/qinputdialog.h:
      	* kwq/qt/qintcache.h:
      	* kwq/qt/qintdict.h:
      	* kwq/qt/qpaintdevice.h:
      	* kwq/qt/qpixmap.h:
      	* kwq/qt/qstring.h:
      	Removed lots of unused stuff, including old conditionals and the like.
      
      	* khtml/khtml_part.cpp:
      	(KHTMLPart::khtmlMouseMoveEvent): Add missing parenthesis.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@1245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23918b0e
  33. 05 Oct, 2001 1 commit
  34. 10 Sep, 2001 1 commit
  35. 06 Sep, 2001 2 commits
  36. 05 Sep, 2001 1 commit