Changeset 54331 in webkit


Ignore:
Timestamp:
Feb 4, 2010 12:41:50 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-02-04 Jeremy Moskovich <jeremy@chromium.org>

Reviewed by David Levin.

[Chromium] WebKit side of "Writing direction" context menu on OS X.
https://bugs.webkit.org/show_bug.cgi?id=34524

  • public/WebContextMenuData.h: (WebKit::WebContextMenuData::):
  • src/ContextMenuClientImpl.cpp: (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
Location:
trunk/WebKit/chromium
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/chromium/ChangeLog

    r54292 r54331  
     12010-02-04  Jeremy Moskovich  <jeremy@chromium.org>
     2
     3        Reviewed by David Levin.
     4
     5        [Chromium] WebKit side of "Writing direction" context menu on OS X.
     6        https://bugs.webkit.org/show_bug.cgi?id=34524
     7
     8        * public/WebContextMenuData.h:
     9        (WebKit::WebContextMenuData::):
     10        * src/ContextMenuClientImpl.cpp:
     11        (WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):
     12
    1132010-02-03  Drew Wilson  <atwilson@chromium.org>
    214
  • trunk/WebKit/chromium/public/WebContextMenuData.h

    r51874 r54331  
    9898    bool isEditable;
    9999
     100    enum CheckableMenuItemFlags {
     101        CheckableMenuItemDisabled = 0x0,
     102        CheckableMenuItemEnabled = 0x1,
     103        CheckableMenuItemChecked = 0x2,
     104    };
     105
     106    // Writing direction menu items.
     107    // Currently only used on OS X.
     108    int writingDirectionDefault;
     109    int writingDirectionLeftToRight;
     110    int writingDirectionRightToLeft;
     111
    100112    enum EditFlags {
    101113        CanDoNone = 0x0,
  • trunk/WebKit/chromium/src/ContextMenuClientImpl.cpp

    r54212 r54331  
    3232#include "ContextMenuClientImpl.h"
    3333
     34#include "CSSPropertyNames.h"
     35#include "CSSStyleDeclaration.h"
    3436#include "ContextMenu.h"
    3537#include "Document.h"
     
    201203        }
    202204    }
     205
     206#if OS(DARWIN)
     207    // Writing direction context menu.
     208    data.writingDirectionDefault = WebContextMenuData::CheckableMenuItemDisabled;
     209    data.writingDirectionLeftToRight = WebContextMenuData::CheckableMenuItemEnabled;
     210    data.writingDirectionRightToLeft = WebContextMenuData::CheckableMenuItemEnabled;
     211
     212    ExceptionCode ec = 0;
     213    RefPtr<CSSStyleDeclaration> style = selectedFrame->document()->createCSSStyleDeclaration();
     214    style->setProperty(CSSPropertyDirection, "ltr", false, ec);
     215    if (selectedFrame->editor()->selectionHasStyle(style.get()) != FalseTriState)
     216        data.writingDirectionLeftToRight |= WebContextMenuData::CheckableMenuItemChecked;
     217    style->setProperty(CSSPropertyDirection, "rtl", false, ec);
     218    if (selectedFrame->editor()->selectionHasStyle(style.get()) != FalseTriState)
     219        data.writingDirectionRightToLeft |= WebContextMenuData::CheckableMenuItemChecked;
     220#endif // OS(DARWIN)
    203221
    204222    // Now retrieve the security info.
Note: See TracChangeset for help on using the changeset viewer.