1. 29 Oct, 2009 33 commits
  2. 28 Oct, 2009 7 commits
    • mitz@apple.com's avatar
      WebCore: Share code between the ATSUI- and Core Text-based Font implementations by doing the · 71c63048
      mitz@apple.com authored
      following:
      - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific
        parts in ComplexTextControllerCoreText.cpp.
      - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController
      - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI.
      - Remove FontMacATSUI.
      
      Reviewed by Sam Weinig.
      
      * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm,
      and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h},
      ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and
      FontComplexTextMac.cpp.
      
      * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and
      kept the non-Core Text-specific bits.
      (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including
      its own.
      (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for
      m_complexTextRuns holding references instead of objects.
      (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including
      its own.
      (WebCore::ComplexTextController::advance): Updated for renames.
      (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for
      m_complexTextRuns holding references instead of objects, and changed to use the glyphs()
      and advances() accessors.
      
      * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and
      renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made
      the latter RefCounted, added ATSUI-specific members to it, and made some other members
      Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references
      rather than objects.
      (WebCore::ComplexTextController::ComplexTextRun::create):
      (WebCore::ComplexTextController::ComplexTextRun::glyphs):
      (WebCore::ComplexTextController::ComplexTextRun::advances):
      
      * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific
      parts of the ComplexTextController implementation. 
      (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI
      callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked
      when the ComplexTextRun constructor calls ATSUGetGlyphBounds().
      (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm.
      (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm.
      (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the
      ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic,
      mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to
      get the glyphs, advances and indices vectors populated.
      (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm.
      (WebCore::disableLigatures): Ditto.
      (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified.
      (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs
      ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones.
      
      * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from
      CoreTextController.cpp and kept the Core Text-specific bits.
      (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames,
      including its own, and moved the code to initialize m_glyphs and m_advances here. Previously
      this was done in adjustGlyphsAndAdvances().
      (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames,
      including its own.
      * platform/graphics/mac/CoreTextController.cpp: Removed.
      * platform/graphics/mac/CoreTextController.h: Removed.
      * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this.
      (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead
      of CoreTextController.
      (WebCore::Font::drawComplexText): Ditto.
      (WebCore::Font::floatWidthForComplexText): Ditto.
      (WebCore::Font::offsetForPositionForComplexText): Ditto.
      * platform/graphics/mac/FontMacATSUI.mm: Removed.
      * platform/graphics/mac/FontMacCoreText.cpp: Removed.
      
      LayoutTests: Removed Leopard-specific result after changing ATSUI missing-glyph behavior to match the
      Core Text and fast code paths' behavior.
      
      * platform/mac-leopard/fast/text/international/khmer-selection-expected.txt: Removed.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      71c63048
    • rolandsteiner@chromium.org's avatar
      2009-10-28 Roland Steiner <rolandsteiner@chromium.org> · e59f7d2f
      rolandsteiner@chromium.org authored
              Adding myself to the committers list.
      
              * Scripts/modules/committers.py:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e59f7d2f
    • cfleizach@apple.com's avatar
      Adding myself to the committers list. · 433a05ed
      cfleizach@apple.com authored
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      433a05ed
    • cfleizach@apple.com's avatar
      WebCore: WAI-ARIA: add support for 'option' role · cf30671e
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=30843
      
      Reviewed by Darin Adler.
      
      Test: accessibility/aria-option-role.html
      
      * accessibility/AccessibilityListBoxOption.h:
      (WebCore::AccessibilityListBoxOption::canHaveChildren):
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::RoleEntry::):
      (WebCore::AccessibilityRenderObject::canHaveChildren):
      
      LayoutTests: Fix video-pause-immediately.html to avoid using setTimeout().
      
      Patch by Andrew Scherkus <scherkus@chromium.org> on 2009-10-28
      Reviewed by Eric Carlson.
      
      This also addresses the flakiness on Windows, where 200ms was not enough time to advance the clock past zero.
      
      https://bugs.webkit.org/show_bug.cgi?id=30889
      
      * media/video-pause-immediately.html: Replace setTimeout() with timeupdate events.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50256 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      cf30671e
    • barraclough@apple.com's avatar
      JSC JIT on ARMv7 cannot link jumps >16Mb range · a24f02b9
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=30891
      
      Patch by Gavin Barraclough <barraclough@apple.com> on 2009-10-28
      Reviewed by Oliver Hunt.
      
      Start planing all relative jumps as move-32-bit-immediate-to-register-BX.
      In the cases where the jump would fall within a relative jump range, use a relative jump.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/ARMv7Assembler.h:
      (JSC::ARMv7Assembler::~ARMv7Assembler):
      (JSC::ARMv7Assembler::LinkRecord::LinkRecord):
      (JSC::ARMv7Assembler::):
      (JSC::ARMv7Assembler::executableCopy):
      (JSC::ARMv7Assembler::linkJump):
      (JSC::ARMv7Assembler::relinkJump):
      (JSC::ARMv7Assembler::setInt32):
      (JSC::ARMv7Assembler::isB):
      (JSC::ARMv7Assembler::isBX):
      (JSC::ARMv7Assembler::isMOV_imm_T3):
      (JSC::ARMv7Assembler::isMOVT):
      (JSC::ARMv7Assembler::isNOP_T1):
      (JSC::ARMv7Assembler::isNOP_T2):
      (JSC::ARMv7Assembler::linkJumpAbsolute):
      (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmFirst):
      (JSC::ARMv7Assembler::twoWordOp5i6Imm4Reg4EncodedImmSecond):
      (JSC::ARMv7Assembler::ARMInstructionFormatter::twoWordOp5i6Imm4Reg4EncodedImm):
      * assembler/MacroAssemblerARMv7.h:
      (JSC::MacroAssemblerARMv7::makeJump):
      (JSC::MacroAssemblerARMv7::makeBranch):
      * jit/JIT.h:
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a24f02b9
    • oliver@apple.com's avatar
      Improve for..in enumeration performance · 0a4803c0
      oliver@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=30887
      
      Reviewed by Geoff Garen.
      
      Improve indexing of an object with a for..in iterator by
      identifying cases where get_by_val is being used with a iterator
      as the subscript and replace it with a new get_by_pname
      bytecode.  get_by_pname then optimizes lookups that directly access
      the base object.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0a4803c0
    • eric@webkit.org's avatar
      2009-10-28 Jens Alfke <snej@chromium.org> · 44015495
      eric@webkit.org authored
              Reviewed by Eric Seidel.
      
              Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build.
              https://bugs.webkit.org/show_bug.cgi?id=30716
      
              * WebCore.gyp/WebCore.gyp:  Enable "chromium_code" flag, just on Mac build for now.
              * accessibility/AccessibilityRenderObject.cpp:
              (WebCore::createARIARoleMap):  Fix struct visibiity warning.
              * bindings/v8/ScriptCallStack.h:  Fix out-of-order member initialization warning.
              * bindings/v8/V8Collection.h:
              (WebCore::getV8Object):  Function in header should not be 'static' (fixes unused-static warning.)
              * bindings/v8/V8DOMWrapper.cpp:
              (WebCore::V8DOMWrapper::convertNewNodeToV8Object):  Fix signed/unsigned comparison warning.
              * bindings/v8/V8GCController.cpp:
              (WebCore::ObjectGrouperVisitor::applyGrouping):  Fix unused-variable warning.
              * css/CSSPrimitiveValueMappings.h:
              (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):  Enable ListButtonPart case to avoid
                  warning about missing cases in 'switch' statement.
              * editing/EditorCommand.cpp:
              (WebCore::createCommandMap):  Fix struct visibiity warning.
              * platform/graphics/skia/PlatformContextSkia.cpp:
              (PlatformContextSkia::State::State):  Fix out-of-order member initialization warning.
              * rendering/RenderMediaControlsChromium.cpp:
              (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart):  Add empty 'default' case in
                  'switch' statement to avoid missing-case warning.
              (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):  Ditto.
              * xml/XPathFunctions.cpp:
              (WebCore::XPath::createFunctionMap):  Fix struct visibiity warning.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      44015495