1. 21 May, 2008 16 commits
    • mrowe@apple.com's avatar
      Merge squirrelfish branch into trunk. · 2f6dfdf7
      mrowe@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33979 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2f6dfdf7
    • andersca@apple.com's avatar
      2008-05-21 Anders Carlsson <andersca@apple.com> · f3330d64
      andersca@apple.com authored
              Reviewed by Mitz.
      
              Add IconFetcher implementation.
      
              * WebCore.base.exp:
              * WebCore.xcodeproj/project.pbxproj:
              * html/HTMLLinkElement.h:
              (WebCore::HTMLLinkElement::isIcon):
              * loader/icon/IconFetcher.cpp: Added.
              (WebCore::IconLinkEntry::):
              (WebCore::IconLinkEntry::IconLinkEntry):
              (WebCore::IconLinkEntry::type):
              (WebCore::IconLinkEntry::url):
              (WebCore::IconLinkEntry::buffer):
              (WebCore::parseIconLink):
              (WebCore::IconFetcher::create):
              (WebCore::IconFetcher::IconFetcher):
              (WebCore::IconFetcher::~IconFetcher):
              (WebCore::IconFetcher::cancel):
              (WebCore::IconFetcher::createIcon):
              (WebCore::IconFetcher::loadEntry):
              (WebCore::IconFetcher::loadFailed):
              (WebCore::IconFetcher::didReceiveResponse):
              (WebCore::IconFetcher::didReceiveData):
              (WebCore::IconFetcher::didFinishLoading):
              (WebCore::IconFetcher::didFail):
              * loader/icon/IconFetcher.h: Added.
              (WebCore::IconFetcherClient::~IconFetcherClient):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33978 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3330d64
    • mitz@apple.com's avatar
      Reviewed by Dave Hyatt. · 36ebc02c
      mitz@apple.com authored
              - fix https://bugs.webkit.org/show_bug.cgi?id=18352
                <rdar://problem/5854517> crash loading malicious font
      
              * platform/graphics/mac/SimpleFontDataMac.mm:
              (WebCore::SimpleFontData::platformInit): In the case of a custom font,
              there is no NSFont to base the fallback font on, so get a font based on
              fallback family name alone.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33977 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36ebc02c
    • timothy@apple.com's avatar
      Adds the files and line numbers to the Profile call tree. · f8aef678
      timothy@apple.com authored
      <rdar://problem/5952924> Inspector needs to show file and line number
      in the Profile call tree
      
      Reviewed by Geoff Garen.
      
      * page/JavaScriptProfileNode.cpp:
      (WebCore::getFunctionName): Fixes a JSStringRef leak.
      (WebCore::getURL): Call ProfileNode::url.
      (WebCore::getLineNumber): Call ProfileNode::lineNumber.
      (WebCore::ProfileNodeClass): Add the url and lineNumber properties.
      * page/inspector/ProfileView.js:
      (WebInspector.ProfileDataGridNode.prototype.createCell): Overload the
      DataGridNode.createCell and add the file and lineNumber to the
      cell if the column is the function column.
      * page/inspector/inspector.css: New styles for the file and line.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33976 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f8aef678
    • darin@apple.com's avatar
      2008-05-21 Darin Adler <darin@apple.com> · 6d34aaa3
      darin@apple.com authored
              * Scripts/make-js-test-wrappers: Added another exception.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33974 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d34aaa3
    • darin@apple.com's avatar
      2008-05-21 Darin Adler <darin@apple.com> · ccd5e9d4
      darin@apple.com authored
              - try to fix the Windows build
      
              * profiler/Profiler.cpp:
              (KJS::Profiler::stopProfiling): Use ptrdiff_t instead of the less-common but incredibly
              similar ssize_t type.
              * wtf/AVLTree.h:
              (KJS::AVLTree::search): Added a typename for a dependent name that's a type.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33973 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ccd5e9d4
    • darin@apple.com's avatar
      JavaScriptCore: · f2e8f29a
      darin@apple.com authored
      2008-05-21  Darin Adler  <darin@apple.com>
      
              Reviewed by Anders.
      
              - fix <rdar://problem/5952721> bug in JavaScript arguments object property lookup
      
              Test: fast/js/arguments-bad-index.html
      
              * kjs/function.cpp:
              (KJS::IndexToNameMap::IndexToNameMap): Use unsigned instead of int.
              (KJS::IndexToNameMap::isMapped): Use unsigned instead of int, and also use the
              strict version of the numeric conversion function, since we don't want to allow
              trailing junk.
              (KJS::IndexToNameMap::unMap): Ditto.
              (KJS::IndexToNameMap::operator[]): Ditto.
              * kjs/function.h: Changed IndexToNameMap::size type from int to unsigned.
      
      LayoutTests:
      
      2008-05-21  Darin Adler  <darin@apple.com>
      
              Reviewed by Anders.
      
              - test for <rdar://problem/5952721> bug in JavaScript arguments object property lookup
      
              * fast/js/arguments-bad-index-expected.txt: Added.
              * fast/js/arguments-bad-index.html: Added.
              * fast/js/resources/arguments-bad-index.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33972 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f2e8f29a
    • darin@apple.com's avatar
      2008-05-21 Darin Adler <darin@apple.com> · b165a22d
      darin@apple.com authored
              - fix build
      
              * WebView/WebViewPrivate.h: Remove declaration of closeWithFastTeardown. We can add it back later
              if we want, but if we do, we should probably make some refinements like checking _private->closed
              and applicationIsTerminating.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33971 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b165a22d
    • timothy@apple.com's avatar
      Restores logging of console calls to the STDOUT · cb88d9cd
      timothy@apple.com authored
      when Interpreter::shouldPrintExceptions() is true.
      
      <rdar://problem/5636442> REGRESSION: Console.log no longer logs to
      the system console or terminal
      
      <rdar://problem/5146079> JavaScript exception logging should print
      accurate file and line info when called from WebScriptObject
      
      Reviewed by Adam Roben.
      
      * bindings/js/JSCustomSQLStatementCallback.cpp:
      (WebCore::JSCustomSQLStatementCallback::handleEvent): Remove existing
      printf and check for Interpreter::shouldPrintExceptions() since there is
      a call to Console::addMessage.
      * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
      (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): Ditto.
      * bindings/js/JSCustomSQLTransactionCallback.cpp:
      (WebCore::JSCustomSQLTransactionCallback::handleEvent): Ditto.
      * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
      (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Ditto.
      * bindings/js/JSCustomVoidCallback.cpp:
      (WebCore::JSCustomVoidCallback::handleEvent): Ditto.
      * bindings/js/JSCustomXPathNSResolver.cpp:
      (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): Ditto.
      * bindings/js/JSDOMWindowBase.cpp:
      (WebCore::JSDOMWindowBase::printErrorMessage): Ditto.
      * bindings/js/ScheduledAction.cpp:
      (WebCore::ScheduledAction::execute): Ditto.
      * bindings/js/kjs_events.cpp:
      (WebCore::JSAbstractEventListener::handleEvent): Ditto.
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::shouldAllowNavigation): Ditto.
      * bindings/objc/WebScriptObject.mm:
      (WebCore::addExceptionToConsole): Added helper static function that
      calls Console::addMessage.
      (-[WebScriptObject callWebScriptMethod:withArguments:]): Call addExceptionToConsole.
      (-[WebScriptObject evaluateWebScript:]): Ditto.
      (-[WebScriptObject setValue:forKey:]): Ditto.
      (-[WebScriptObject valueForKey:]): Ditto.
      (-[WebScriptObject removeWebScriptKey:]): Ditto.
      (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
      (-[WebScriptObject setWebScriptValueAtIndex:value:]): Ditto.
      * page/Console.cpp:
      (WebCore::Console::addMessage): Print the level, message,
      URL and line number to STDOUT.
      (WebCore::printToStandardOut): Helper static function that
      takes a prefix string, ExecState, an argument List and URL.
      Prints the prefix and loops through the arguments calling
      toString on each and printing the string. Finally printing
      the URL and new line.
      (WebCore::Console::error): Call printToStandardOut.
      (WebCore::Console::info): Ditto.
      (WebCore::Console::log): Ditto.
      (WebCore::Console::assertCondition): Ditto.
      (WebCore::Console::warn): Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33970 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cb88d9cd
    • timothy@apple.com's avatar
      Changes to the ownership of Profiles and allows multiple Profiles at a time · 9dbdb9b5
      timothy@apple.com authored
      JavaScriptCore:
      
              Change the Profiler to allow multiple profiles to be running at
              the same time. This can happen when you have nested console.profile()
              calls. This required two changes. First, the Profiler needed to keep a
              Vector of current profiles, instead of one. Second, a Profile needs
              to keep track of the global ExecState it started in and the page group
              identifier it is tracking.
      
              The stopProfiling call now takes the same arguments as startProfiling.
              This makes sure the correct profile is stopped. Passing a null UString
              as the title will stop the last profile for the matching ExecState.
      
              <rdar://problem/5951559> Multiple pages profiling can interfere with each other
      
              Reviewed by Kevin McCullough.
      
              * JavaScriptCore.exp: Added new exports. Removed old symbols.
              * profiler/Profile.cpp:
              (KJS::Profile::Profile): New constructor arguments for the
              originatingGlobalExec and pageGroupIdentifier.
              (KJS::Profile::stopProfiling): Set the m_originatingGlobalExec to null.
              * profiler/Profile.h:
              (KJS::Profile::create): Additional arguments.
              (KJS::Profile::originatingGlobalExec): Return m_originatingGlobalExec.
              (KJS::Profile::pageGroupIdentifier): Return m_pageGroupIdentifier.
              * profiler/Profiler.cpp:
              (KJS::Profiler::findProfile): Added. Finds a Profile that matches
              the ExecState and title.
              (KJS::Profiler::startProfiling): Return early if there is already
              a Profile with the ExecState and title. If not, create a new profile
              and append it to m_currentProfiles.
              (KJS::Profiler::stopProfiling): Loops through m_currentProfiles
              and find the one matching the ExecState and title. If one is found
              call stopProfiling and return the Profile after removing it
              from m_currentProfiles.
              (KJS::dispatchFunctionToProfiles): Helper inline function to loop through
              m_currentProfiles and call a Profile function.
              (KJS::Profiler::willExecute): Call dispatchFunctionToProfiles.
              (KJS::Profiler::didExecute): Ditto.
              * profiler/Profiler.h:
      
      WebCore:
      
              Changes to work with the new Profiler API. The Profile is now
              stored by the InspectorController when Console.profileEnd is called.
              This solves three issues with the previous design. First, we don't
              keep profiles around unless the Inspector is enabled. Second, we
              only show Profiles initiated by the Page in it's Inspector, not every
              Profile for the whole process. Third, we now show Profiles in the
              Inspector when they are created.
      
              <rdar://problem/5951562> New profiles aren't added to the Inspector
              as they finish
      
              Reviewed by Kevin McCullough.
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::profileEnd): Added. Calls impl()->profileEnd()
              and passes the ExecState and arguments.
              * page/Console.cpp:
              (WebCore::Console::profile):
              (WebCore::Console::profileEnd): Accept the optional title argument
              and pass it to Profilier::stopProfiling along with the ExecState.
              Calls InspectorController::addProfile with the result Profile.
              * page/Console.h:
              * page/Console.idl: Made profileEnd Custom so we can get the ExecState.
              * page/InspectorController.cpp:
              (WebCore::profiles): Renamed from allProfiles. Uses the controller's
              profiles vector.
              (WebCore::InspectorController::addProfile): Appends to m_profiles.
              Calls addScriptProfile if the window is visible.
              (WebCore::InspectorController::windowScriptObjectAvailable): Renamed
              allProfiles to profiles.
              (WebCore::InspectorController::addScriptProfile): Calls addProfile on
              the JavaScript side.
              (WebCore::InspectorController::didCommitLoad): Clears m_profiles.
              * page/InspectorController.h:
              * page/inspector/ProfilesPanel.js: Populates the profiles sidebar the first
              time the panel is shown after a rest.
              * page/inspector/inspector.js: Added addProfile, calls ProfilesPanel's
              addProfile function.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33969 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9dbdb9b5
    • darin@apple.com's avatar
      2008-05-21 Darin Adler <darin@apple.com> · 73cede1f
      darin@apple.com authored
              Reviewed by Anders and Kevin Decker.
      
              - fix <rdar://problem/5951130> REGRESSION: crash on quit after reopening windows from previous session
      
              * WebView/WebView.mm:
              (-[WebViewPrivate dealloc]): Fix assertions to not complain when fast teardown is used.
              (-[WebView _closePluginDatabases]): Factored out some common code from both versions of close.
              (-[WebView _closeWithFastTeardown]): Added an underscore to this method's name, since it's internal.
              Streamlined the code a bit. Added a line of code to set _private->closed (this is the bug fix).
              (-[WebView _close]): Changed for new method name and to use _closePluginDatabases.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33968 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      73cede1f
    • ap@webkit.org's avatar
      Reviewed by Darin. · 8dfb5c65
      ap@webkit.org authored
              <rdar://problem/5908520> REGRESSION (3.1.1-r33033): Crash in WebKit when opening or
              refreshing page on people.com
      
              The problem was that STL algorithms do not work with non-conformant comparators, and the
              site used sort(function() { return 0.5 - Math.random(); } to randomly shuffle an array.
      
              https://bugs.webkit.org/show_bug.cgi?id=18687
              REGRESSION(r32220): ecma/Array/15.4.4.5-3.js test now fails in GMT(BST)
      
              Besides relying on sort stability, this test was just broken, and kept failing with the
              new stable sort.
      
              Tests: fast/js/sort-randomly.html
                     fast/js/sort-stability.html
                     fast/js/comparefn-sort-stability.html
      
              * kjs/avl_tree.h: Added an AVL tree implementation.
      
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * wtf/AVLTree.h: Added.
              Added an AVL tree implementation.
      
              * kjs/array_instance.cpp:
              (KJS::ArrayInstance::increaseVectorLength):
              (KJS::ArrayInstance::sort):
              (KJS::AVLTreeAbstractorForArrayCompare::get_less):
              (KJS::AVLTreeAbstractorForArrayCompare::set_less):
              (KJS::AVLTreeAbstractorForArrayCompare::get_greater):
              (KJS::AVLTreeAbstractorForArrayCompare::set_greater):
              (KJS::AVLTreeAbstractorForArrayCompare::get_balance_factor):
              (KJS::AVLTreeAbstractorForArrayCompare::set_balance_factor):
              (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
              (KJS::AVLTreeAbstractorForArrayCompare::compare_key_node):
              (KJS::AVLTreeAbstractorForArrayCompare::compare_node_node):
              (KJS::AVLTreeAbstractorForArrayCompare::null):
              (KJS::ArrayInstance::compactForSorting):
              
              * kjs/array_instance.h: increaseVectorLength() now returns a bool to indicate whether it was
              successful.
      
              * wtf/Vector.h:
              (WTF::Vector::Vector):
              (WTF::::operator=):
              (WTF::::fill):
              Make these methods fail instead instead of crash when allocation fails, matching resize() and
              reserveCapacity(), which already had this behavior. Callers need to check for null buffer
              after making any Vector call that can try to allocate.
      
              * tests/mozilla/ecma/Array/15.4.4.5-3.js: Fixed the test to use a consistent sort function,
              as suggested in comments to a Mozilla bug filed about it (I'll keep tracking the bug to see
              what the final resolution is).
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33967 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8dfb5c65
    • ap@webkit.org's avatar
      Reviewed by Darin. · 48a35d0d
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=19169
              <rdar://5952342> REGRESSION: nakarte.ru searches don't work
      
              Test: http/tests/xmlhttprequest/encode-request-url.html
      
              * platform/KURL.cpp: (WebCore::KURL::init): Don't allow UTF-8 encoded data to be implicitly
              converted to String, as it will be encoded again by parse().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33966 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      48a35d0d
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 9ff91796
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5950867> JSProfiler: Allow the profiler to "Focus" a
              profile node.
              - Implements focus by adding the idea of a profileNode being visible and
              adding the ability to reset all of the visible flags.
      
              * profiler/Profile.h: 
              (KJS::Profile::focus):
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::ProfileNode): Initialize the visible flag.
              (KJS::ProfileNode::setTreeVisible): Set the visibility of this node and
              all of its descendents.
              (KJS::ProfileNode::focus): Determine if this node should be visible when
              focusing, if the functionName matches this node's function name or if any
              of this node's children are visible.
              (KJS::ProfileNode::restoreAll): Restore all nodes' visible flag.
              (KJS::ProfileNode::debugPrintData):
              * profiler/ProfileNode.h:
              (KJS::ProfileNode::visible):
              (KJS::ProfileNode::setVisible):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33965 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9ff91796
    • hausmann@webkit.org's avatar
      2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com> · 9a22c9c5
      hausmann@webkit.org authored
              Reviewed by Simon.
      
              For the Qt port, fix building with Qt for Embedded Linux.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33964 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      9a22c9c5
    • hausmann@webkit.org's avatar
      2008-05-21 Ariya Hidayat <ariya.hidayat@trolltech.com> · 0cfb023a
      hausmann@webkit.org authored
              Reviewed by Simon.
      
              For the Qt port, allow building without NPAPI plugin support.
      
              * WebCore.pro:
              * plugins/PluginView.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0cfb023a
  2. 20 May, 2008 24 commits
    • kevino@webkit.org's avatar
      Reviewed by Darin Adler. · 4b136860
      kevino@webkit.org authored
              
      Rename wxWebFrame -> wxWebBrowserShell in preparation to introduce a WebFrame counterpart in wx port. (Frame typically means 'top level window' in wx terms.)
              
      https://bugs.webkit.org/show_bug.cgi?id=19041
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b136860
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 6d784dd8
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              Added all of my personal manual tests for the profiler.
      
              * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Added.
              * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Added.
              * manual-tests/inspector/profiler-test-apply.html: Added.
              * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Added.
              * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Added.
              * manual-tests/inspector/profiler-test-call.html: Added.
              * manual-tests/inspector/profiler-test-dead-time.html: Added.
              * manual-tests/inspector/profiler-test-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Added.
              * manual-tests/inspector/profiler-test-inline-event-handler.html: Added.
              * manual-tests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
              * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Added.
              * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Added.
              * manual-tests/inspector/profiler-test-multiple-frames.html: Added.
              * manual-tests/inspector/profiler-test-multiple-windows.html: Added.
              * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Added.
              * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Added.
              * manual-tests/inspector/profiler-test-no-execution-context.html: Added.
              * manual-tests/inspector/profiler-test-one-execution-context.html: Added.
              * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Added.
              * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
              * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Added.
              * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Added.
              * manual-tests/inspector/profiler-test-two-execution-contexts.html: Added.
              * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Added.
              * manual-tests/inspector/resources: Added.
              * manual-tests/inspector/resources/other-frame.html: Added.
              * manual-tests/inspector/resources/other-window.html: Added.
              * manual-tests/inspector/resources/profiler-test-JS-resources.js: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33955 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6d784dd8
    • timothy@apple.com's avatar
      Fixes a couple performance issues with the profiler. Also fixes · aeb5dd75
      timothy@apple.com authored
      a regression where some nodes wouldn't be added to the tree.
      
      Reviewed by Kevin McCullough.
      
      * profiler/ProfileNode.cpp:
      (KJS::ProfileNode::addChild): Compare callIdentifier instead
      of functionName.
      * profiler/ProfileNode.h:
      (CallIdentifier.operator==): Compare the CallIdentifiers in
      an order that fails sooner for non-matches.
      (CallIdentifier.callIdentifier): Return the CallIdentifier by
      reference to prevent making a new copy each time.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33952 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aeb5dd75
    • alp@webkit.org's avatar
      2008-05-20 Jan Michael Alonzo <jmalonzo@webkit.org> · 5ac91ee6
      alp@webkit.org authored
              Reviewed by Alp Toker.
      
              Fix for previous autotools change.
      
              * configure.ac:
      
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33951 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ac91ee6
    • aroben@apple.com's avatar
      Use KJS::List::getSlice instead of reimplementing it · af71b107
      aroben@apple.com authored
              Rubberstamped and suggested by Sam Weinig.
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::assertCondition):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      af71b107
    • adele@apple.com's avatar
      2008-05-20 Kevin Calhoun <kcalhoun@apple.com> · ff96f4c4
      adele@apple.com authored
              Reviewed by Darin.
      
              Fix <rdar://problem/5929010> Adopt new QTKit methods for <video> implementation
      
              If the class QTVideoRendererWebKitOnly is present use it to render video,
              otherwise fall back to existing use of QTMovieView/QTMovieContentView.
      
              * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
              * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
              (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
              (WebCore::MediaPlayerPrivate::createQTMovie):
              (WebCore::QTVideoRendererClass):
              (WebCore::MediaPlayerPrivate::detachQTMovieView):
              (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
              (WebCore::MediaPlayerPrivate::destroyQTVideoRenderer):
              (WebCore::MediaPlayerPrivate::setUpVideoRendering):
              (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
              (WebCore::MediaPlayerPrivate::load):
              (WebCore::MediaPlayerPrivate::cancelLoad):
              (WebCore::MediaPlayerPrivate::setVisible):
              (WebCore::MediaPlayerPrivate::paint):
              (-[WebCoreMovieObserver newImageAvailable:]):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33948 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ff96f4c4
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 77b5abfc
      kmccullough@apple.com authored
              Reviewed by Darin.
      
              <rdar://problem/5950796> JSProfiler: dump functions are in the code
              Removed dump and logging functions from the Release version of the code
              and renamed them to be obviously for debugging only.
      
              * JavaScriptCore.exp:
              * profiler/Profile.cpp:
              (KJS::Profile::debugPrintData):
              (KJS::Profile::debugPrintDataSampleStyle):
              * profiler/Profile.h:
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::debugPrintData):
              (KJS::ProfileNode::debugPrintDataSampleStyle):
              * profiler/ProfileNode.h:
              * profiler/Profiler.cpp:
              * profiler/Profiler.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33947 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      77b5abfc
    • aroben@apple.com's avatar
      Fix Bug 19134: Inspector should support console.assert · d1b1b1fe
      aroben@apple.com authored
              <https://bugs.webkit.org/show_bug.cgi?id=19134>
      
              Reviewed by Tim Hatcher.
      
              Test: manual-tests/inspector/console-assert.html
      
              * bindings/js/JSConsoleCustom.cpp:
              (WebCore::JSConsole::assertCondition): Added.
              * bindings/scripts/CodeGeneratorJS.pm: Added parsing of the
              ImplementationFunction extended attribute, which allows you to
              override the name of the C++ function used to implement this method.
              * manual-tests/inspector/console-assert.html: Added.
              * page/Console.cpp:
              (WebCore::Console::assertCondition): Added.
              * page/Console.h:
              * page/Console.idl: Added assert().
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33946 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d1b1b1fe
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 6f24f536
      kmccullough@apple.com authored
              Reviewed by Adam.
      
              <rdar://problem/5950538> JSProfiler: Keep track of non-JS execution time
              We now have an extra node that represents the excess non-JS time.
              - Also changed "SCRIPT" and "anonymous function" to be more consistent
              with the debugger.
      
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::stopProfiling): If this ProfileNode is the head node
              create a new child that has the excess execution time.
              (KJS::ProfileNode::calculatePercentages): Moved calculation of the
              percentages into a function since it's called from multiple places.
              * profiler/ProfileNode.h: Add the newly needed functions used above.
              (KJS::ProfileNode::setTotalTime):
              (KJS::ProfileNode::setSelfTime):
              (KJS::ProfileNode::setNumberOfCalls):
              * profiler/Profiler.cpp: renamed "SCRIPT" and "anonymous function" to be
              consistent with the debugger and use constants that can be localized
              more easily.
              (KJS::getCallIdentifiers):
              (KJS::getCallIdentifierFromFunctionImp):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      6f24f536
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 0be4b5e5
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              Removed only profiler-internal use of currentProfile since that concept
              is changing.
      
              * profiler/Profile.h: Now stopProfiling takes a time and bool as
              arguments.  The time is used to calculate %s from and the bool tells
              if this node is the head node and should be the one calculating the time.
              (KJS::Profile::stopProfiling):
              * profiler/ProfileNode.cpp: Ditto.
              (KJS::ProfileNode::stopProfiling):
              * profiler/ProfileNode.h: Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0be4b5e5
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · 2efe1b75
      kmccullough@apple.com authored
              Accidentally turned on the profiler.
      
              * kjs/config.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33942 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2efe1b75
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · c74bed15
      kmccullough@apple.com authored
              Reviewed by Tim.
      
              <rdar://problem/5770054> JavaScript profiler (10928)
              Split function name into 3 parts so that the Web Inspector can link it to
              the resource location from whence it came.
      
              * kjs/ustring.cpp: Implemented operator> for UStrings
              (KJS::operator>):
              * kjs/ustring.h:
              * profiler/Profile.cpp:
              (KJS::Profile::Profile): Initialize all 3 values.
              (KJS::Profile::willExecute): Use CallIdentifier struct.
              (KJS::Profile::didExecute): Ditto.
              * profiler/Profile.h: Ditto and remove unused function.
              * profiler/ProfileNode.cpp:
              (KJS::ProfileNode::ProfileNode): Use CallIdentifier struct.
              (KJS::ProfileNode::willExecute): Ditto and fix an issue where we
              restarted the m_startTime even though it was already started.
              (KJS::ProfileNode::didExecute): Ditto.
              (KJS::ProfileNode::findChild): Ditto.
              (KJS::functionNameDescendingComparator): Ditto and use new comparator.
              (KJS::functionNameAscendingComparator): Ditto.
              (KJS::ProfileNode::printDataInspectorStyle): Use CallIdentifier struct.
              (KJS::ProfileNode::printDataSampleStyle): Ditto.
              * profiler/ProfileNode.h:
              (KJS::CallIdentifier::CallIdentifier): Describe the CallIdentifier struct
              (KJS::CallIdentifier::operator== ):
              (KJS::ProfileNode::create): Use the CallIdentifier struct.
              (KJS::ProfileNode::callIdentifier):
              (KJS::ProfileNode::functionName): Now only return the function name, not
              the url and line number too.
              (KJS::ProfileNode::url):
              (KJS::ProfileNode::lineNumber):
              * profiler/Profiler.cpp: Use the CallIdentifier struct. 
              (KJS::Profiler::startProfiling):
              (KJS::Profiler::willExecute):
              (KJS::Profiler::didExecute):
              (KJS::getCallIdentifiers):
              (KJS::getCallIdentifierFromFunctionImp):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33941 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c74bed15
    • alice.liu@apple.com's avatar
      2008-05-20 Alice Liu <alice.liu@apple.com> · d8560b94
      alice.liu@apple.com authored
              Reviewed by Brady.
      
              fix <rdar://problem/5908580> 10A58: Dictionary Panel hangs in WebCore::Cache::pruneDeadResources()
      
              * loader/Cache.cpp:
              (WebCore::Cache::requestUserCSSStyleSheet):
              Add a call to resourceAccessed() to more closely mirror what is done in requestResource()
              (WebCore::Cache::insertInLRUList):
              Assert that any resource in the LRU list has been accessed.  This is early detection of a
              potential hang later when pruning resources, and also agrees with the early return in 
              removeFromLRUList().
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d8560b94
    • mitz@apple.com's avatar
      WebCore: · 78ceb1f5
      mitz@apple.com authored
              Reviewed by Darin Adler.
      
              - fix https://bugs.webkit.org/show_bug.cgi?id=17655
                <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
      
              Test: fast/dom/SelectorAPI/viewless-document.html
      
              * css/CSSStyleSelector.cpp:
              (WebCore::CSSStyleSelector::CSSStyleSelector): Updated to initialize the
              selector checker.
              (WebCore::CSSStyleSelector::init): Removed initialization of
              m_collectRulesOnly, which is now part of the selector checker.
              (WebCore::CSSStyleSelector::matchRules): Updated for renames and data
              moved into the selector checker.
              (WebCore::CSSStyleSelector::matchRulesForList): Ditto.
              (WebCore::CSSStyleSelector::initForStyleResolve): Added a PseudoId
              argument, which is used to initialize a data member of the selector
              checker. Updated for renames. Removed initialization of m_isXMLDoc
              because this bit is now initialized only once in the selector checker's
              constructor.
              (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added.
              (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Changed
              into a SelectorChecker method.
              (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added. Used
              by querySelector() and querySelectorAll().
              (WebCore::CSSStyleSelector::canShareStyleWithElement): Updated for data
              moved into the selector checker.
              (WebCore::CSSStyleSelector::matchUARules): Ditto.
              (WebCore::CSSStyleSelector::styleForElement):
              (WebCore::CSSStyleSelector::pseudoStyleForElement): Ditto. Also removed
              code that set the parentStyle variable after the last place it is
              accessed, and changed to ensure that m_style is set early in this
              function.
              (WebCore::CSSStyleSelector::adjustRenderStyle): Updated for data moved
              into the selector checker.
              (WebCore::CSSStyleSelector::styleRulesForElement): Ditto.
              (WebCore::CSSStyleSelector::checkSelector): Ditto. Also changed to pass
              the element's style and the parent style to the selector checker, as
              well as the dynamic pseudo variable and the selector attributes vector.
              (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
              arguments for the style of the base element and its parent. When the
              elementStyle argument is 0, the style is fetched from the element
              and its parent as needed. Also changed to take a reference to the
              dynamic pseudo ID and a pointer to the vector of attributes affecting
              the match.
              (WebCore::CSSStyleSelector::applyProperty): Updated for data moved
              into the selector checker.
              (WebCore::CSSStyleSelector::checkForGenericFamilyChange): Ditto.
              (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): Ditto.
              (WebCore::CSSStyleSelector::fontSizeForKeyword): Ditto.
              (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Ditto.
              (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged):
              Changed into a SelectorChecker method.
              (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged):
              Ditto.
      
              * css/CSSStyleSelector.h:
              Added a SelectorChecker class and moved data and methods used in
              checking selectors into it.
              (WebCore::CSSStyleSelector::allVisitedStateChanged): Changed to call the
              SelectorChecker method.
              (WebCore::CSSStyleSelector::visitedStateChanged): Ditto.
              * dom/Node.cpp:
              (WebCore::Node::querySelector): Changed to use a SelectorChecker instead
              of the document's style selector.
              * dom/SelectorNodeList.cpp:
              (WebCore::SelectorNodeList::SelectorNodeList): Ditto.
      
      LayoutTests:
      
              Reviewed by Darin Adler.
      
              - test for https://bugs.webkit.org/show_bug.cgi?id=17655
                <rdar://problem/5778077> REGRESSION (3.1.1-TOT): Reproducible crash calling querySelector on viewless Document
      
              * fast/dom/SelectorAPI/resources/viewless-document.js: Added.
              * fast/dom/SelectorAPI/viewless-document-expected.txt: Added.
              * fast/dom/SelectorAPI/viewless-document.html: Added.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33939 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      78ceb1f5
    • timothy@apple.com's avatar
      Implements the Profiles panel and Profile view. · 23cf67bb
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * English.lproj/localizedStrings.js: Added new strings.
      * page/inspector/Images/profileIcon.png: Added.
      * page/inspector/Images/profilesIcon.png: Changed. New icon design
      that fits in with the other toolbar icons.
      * page/inspector/ProfileView.js:
      (WebInspector.ProfileView): Remove custom table elements
      and create a DataGrid. Sorts the profile by descending total time,
      since the profiles aren't sorted by default.
      (WebInspector.ProfileView.prototype.refresh): Clears the DataGrid
      and recreates all the nodes. The selection is preserved.
      (WebInspector.ProfileView.prototype.refreshShowAsPercents): Traverse
      all the children and change showTotalTimeAsPercent and showSelfTimeAsPercent
      to match the ProfileView values. Then call refresh on the child.
      (WebInspector.ProfileView.prototype._sortData): Determine the sort
      function to call on the head profile node. Call it and then call
      refresh to rebuild the DataGrid.
      (WebInspector.ProfileView.prototype._mouseDownInDataGrid): Return early
      if the event is not a double-click. When it is a double-click, determine
      the column that was targeted and if it was total or self toggle the
      show as percent property. Call refreshShowAsPercents.
      (WebInspector.ProfileDataGridNode):
      (WebInspector.ProfileDataGridNode.prototype.get data):
      (WebInspector.ProfileDataGridNode.prototype.expand):
      (WebInspector.ProfileDataGridNode.prototype.collapse):
      (WebInspector.ProfileDataGridNode.prototype._populate):
      * page/inspector/ProfilesPanel.js:
      (WebInspector.ProfilesPanel):
      (WebInspector.ProfilesPanel.prototype.show): Populate the sidebar
      with all profiles. This is a workaround until the Inspector
      is told about new profiles.
      (WebInspector.ProfilesPanel.prototype.reset): Clear the sidebar and
      profile views.
      (WebInspector.ProfilesPanel.prototype.handleKeyEvent): Pass the key
      event to the sidebar.
      (WebInspector.ProfilesPanel.prototype.addProfile): Create a
      ProfileSidebarTreeElement object and add it to the sidebar.
      (WebInspector.ProfilesPanel.prototype.showProfile): Create a ProfileView
      and show it.
      (WebInspector.ProfilesPanel.prototype.closeVisibleView): Hide the
      visible view.
      (WebInspector.ProfilesPanel.prototype._startSidebarDragging): Call
      WebInspector.elementDragStart.
      (WebInspector.ProfilesPanel.prototype._sidebarDragging): Call _updateSidebarWidth.
      (WebInspector.ProfilesPanel.prototype._endSidebarDragging):
      Call WebInspector.elementDragEnd.
      (WebInspector.ProfilesPanel.prototype._updateSidebarWidth): Update the
      sidebar width based on the passed in value.
      (WebInspector.ProfileSidebarTreeElement): Subclass WebInspector.SidebarTreeElement.
      (WebInspector.ProfileSidebarTreeElement.prototype.onselect): Call ProfilesPanel.showProfile.
      (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle): Return profile.title.
      (WebInspector.ProfileSidebarTreeElement.prototype.set mainTitle): Do nothing.
      (WebInspector.ProfileSidebarTreeElement.prototype.get subtitle): Ditto.
      (WebInspector.ProfileSidebarTreeElement.prototype.set subtitle): Ditto.
      * page/inspector/inspector.css: New styles for the profile sidebar
      item and profile data grid columns.
      * page/inspector/inspector.js:
      * page/inspector/utilities.js:
      (Number.secondsToString): Added a higherResolution argument
      that returns fractional milliseconds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      23cf67bb
    • cfleizach@apple.com's avatar
      <rdar://problem/5060458> Elements without AXActions should not return kAXErrorFailure · 7783493e
      cfleizach@apple.com authored
      <rdar://problem/3438014> Might need accessibility solution for context menus in web pages
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7783493e
    • timothy@apple.com's avatar
      Expose the ProfileNode functionName sorting functions on · cf48a173
      timothy@apple.com authored
      JavaScriptProfileNode.
      
      Reviewed by Kevin McCullough.
      
      * page/JavaScriptProfileNode.cpp:
      (WebCore::sortFunctionNameDescending): Call ProfileNode.
      (WebCore::sortFunctionNameAscending): Ditto.
      (WebCore::ProfileNodeClass): Add static functions.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf48a173
    • timothy@apple.com's avatar
      Rename sortFileName{Ascending,Descending} to · 21176464
      timothy@apple.com authored
      sortFunctionName{Ascending,Descending}.
      
      Reviewed by Kevin McCullough.
      
      * JavaScriptCore.exp:
      * kjs/config.h:
      * profiler/Profile.h:
      * profiler/ProfileNode.cpp:
      (KJS::functionNameDescendingComparator):
      (KJS::ProfileNode::sortFunctionNameDescending):
      (KJS::functionNameAscendingComparator):
      (KJS::ProfileNode::sortFunctionNameAscending):
      * profiler/ProfileNode.h:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33935 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      21176464
    • darin@apple.com's avatar
      2008-05-20 Darin Adler <darin@apple.com> · f3933de7
      darin@apple.com authored
              Reviewed by Mitz.
      
              - a first small step of CSS DOM refactoring -- the eventual goal is to
                reduce StyleBase and possibly eliminate it, since it has multiple
                purposes and unneccessarily ties many classes together
      
              * css/CSSCursorImageValue.cpp:
              (WebCore::isSVGCursorIdentifier): Mark static so it has internal linkage.
              (WebCore::resourceReferencedByCursorElement): Ditto.
              (WebCore::CSSCursorImageValue::CSSCursorImageValue): Removed unused style
              argument.
              (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Removed code to
              check if X and Y changed before changing them -- there's no reason to do
              that. Removed code that depended on the internals of CSSImageValue. The
              new code uses only protected functions rather than going right at the
              fields and uing internal knowledge of the base class.
              * css/CSSCursorImageValue.h: Added a create function, made constructor
              private, removed unused style argument.
      
              * css/CSSImageValue.cpp:
              (WebCore::CSSImageValue::CSSImageValue): Removed unused style argument.
              (WebCore::CSSImageValue::cachedImageURL): Added. A protected function for
              use by CSSCursorImageValue that gives the URL.
              (WebCore::CSSImageValue::clearCachedImage): Added. A protected function for
              use by CSSCursorImageValue that clears the CachedImage.
              * css/CSSImageValue.h: Added create functions, made constructors protected
              and private, removed unused style argument, made data members private, added
              some protected functions for use by CSSCursorImageValue.
      
              * css/CSSImportRule.cpp:
              (WebCore::CSSImportRule::setCSSStyleSheet): Changed to call checkLoaded on
              the parent. This is part of preparation to move the checkLoaded function from
              StyleBase to StyleSheet.
              (WebCore::CSSImportRule::insertedIntoParent): Changed code to check the URL
              of the style sheet to use the href function of the style sheet rather than
              the baseURL function. This eliminates an O(n^2) algorithm here and reduces
              the use of baseURL, part of preparation to move it from StyleBase
              to CSSStyleSheet.
      
              * css/CSSMutableStyleDeclaration.cpp:
              (WebCore::CSSMutableStyleDeclaration::setImageProperty): Changed to use create
              function instead of a direct call to new for the CSSImageValue classes.
              * css/CSSParser.cpp:
              (WebCore::CSSParser::parseValue): Ditto.
              (WebCore::CSSParser::parseContent): Ditto.
              (WebCore::CSSParser::parseFillImage): Ditto.
              (WebCore::CSSParser::parseBorderImage): Ditto.
      
              * css/CSSStyleSelector.cpp: Removed unneeded include of CSSImageValue.h.
              * rendering/style/RenderStyle.h: Removed unneeded include of
              CSSCursorImageValue.h, which was causing us to rebuild the world way too often.
      
              * xml/XSLImportRule.cpp:
              (WebCore::XSLImportRule::setXSLStyleSheet): See change to CSSImportRule above.
              (WebCore::XSLImportRule::loadSheet): Ditto.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33934 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f3933de7
    • kmccullough@apple.com's avatar
      2008-05-20 Kevin McCullough <kmccullough@apple.com> · fe9d0e7b
      kmccullough@apple.com authored
              Rubber stamped by Adam.
      
              -Minor fix. Should not use a reference since the original may disappear.
      
              * page/Console.cpp:
              (WebCore::Console::profile):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33933 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      fe9d0e7b
    • kevino@webkit.org's avatar
      wx build fixes for PluginViewWx.cpp and WebKit/wx/WebView.cpp · 82340bb3
      kevino@webkit.org authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33932 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82340bb3
    • timothy@apple.com's avatar
      Expose the ProfileNode sorting functions on JavaScriptProfileNode. · 5a0204ec
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * page/JavaScriptProfileNode.cpp:
      (WebCore::sortTotalTimeDescending): Call ProfileNode.
      (WebCore::sortTotalTimeAscending): Ditto.
      (WebCore::sortSelfTimeDescending): Ditto.
      (WebCore::sortSelfTimeAscending): Ditto.
      (WebCore::sortCallsDescending): Ditto.
      (WebCore::sortCallsAscending): Ditto.
      (WebCore::ProfileNodeClass): Add static static functions.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a0204ec
    • timothy@apple.com's avatar
      Make the profiler use higher than millisecond resolution time-stamps. · 7de48b2e
      timothy@apple.com authored
      Reviewed by Kevin McCullough.
      
      * kjs/DateMath.cpp:
      (KJS::getCurrentUTCTime): Call getCurrentUTCTimeWithMicroseconds and
      floor the result.
      (KJS::getCurrentUTCTimeWithMicroseconds): Copied from the previous
      implementation of getCurrentUTCTime without the floor call.
      * kjs/DateMath.h: Addded getCurrentUTCTimeWithMicroseconds.
      * profiler/ProfileNode.cpp:
      (KJS::ProfileNode::ProfileNode): Use getCurrentUTCTimeWithMicroseconds.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7de48b2e
    • timothy@apple.com's avatar
      * page/InspectorController.cpp: Change the include for · c3f9d123
      timothy@apple.com authored
      JavaScriptProfile.h to sue double quotes instead of backets.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@33929 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3f9d123