1. 28 Apr, 2009 21 commits
  2. 27 Apr, 2009 19 commits
    • simon.fraser@apple.com's avatar
      2009-04-27 Simon Fraser <simon.fraser@apple.com> · 23a8bb3c
      simon.fraser@apple.com authored
              Reviewed by Darin Adler
      
              <rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to
              load if movie had been previously viewed
      
              Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement
              to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>.
      
              * html/HTMLEmbedElement.cpp:
              (WebCore::HTMLEmbedElement::rendererIsNeeded):
              * html/HTMLObjectElement.cpp:
              (WebCore::HTMLObjectElement::rendererIsNeeded):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42913 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      23a8bb3c
    • weinig@apple.com's avatar
      2009-04-27 Sam Weinig <sam@webkit.org> · 4592dafe
      weinig@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Move more window event related code into DOMWindow.
      
              * dom/Document.cpp:
              (WebCore::Document::implicitClose):
              (WebCore::Document::setWindowAttributeEventListener):
              (WebCore::Document::dispatchWindowEvent):
              (WebCore::Document::dispatchLoadEvent):
              * dom/Document.h:
              * dom/Element.cpp:
              * dom/Element.h:
              * dom/Node.cpp:
              * dom/Node.h:
              * html/HTMLBodyElement.cpp:
              (WebCore::HTMLBodyElement::parseMappedAttribute):
              * html/HTMLFrameSetElement.cpp:
              (WebCore::HTMLFrameSetElement::parseMappedAttribute):
              * loader/FrameLoader.cpp:
              (WebCore::FrameLoader::stopLoading):
              * page/DOMWindow.cpp:
              (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
              (WebCore::DOMWindow::postMessageTimerFired):
              (WebCore::DOMWindow::dispatchEvent):
              (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget):
              (WebCore::DOMWindow::dispatchLoadEvent):
              (WebCore::DOMWindow::dispatchUnloadEvent):
              (WebCore::DOMWindow::dispatchBeforeUnloadEvent):
              * page/DOMWindow.h:
              * page/Frame.cpp:
              (WebCore::Frame::shouldClose):
              * svg/SVGSVGElement.cpp:
              (WebCore::SVGSVGElement::parseMappedAttribute):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42912 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      4592dafe
    • adele@apple.com's avatar
      WebCore: · 251a167a
      adele@apple.com authored
      2009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
      
              Implement the editing mechanisms and add context menu items for
              <rdar://problem/6724106> WebViews need to implement text checking
      
              Reviewed by Justin Garcia.
      
              * editing/Editor.cpp:
              * editing/Editor.h:
              * editing/TypingCommand.cpp:
              * loader/EmptyClients.h:
              * page/ContextMenuController.cpp:
              * page/EditorClient.h:
              * page/mac/WebCoreViewFactory.h:
              * platform/ContextMenu.cpp:
              * platform/ContextMenuItem.h:
              * platform/LocalizedStrings.h:
              * platform/mac/LocalizedStringsMac.mm:
      
      WebKit:
      
      2009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
      
              Add localizable strings for 
              <rdar://problem/6724106> WebViews need to implement text checking
      
              Reviewed by Justin Garcia.
      
              * English.lproj/Localizable.strings:
      
      WebKit/mac:
      
      2009-04-27  Douglas R. Davidson  <ddavidso@apple.com>
      
              Add the various switches and context menu items needed for
              <rdar://problem/6724106> WebViews need to implement text checking
              and adopt updatePanels in place of old SPI _updateGrammar.
      
              Reviewed by Justin Garcia.
      
              * WebCoreSupport/WebContextMenuClient.mm:
              (fixMenusReceivedFromOldClients):
              * WebCoreSupport/WebEditorClient.h:
              * WebCoreSupport/WebEditorClient.mm:
              (WebEditorClient::uppercaseWord):
              (WebEditorClient::lowercaseWord):
              (WebEditorClient::capitalizeWord):
              (WebEditorClient::showSubstitutionsPanel):
              (WebEditorClient::substitutionsPanelIsShowing):
              (WebEditorClient::toggleSmartInsertDelete):
              (WebEditorClient::isAutomaticQuoteSubstitutionEnabled):
              (WebEditorClient::toggleAutomaticQuoteSubstitution):
              (WebEditorClient::isAutomaticLinkDetectionEnabled):
              (WebEditorClient::toggleAutomaticLinkDetection):
              (WebEditorClient::isAutomaticDashSubstitutionEnabled):
              (WebEditorClient::toggleAutomaticDashSubstitution):
              (WebEditorClient::isAutomaticTextReplacementEnabled):
              (WebEditorClient::toggleAutomaticTextReplacement):
              (WebEditorClient::isAutomaticSpellingCorrectionEnabled):
              (WebEditorClient::toggleAutomaticSpellingCorrection):
              (WebEditorClient::checkTextOfParagraph):
              * WebCoreSupport/WebViewFactory.mm:
              (-[WebViewFactory contextMenuItemTagShowColors]):
              (-[WebViewFactory contextMenuItemTagCorrectSpellingAutomatically]):
              (-[WebViewFactory contextMenuItemTagSubstitutionsMenu]):
              (-[WebViewFactory contextMenuItemTagShowSubstitutions:]):
              (-[WebViewFactory contextMenuItemTagSmartCopyPaste]):
              (-[WebViewFactory contextMenuItemTagSmartQuotes]):
              (-[WebViewFactory contextMenuItemTagSmartDashes]):
              (-[WebViewFactory contextMenuItemTagSmartLinks]):
              (-[WebViewFactory contextMenuItemTagTextReplacement]):
              (-[WebViewFactory contextMenuItemTagTransformationsMenu]):
              (-[WebViewFactory contextMenuItemTagMakeUpperCase]):
              (-[WebViewFactory contextMenuItemTagMakeLowerCase]):
              (-[WebViewFactory contextMenuItemTagCapitalize]):
              * WebView/WebHTMLView.mm:
              (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
              (-[WebHTMLView isAutomaticQuoteSubstitutionEnabled]):
              (-[WebHTMLView setAutomaticQuoteSubstitutionEnabled:]):
              (-[WebHTMLView toggleAutomaticQuoteSubstitution:]):
              (-[WebHTMLView isAutomaticLinkDetectionEnabled]):
              (-[WebHTMLView setAutomaticLinkDetectionEnabled:]):
              (-[WebHTMLView toggleAutomaticLinkDetection:]):
              (-[WebHTMLView isAutomaticDashSubstitutionEnabled]):
              (-[WebHTMLView setAutomaticDashSubstitutionEnabled:]):
              (-[WebHTMLView toggleAutomaticDashSubstitution:]):
              (-[WebHTMLView isAutomaticTextReplacementEnabled]):
              (-[WebHTMLView setAutomaticTextReplacementEnabled:]):
              (-[WebHTMLView toggleAutomaticTextReplacement:]):
              (-[WebHTMLView isAutomaticSpellingCorrectionEnabled]):
              (-[WebHTMLView setAutomaticSpellingCorrectionEnabled:]):
              (-[WebHTMLView toggleAutomaticSpellingCorrection:]):
              * WebView/WebHTMLViewInternal.h:
              * WebView/WebPreferenceKeysPrivate.h:
              * WebView/WebUIDelegatePrivate.h:
              * WebView/WebView.mm:
              (-[WebViewPrivate init]):
              (-[WebView validateUserInterfaceItemWithoutDelegate:]):
              (-[WebView setGrammarCheckingEnabled:]):
              (-[WebView isAutomaticQuoteSubstitutionEnabled]):
              (-[WebView isAutomaticLinkDetectionEnabled]):
              (-[WebView isAutomaticDashSubstitutionEnabled]):
              (-[WebView isAutomaticTextReplacementEnabled]):
              (-[WebView isAutomaticSpellingCorrectionEnabled]):
              (-[WebView setAutomaticQuoteSubstitutionEnabled:]):
              (-[WebView toggleAutomaticQuoteSubstitution:]):
              (-[WebView setAutomaticLinkDetectionEnabled:]):
              (-[WebView toggleAutomaticLinkDetection:]):
              (-[WebView setAutomaticDashSubstitutionEnabled:]):
              (-[WebView toggleAutomaticDashSubstitution:]):
              (-[WebView setAutomaticTextReplacementEnabled:]):
              (-[WebView toggleAutomaticTextReplacement:]):
              (-[WebView setAutomaticSpellingCorrectionEnabled:]):
              (-[WebView toggleAutomaticSpellingCorrection:]):
              * WebView/WebViewPrivate.h:
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42911 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      251a167a
    • weinig@apple.com's avatar
      2009-04-27 Sam Weinig <sam@webkit.org> · 07a1c4de
      weinig@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower
      
              Be slightly less eager in collecting after page close/navigation by increasing
              the time before collection from 0 seconds to .5 seconds.
      
              3% speedup on the PLT.
      
              * bindings/js/GCController.cpp:
              (WebCore::GCController::garbageCollectSoon):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42910 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      07a1c4de
    • ddkilzer@apple.com's avatar
      Consolidate runtime application checks for Apple Mail and Safari · dd4ad89c
      ddkilzer@apple.com authored
              Reviewed by Mark Rowe and Darin Adler.
      
      WebCore:
      
              * WebCore.base.exp: Added exports.
              * WebCore.xcodeproj/project.pbxproj: Added
              RuntimeApplicationChecks.{h|mm} source files to the project.
              * page/mac/EventHandlerMac.mm:
              (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
              Removed local checkedSafari and isSafari variables and switched
              to use applicationIsSafari().
              * platform/mac/RuntimeApplicationChecks.h: Added.
              * platform/mac/RuntimeApplicationChecks.mm: Added.
              (WebCore::applicationIsAppleMail): Runtime application check for
              Apple Mail.
              (WebCore::applicationIsSafari): Runtime application check for
              Safari.
      
      WebKit:
      
              * WebCoreSupport/WebContextMenuClient.mm:
              (isAppleMail): Removed.
              (fixMenusToSendToOldClients): Switched to use
              applicationIsAppleMail().
              * WebView/WebFrame.mm:
              (-[WebFrame reload]): Switched to use applicationIsSafari().
              * WebView/WebPDFView.mm:
              (-[WebPDFView menuForEvent:]): Ditto.
              * WebView/WebResource.mm:
              (+[WebResource _needMailThreadWorkaroundIfCalledOffMainThread]):
              Switched to use applicationIsAppleMail().
              * WebView/WebView.mm:
              (runningLeopardMail): Ditto.
              (runningTigerMail): Ditto.
              (-[WebView _needsKeyboardEventDisambiguationQuirks]): Switched
              to use applicationIsSafari().
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42909 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      dd4ad89c
    • cfleizach@apple.com's avatar
      Bug 25374: AX: No AXValue change sent when text is auto-inserted · c68ff650
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=25374
      
      Updated to fix regression test failures
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42908 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c68ff650
    • xan@webkit.org's avatar
      2009-04-16 Xan Lopez <xlopez@igalia.com> · c4227a9c
      xan@webkit.org authored
              Reviewed by Gustavo Noronha.
      
              https://bugs.webkit.org/show_bug.cgi?id=21546
              [GTK] ATK accessibility enhancements
      
              Based on a patch by Alp Toker.
      
              Cover more WebCore role -> ATK role conversions.
      
              * page/gtk/AccessibilityObjectWrapperAtk.cpp:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42907 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      c4227a9c
    • xan@webkit.org's avatar
      2009-04-18 Xan Lopez <xlopez@igalia.com> · fc249b8d
      xan@webkit.org authored
              Reviewed by Gustavo Noronha.
      
              https://bugs.webkit.org/show_bug.cgi?id=21546
              [GTK] ATK accessibility enhancements
      
              Do not call ATK setters in the getters, just return the
              value. Among other things calling the setter will emit the notify
              signal, which is wrong.
      
              * page/gtk/AccessibilityObjectWrapperAtk.cpp:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42906 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      fc249b8d
    • xan@webkit.org's avatar
      2009-04-16 Xan Lopez <xlopez@igalia.com> · ee5d8a2b
      xan@webkit.org authored
              Reviewed by Gustavo Noronha.
      
              https://bugs.webkit.org/show_bug.cgi?id=21546
              [GTK] ATK accessibility enhancements
      
              Based on a patch by Alp Toker.
      
              Implement AtkImage interface.
      
              * page/gtk/AccessibilityObjectWrapperAtk.cpp:
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42905 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      ee5d8a2b
    • kov@webkit.org's avatar
      2009-04-27 Gustavo Noronha Silva <gns@gnome.org> · 43db81bd
      kov@webkit.org authored
              Unreviewed debug build fix.
      
              * platform/gtk/gtk2drawing.c:
              (moz_gtk_toggle_paint):
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42904 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      43db81bd
    • dglazkov@chromium.org's avatar
      2009-04-27 Dimitri Glazkov <dglazkov@chromium.org> · 9b53e889
      dglazkov@chromium.org authored
              Build fix.
      
              https://bugs.webkit.org/show_bug.cgi?id=25382
              Remove direct reference to CallFrame.h include to pacify Win build.
      
              * bindings/js/JSDOMBinding.h: Removed ScriptState.h include.
              * bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42903 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      9b53e889
    • cfleizach@apple.com's avatar
    • dglazkov@chromium.org's avatar
      2009-04-27 Dimitri Glazkov <dglazkov@chromium.org> · b5b8223d
      dglazkov@chromium.org authored
              Reviewed by Eric Seidel.
      
              https://bugs.webkit.org/show_bug.cgi?id=25382
              Move scriptStateFromNode to ScriptState.
      
              * bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState.
              * bindings/js/JSDOMBinding.h: Ditto.
              * bindings/js/ScriptState.cpp:
              (WebCore::scriptStateFromNode): Added.
              * bindings/js/ScriptState.h: Ditto.
              * bindings/v8/ScriptState.cpp:
              (WebCore::scriptStateFromNode): Added.
              * bindings/v8/ScriptState.h: Ditto.
              * dom/NodeFilter.h: Removed JSDOMBinding header include.
              * dom/NodeIterator.h: Ditto.
              * dom/TreeWalker.h: Ditto.
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42901 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      b5b8223d
    • cfleizach@apple.com's avatar
      Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore •... · fdd8ded2
      cfleizach@apple.com authored
      Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore • -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830
      https://bugs.webkit.org/show_bug.cgi?id=25428
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42900 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      fdd8ded2
    • andersca@apple.com's avatar
      2009-04-27 Anders Carlsson <andersca@apple.com> · 263e4cde
      andersca@apple.com authored
              Reviewed by Adam Roben.
      
              Update the example plug-in for new changes to the Cocoa event model.
              
              * NetscapeCocoaPlugin/main.m:
              (handleDraw):
              (handleMouseEvent):
              (NPP_HandleEvent):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42899 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      263e4cde
    • kdecker@apple.com's avatar
      Fix the Tiger build. · 03387985
      kdecker@apple.com authored
              
              * Plugins/WebNetscapePluginView.mm: The base class of WebNetscapePluginView.mm, WebBaseNetscapePluginView, already implemented 
              the two methods below. But the Tiger compiler didn't know that. 
              (-[WebNetscapePluginView webView]): 
              (-[WebNetscapePluginView webFrame]):
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42898 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      03387985
    • kdecker@apple.com's avatar
      Reviewed by Anders Carlsson. · e96d1b08
      kdecker@apple.com authored
              <rdar://problem/6352982>
              
              * Plugins/WebBaseNetscapePluginView.mm: Removed checkIfAllowedToLoadURL:frame:callbackFunc, cancelCheckIfAllowedToLoadURL, and 
              _webPluginContainerCancelCheckIfAllowedToLoadRequest from the base class. These methods now exist in the subclass WebNetscapePluginView.
              
              Added WebNetscapeContainerCheckContextInfo, which is used as a "contextInfo" object in 
              -[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]
              * Plugins/WebNetscapeContainerCheckContextInfo.h: Added.
              * Plugins/WebNetscapeContainerCheckContextInfo.mm: Added.
              (-[WebNetscapeContainerCheckContextInfo initWithCheckRequestID:callbackFunc:]): Added desiginated initializer.
              (-[WebNetscapeContainerCheckContextInfo checkRequestID]): Added. Returns the checkRequestID.
              (-[WebNetscapeContainerCheckContextInfo callback]): Added. Returns the callback.
              
              * Plugins/WebNetscapePluginView.h: Added two new ivars: _containerChecksInProgress and _currentContainerCheckRequestID.
              * Plugins/WebNetscapePluginView.mm: #import both WebPluginContainerCheck.h and WebNetscapeContainerCheckContextInfo.h
              
              (-[WebNetscapePluginView checkIfAllowedToLoadURL:frame:callbackFunc:]): Added. This is the implementation of WKN_CheckIfAllowedToLoadURL.
              Here, we increment the request ID and start the container check.
              
              (-[WebNetscapePluginView _containerCheckResult:contextInfo:]): Added. This is a callback method for WebPluginContainerCheck.
              It's where we actually call into the plug-in and provide the allow-or-deny result.
          
              (-[WebNetscapePluginView cancelCheckIfAllowedToLoadURL:]): Added. This is the implementation of WKN_CancelCheckIfAllowedToLoadURL. 
              Here we lookup the check, cancel it, and remove it from _containerChecksInProgress.
              
              (-[WebNetscapePluginView _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Added. WebPluginContainerCheck automatically calls
              this method after invoking our _containerCheckResult: selector. It works this way because calling -[WebPluginContainerCheck cancel] allows
              it to do it's teardown process.
              
              (-[WebNetscapePluginView fini]): Release _containerChecksInProgress ivar.
              
              * Plugins/WebPluginContainerCheck.h: Removed initWithRequest: method from header; no client was using this method directly.
              * Plugins/WebPluginContainerCheck.mm: 
              (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]): Added optional contextInfo parameter.
              (-[WebPluginContainerCheck _continueWithPolicy:]): If there's a contextInfo object, pass it as a parameter to resultSelector.
              (-[WebPluginContainerCheck cancel]): Release _contextInfo ivar.
              (-[WebPluginContainerCheck contextInfo]): Added new method. Returns the contextInfo object, if one so exists.
              * Plugins/WebPluginController.mm:
              (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Pass nil for contextInfo. WebKit-style
              plug-ins do not need additional context information.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42897 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      e96d1b08
    • ap@webkit.org's avatar
      Reviewed by Darin Adler. · 3191fc77
      ap@webkit.org authored
              https://bugs.webkit.org/show_bug.cgi?id=25399
              <rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database,
              beneath WebCore::Cache::evict
      
              The crash happened because a cached resource handle was removed from a document's cached
              resources map twice recursively, so a destructor was called for a value in a deleted bucket.
              The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed
              CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in
              an inconsistent state.
      
              I couldn't fully reconstruct the loading sequence to make a test.
      
              * loader/Cache.cpp:
              (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache
              (it makes no sense to revalidate one that isn't).
              (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource
              from the cache in no way implies that documents no longer use the old version. This fixes the
              crash, and also fixes many cases of resource content being unavailable in Web Inspector.
      
              * loader/CachedResource.h:
              (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache,
              reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never
              being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases,
              switchClientsToRevalidatedResource() results in the same resource being requested again,
              but we were only enforcing CachedResource invariants after calling this function.
              (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow.
      
              * loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed
              resource is removed, not some other resource that happens to have the same URL (this used to
              fail on LexisNexis search before this patch).
      
              * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED
              with notImplemented(). This method can be legally called via document.write(), and should
              work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it
              doesn't affect site functionality.
      
              * loader/CachedResource.cpp:
              (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate
              is being revalidated - this may no longer be true, because we now reset this member in
              CachedResource::setInCache().
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42896 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      3191fc77
    • mitz@apple.com's avatar
      Reviewed by Sam Weinig. · 9d72976d
      mitz@apple.com authored
              - make BidiContext a RefCounted class, starting with a refcount of 1,
                and share the root BidiContexts.
      
              * platform/graphics/GraphicsContext.cpp:
              (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create().
              * platform/text/BidiContext.cpp:
              (WebCore::BidiContext::create): Added. For the four "root" contexts,
              returns a reference to a shared static BidiContext.
              * platform/text/BidiContext.h:
              (WebCore::BidiContext::BidiContext):
              * platform/text/BidiResolver.h:
              (WebCore::::commitExplicitEmbedding): Use BidiContext::create().
              * rendering/bidi.cpp:
              (WebCore::RenderBlock::determineStartPosition): Ditto.
      
      
      
      git-svn-id: svn://svn.chromium.org/blink/trunk@42895 bbb929c8-8fbe-4397-9dbb-9b2b20218538
      9d72976d