зеркало из https://github.com/mozilla/gecko-dev.git
Merge m-c to inbound.
This commit is contained in:
Коммит
d01f2fedab
|
@ -74,7 +74,7 @@ GCONF_VERSION=1.2.1
|
|||
GIO_VERSION=2.18
|
||||
STARTUP_NOTIFICATION_VERSION=0.8
|
||||
DBUS_VERSION=0.60
|
||||
SQLITE_VERSION=3.7.12.1
|
||||
SQLITE_VERSION=3.7.13
|
||||
LIBNOTIFY_VERSION=0.4
|
||||
|
||||
MSMANIFEST_TOOL=
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
This is sqlite 3.7.12.1
|
||||
This is sqlite 3.7.13
|
||||
|
||||
-- Ryan VanderMeulen <ryanvm@gmail.com>, 05/2012
|
||||
-- Ryan VanderMeulen <ryanvm@gmail.com>, 06/2012
|
||||
|
||||
See http://www.sqlite.org/ for more info.
|
||||
|
||||
|
|
Разница между файлами не показана из-за своего большого размера
Загрузить разницу
|
@ -107,9 +107,9 @@ extern "C" {
|
|||
** [sqlite3_libversion_number()], [sqlite3_sourceid()],
|
||||
** [sqlite_version()] and [sqlite_source_id()].
|
||||
*/
|
||||
#define SQLITE_VERSION "3.7.12.1"
|
||||
#define SQLITE_VERSION_NUMBER 3007012
|
||||
#define SQLITE_SOURCE_ID "2012-05-22 02:45:53 6d326d44fd1d626aae0e8456e5fa2049f1ce0789"
|
||||
#define SQLITE_VERSION "3.7.13"
|
||||
#define SQLITE_VERSION_NUMBER 3007013
|
||||
#define SQLITE_SOURCE_ID "2012-06-11 02:05:22 f5b5a13f7394dc143aa136f1d4faba6839eaa6dc"
|
||||
|
||||
/*
|
||||
** CAPI3REF: Run-Time Library Version Numbers
|
||||
|
@ -478,6 +478,7 @@ SQLITE_API int sqlite3_exec(
|
|||
#define SQLITE_OPEN_EXCLUSIVE 0x00000010 /* VFS only */
|
||||
#define SQLITE_OPEN_AUTOPROXY 0x00000020 /* VFS only */
|
||||
#define SQLITE_OPEN_URI 0x00000040 /* Ok for sqlite3_open_v2() */
|
||||
#define SQLITE_OPEN_MEMORY 0x00000080 /* Ok for sqlite3_open_v2() */
|
||||
#define SQLITE_OPEN_MAIN_DB 0x00000100 /* VFS only */
|
||||
#define SQLITE_OPEN_TEMP_DB 0x00000200 /* VFS only */
|
||||
#define SQLITE_OPEN_TRANSIENT_DB 0x00000400 /* VFS only */
|
||||
|
@ -2169,12 +2170,12 @@ SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list);
|
|||
** implementation of these routines to be omitted. That capability
|
||||
** is no longer provided. Only built-in memory allocators can be used.
|
||||
**
|
||||
** The Windows OS interface layer calls
|
||||
** Prior to SQLite version 3.7.10, the Windows OS interface layer called
|
||||
** the system malloc() and free() directly when converting
|
||||
** filenames between the UTF-8 encoding used by SQLite
|
||||
** and whatever filename encoding is used by the particular Windows
|
||||
** installation. Memory allocation errors are detected, but
|
||||
** they are reported back as [SQLITE_CANTOPEN] or
|
||||
** installation. Memory allocation errors were detected, but
|
||||
** they were reported back as [SQLITE_CANTOPEN] or
|
||||
** [SQLITE_IOERR] rather than [SQLITE_NOMEM].
|
||||
**
|
||||
** The pointer arguments to [sqlite3_free()] and [sqlite3_realloc()]
|
||||
|
@ -2575,18 +2576,20 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*);
|
|||
** present, then the VFS specified by the option takes precedence over
|
||||
** the value passed as the fourth parameter to sqlite3_open_v2().
|
||||
**
|
||||
** <li> <b>mode</b>: ^(The mode parameter may be set to either "ro", "rw" or
|
||||
** "rwc". Attempting to set it to any other value is an error)^.
|
||||
** <li> <b>mode</b>: ^(The mode parameter may be set to either "ro", "rw",
|
||||
** "rwc", or "memory". Attempting to set it to any other value is
|
||||
** an error)^.
|
||||
** ^If "ro" is specified, then the database is opened for read-only
|
||||
** access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the
|
||||
** third argument to sqlite3_prepare_v2(). ^If the mode option is set to
|
||||
** "rw", then the database is opened for read-write (but not create)
|
||||
** access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had
|
||||
** been set. ^Value "rwc" is equivalent to setting both
|
||||
** SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE. ^If sqlite3_open_v2() is
|
||||
** used, it is an error to specify a value for the mode parameter that is
|
||||
** less restrictive than that specified by the flags passed as the third
|
||||
** parameter.
|
||||
** SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE. ^If the mode option is
|
||||
** set to "memory" then a pure [in-memory database] that never reads
|
||||
** or writes from disk is used. ^It is an error to specify a value for
|
||||
** the mode parameter that is less restrictive than that specified by
|
||||
** the flags passed in the third parameter to sqlite3_open_v2().
|
||||
**
|
||||
** <li> <b>cache</b>: ^The cache parameter may be set to either "shared" or
|
||||
** "private". ^Setting it to "shared" is equivalent to setting the
|
||||
|
@ -4449,6 +4452,43 @@ SQLITE_API int sqlite3_sleep(int);
|
|||
*/
|
||||
SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory;
|
||||
|
||||
/*
|
||||
** CAPI3REF: Name Of The Folder Holding Database Files
|
||||
**
|
||||
** ^(If this global variable is made to point to a string which is
|
||||
** the name of a folder (a.k.a. directory), then all database files
|
||||
** specified with a relative pathname and created or accessed by
|
||||
** SQLite when using a built-in windows [sqlite3_vfs | VFS] will be assumed
|
||||
** to be relative to that directory.)^ ^If this variable is a NULL
|
||||
** pointer, then SQLite assumes that all database files specified
|
||||
** with a relative pathname are relative to the current directory
|
||||
** for the process. Only the windows VFS makes use of this global
|
||||
** variable; it is ignored by the unix VFS.
|
||||
**
|
||||
** Changing the value of this variable while a database connection is
|
||||
** open can result in a corrupt database.
|
||||
**
|
||||
** It is not safe to read or modify this variable in more than one
|
||||
** thread at a time. It is not safe to read or modify this variable
|
||||
** if a [database connection] is being used at the same time in a separate
|
||||
** thread.
|
||||
** It is intended that this variable be set once
|
||||
** as part of process initialization and before any SQLite interface
|
||||
** routines have been called and that this variable remain unchanged
|
||||
** thereafter.
|
||||
**
|
||||
** ^The [data_store_directory pragma] may modify this variable and cause
|
||||
** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore,
|
||||
** the [data_store_directory pragma] always assumes that any string
|
||||
** that this variable points to is held in memory obtained from
|
||||
** [sqlite3_malloc] and the pragma may attempt to free that memory
|
||||
** using [sqlite3_free].
|
||||
** Hence, if this variable is modified directly, either it should be
|
||||
** made NULL or made to point to memory obtained from [sqlite3_malloc]
|
||||
** or else the use of the [data_store_directory pragma] should be avoided.
|
||||
*/
|
||||
SQLITE_API SQLITE_EXTERN char *sqlite3_data_directory;
|
||||
|
||||
/*
|
||||
** CAPI3REF: Test For Auto-Commit Mode
|
||||
** KEYWORDS: {autocommit mode}
|
||||
|
@ -4627,7 +4667,6 @@ SQLITE_API void *sqlite3_update_hook(
|
|||
|
||||
/*
|
||||
** CAPI3REF: Enable Or Disable Shared Pager Cache
|
||||
** KEYWORDS: {shared cache}
|
||||
**
|
||||
** ^(This routine enables or disables the sharing of the database cache
|
||||
** and schema data structures between [database connection | connections]
|
||||
|
|
|
@ -1243,7 +1243,7 @@ sqlite3_int64 sqlite3_quota_file_truesize(quota_FILE *p){
|
|||
sqlite3_int64 sqlite3_quota_file_size(quota_FILE *p){
|
||||
return p->pFile ? p->pFile->iSize : -1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
** Determine the amount of data in bytes available for reading
|
||||
** in the given file.
|
||||
|
@ -1921,6 +1921,53 @@ static int test_quota_glob(
|
|||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite3_quota_file_available HANDLE
|
||||
**
|
||||
** Return the number of bytes from the current file point to the end of
|
||||
** the file.
|
||||
*/
|
||||
static int test_quota_file_available(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
int objc,
|
||||
Tcl_Obj *CONST objv[]
|
||||
){
|
||||
quota_FILE *p;
|
||||
sqlite3_int64 x;
|
||||
if( objc!=2 ){
|
||||
Tcl_WrongNumArgs(interp, 1, objv, "HANDLE");
|
||||
return TCL_ERROR;
|
||||
}
|
||||
p = sqlite3TestTextToPtr(Tcl_GetString(objv[1]));
|
||||
x = sqlite3_quota_file_available(p);
|
||||
Tcl_SetObjResult(interp, Tcl_NewWideIntObj(x));
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** tclcmd: sqlite3_quota_ferror HANDLE
|
||||
**
|
||||
** Return true if the file handle is in the error state.
|
||||
*/
|
||||
static int test_quota_ferror(
|
||||
void * clientData,
|
||||
Tcl_Interp *interp,
|
||||
int objc,
|
||||
Tcl_Obj *CONST objv[]
|
||||
){
|
||||
quota_FILE *p;
|
||||
int x;
|
||||
if( objc!=2 ){
|
||||
Tcl_WrongNumArgs(interp, 1, objv, "HANDLE");
|
||||
return TCL_ERROR;
|
||||
}
|
||||
p = sqlite3TestTextToPtr(Tcl_GetString(objv[1]));
|
||||
x = sqlite3_quota_ferror(p);
|
||||
Tcl_SetObjResult(interp, Tcl_NewIntObj(x));
|
||||
return TCL_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
** This routine registers the custom TCL commands defined in this
|
||||
** module. This should be the only procedure visible from outside
|
||||
|
@ -1950,6 +1997,8 @@ int Sqlitequota_Init(Tcl_Interp *interp){
|
|||
{ "sqlite3_quota_file_mtime", test_quota_file_mtime },
|
||||
{ "sqlite3_quota_remove", test_quota_remove },
|
||||
{ "sqlite3_quota_glob", test_quota_glob },
|
||||
{ "sqlite3_quota_file_available",test_quota_file_available },
|
||||
{ "sqlite3_quota_ferror", test_quota_ferror },
|
||||
};
|
||||
int i;
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
* http://www.w3.org/TR/DOM-Level-2-Style
|
||||
*/
|
||||
|
||||
[builtinclass, scriptable, uuid(08fd9493-9276-4861-9b16-add2653e2f53)]
|
||||
[builtinclass, scriptable, uuid(35b2c7f0-b56c-11e1-afa6-0800200c9a66)]
|
||||
interface nsIDOMCSS2Properties : nsISupports
|
||||
{
|
||||
attribute DOMString background;
|
||||
|
@ -498,9 +498,6 @@ interface nsIDOMCSS2Properties : nsISupports
|
|||
attribute DOMString MozColumnWidth;
|
||||
// raises(DOMException) on setting
|
||||
|
||||
attribute DOMString MozColumnFill;
|
||||
// raises(DOMException) on setting
|
||||
|
||||
attribute DOMString MozColumnGap;
|
||||
// raises(DOMException) on setting
|
||||
|
||||
|
|
|
@ -113,9 +113,9 @@ PluginModuleChild::PluginModuleChild()
|
|||
PluginModuleChild::~PluginModuleChild()
|
||||
{
|
||||
NS_ASSERTION(gInstance == this, "Something terribly wrong here!");
|
||||
if (mLibrary) {
|
||||
PR_UnloadLibrary(mLibrary);
|
||||
}
|
||||
|
||||
// We don't unload the plugin library in case it uses atexit handlers or
|
||||
// other similar hooks.
|
||||
|
||||
DeinitGraphics();
|
||||
|
||||
|
|
|
@ -1699,11 +1699,22 @@ nsDOMStorage::CanAccess(nsIPrincipal *aPrincipal)
|
|||
return true;
|
||||
|
||||
// Allow more powerful principals (e.g. system) to access the storage
|
||||
|
||||
// For content, either the code base or domain must be the same. When code
|
||||
// base is the same, this is enough to say it is safe for a page to access
|
||||
// this storage.
|
||||
|
||||
bool subsumes;
|
||||
nsresult rv = aPrincipal->SubsumesIgnoringDomain(mPrincipal, &subsumes);
|
||||
if (NS_FAILED(rv))
|
||||
return false;
|
||||
|
||||
if (!subsumes) {
|
||||
nsresult rv = aPrincipal->Subsumes(mPrincipal, &subsumes);
|
||||
if (NS_FAILED(rv))
|
||||
return false;
|
||||
}
|
||||
|
||||
return subsumes;
|
||||
}
|
||||
|
||||
|
|
|
@ -764,9 +764,6 @@ static inline mozilla::css::Side operator++(mozilla::css::Side& side, int) {
|
|||
#define NS_STYLE_COLUMN_COUNT_AUTO 0
|
||||
#define NS_STYLE_COLUMN_COUNT_UNLIMITED (-1)
|
||||
|
||||
#define NS_STYLE_COLUMN_FILL_AUTO 0
|
||||
#define NS_STYLE_COLUMN_FILL_BALANCE 1
|
||||
|
||||
// See nsStyleUIReset
|
||||
#define NS_STYLE_IME_MODE_AUTO 0
|
||||
#define NS_STYLE_IME_MODE_NORMAL 1
|
||||
|
|
|
@ -17,7 +17,6 @@ body {
|
|||
width: 300px;
|
||||
-moz-column-width: 50px;
|
||||
-moz-column-gap: 1px;
|
||||
-moz-column-fill: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
}
|
||||
</script>
|
||||
</head>
|
||||
<body style="-moz-column-width: 1px; -moz-column-fill: auto;" onload="boom();">
|
||||
<body style="-moz-column-width: 1px;" onload="boom();">
|
||||
<hr size="100" color="blue"><div style="position: absolute;"></div><div id="x" style="height: 5px;"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -375,7 +375,7 @@ load text-overflow-bug666751-2.html
|
|||
asserts(0-1) load text-overflow-bug670564.xhtml
|
||||
load text-overflow-bug671796.xhtml
|
||||
load 667025.html
|
||||
asserts-if(Android,8) load 673770.html
|
||||
asserts(14) asserts-if(Android,8) load 673770.html # bug 569193 and bug 459597
|
||||
load 679933-1.html
|
||||
load 682649-1.html
|
||||
load 683702-1.xhtml
|
||||
|
|
|
@ -331,21 +331,17 @@ nsColumnSetFrame::ChooseColumnStrategy(const nsHTMLReflowState& aReflowState)
|
|||
nscoord colGap = GetColumnGap(this, colStyle);
|
||||
PRInt32 numColumns = colStyle->mColumnCount;
|
||||
|
||||
bool isBalancing = colStyle->mColumnFill == NS_STYLE_COLUMN_FILL_BALANCE;
|
||||
if (isBalancing) {
|
||||
const PRUint32 MAX_NESTED_COLUMN_BALANCING = 2;
|
||||
PRUint32 cnt = 1;
|
||||
for (const nsHTMLReflowState* rs = aReflowState.parentReflowState;
|
||||
rs && cnt < MAX_NESTED_COLUMN_BALANCING;
|
||||
rs = rs->parentReflowState) {
|
||||
if (rs->mFlags.mIsColumnBalancing) {
|
||||
++cnt;
|
||||
}
|
||||
}
|
||||
if (cnt == MAX_NESTED_COLUMN_BALANCING) {
|
||||
numColumns = 1;
|
||||
const PRUint32 MAX_NESTED_COLUMN_BALANCING = 2;
|
||||
PRUint32 cnt = 1;
|
||||
for (const nsHTMLReflowState* rs = aReflowState.parentReflowState; rs && cnt
|
||||
< MAX_NESTED_COLUMN_BALANCING; rs = rs->parentReflowState) {
|
||||
if (rs->mFlags.mIsColumnBalancing) {
|
||||
++cnt;
|
||||
}
|
||||
}
|
||||
if (cnt == MAX_NESTED_COLUMN_BALANCING) {
|
||||
numColumns = 1;
|
||||
}
|
||||
|
||||
nscoord colWidth;
|
||||
if (colStyle->mColumnWidth.GetUnit() == eStyleUnit_Coord) {
|
||||
|
@ -399,22 +395,18 @@ nsColumnSetFrame::ChooseColumnStrategy(const nsHTMLReflowState& aReflowState)
|
|||
expectedWidthLeftOver = extraSpace - (extraToColumns*numColumns);
|
||||
}
|
||||
|
||||
// If column-fill is set to 'balance', then we want to balance the columns.
|
||||
if (isBalancing) {
|
||||
// NOTE that the non-balancing behavior for non-auto computed height
|
||||
// is not in the CSS3 columns draft as of 18 January 2001
|
||||
if (aReflowState.ComputedHeight() == NS_INTRINSICSIZE) {
|
||||
// Balancing!
|
||||
|
||||
if (numColumns <= 0) {
|
||||
// Hmm, auto column count, column width or available width is unknown,
|
||||
// and balancing is required. Let's just use one column then.
|
||||
numColumns = 1;
|
||||
}
|
||||
|
||||
colHeight = NS_MIN(mLastBalanceHeight,
|
||||
GetAvailableContentHeight(aReflowState));
|
||||
colHeight = NS_MIN(mLastBalanceHeight, GetAvailableContentHeight(aReflowState));
|
||||
} else {
|
||||
// This is the case when the column-fill property is set to 'auto'.
|
||||
// No balancing, so don't limit the column count
|
||||
|
||||
numColumns = PR_INT32_MAX;
|
||||
}
|
||||
|
||||
|
@ -641,7 +633,7 @@ nsColumnSetFrame::ReflowChildren(nsHTMLReflowMetrics& aDesiredSize,
|
|||
kidReflowState.mFlags.mIsTopOfPage = true;
|
||||
kidReflowState.mFlags.mTableIsSplittable = false;
|
||||
kidReflowState.mFlags.mIsColumnBalancing = aConfig.mBalanceColCount < PR_INT32_MAX;
|
||||
|
||||
|
||||
#ifdef DEBUG_roc
|
||||
printf("*** Reflowing child #%d %p: availHeight=%d\n",
|
||||
columnCount, (void*)child,availSize.height);
|
||||
|
|
|
@ -7640,7 +7640,8 @@ nsFrame::DoLayout(nsBoxLayoutState& aState)
|
|||
// Set up a |reflowState| to pass into ReflowAbsoluteFrames
|
||||
nsHTMLReflowState reflowState(aState.PresContext(), this,
|
||||
aState.GetRenderingContext(),
|
||||
nsSize(size.width, NS_UNCONSTRAINEDSIZE));
|
||||
nsSize(size.width, NS_UNCONSTRAINEDSIZE),
|
||||
nsHTMLReflowState::DUMMY_PARENT_REFLOW_STATE);
|
||||
|
||||
// Set up a |reflowStatus| to pass into ReflowAbsoluteFrames
|
||||
// (just a dummy value; hopefully that's OK)
|
||||
|
@ -7745,7 +7746,8 @@ nsFrame::BoxReflow(nsBoxLayoutState& aState,
|
|||
nsFrameState savedState = parentFrame->GetStateBits();
|
||||
nsHTMLReflowState parentReflowState(aPresContext, parentFrame,
|
||||
aRenderingContext,
|
||||
parentSize);
|
||||
parentSize,
|
||||
nsHTMLReflowState::DUMMY_PARENT_REFLOW_STATE);
|
||||
parentFrame->RemoveStateBits(~nsFrameState(0));
|
||||
parentFrame->AddStateBits(savedState);
|
||||
|
||||
|
@ -7765,7 +7767,8 @@ nsFrame::BoxReflow(nsBoxLayoutState& aState,
|
|||
// (It used to have a bogus parent, skipping all the boxes).
|
||||
nsSize availSize(aWidth, NS_INTRINSICSIZE);
|
||||
nsHTMLReflowState reflowState(aPresContext, this, aRenderingContext,
|
||||
availSize);
|
||||
availSize,
|
||||
nsHTMLReflowState::DUMMY_PARENT_REFLOW_STATE);
|
||||
|
||||
// Construct the parent chain manually since constructing it normally
|
||||
// messes up dimensions.
|
||||
|
|
|
@ -53,7 +53,8 @@ static eNormalLineHeightControl sNormalLineHeightControl = eUninitialized;
|
|||
nsHTMLReflowState::nsHTMLReflowState(nsPresContext* aPresContext,
|
||||
nsIFrame* aFrame,
|
||||
nsRenderingContext* aRenderingContext,
|
||||
const nsSize& aAvailableSpace)
|
||||
const nsSize& aAvailableSpace,
|
||||
PRUint32 aFlags)
|
||||
: nsCSSOffsetState(aFrame, aRenderingContext)
|
||||
, mBlockDelta(0)
|
||||
, mReflowDepth(0)
|
||||
|
@ -69,6 +70,11 @@ nsHTMLReflowState::nsHTMLReflowState(nsPresContext* aPresContext,
|
|||
memset(&mFlags, 0, sizeof(mFlags));
|
||||
mDiscoveredClearance = nsnull;
|
||||
mPercentHeightObserver = nsnull;
|
||||
|
||||
if (aFlags & DUMMY_PARENT_REFLOW_STATE) {
|
||||
mFlags.mDummyParentReflowState = true;
|
||||
}
|
||||
|
||||
Init(aPresContext);
|
||||
}
|
||||
|
||||
|
@ -129,6 +135,7 @@ nsHTMLReflowState::nsHTMLReflowState(nsPresContext* aPresContext,
|
|||
mFlags.mAssumingHScrollbar = mFlags.mAssumingVScrollbar = false;
|
||||
mFlags.mHasClearance = false;
|
||||
mFlags.mIsColumnBalancing = false;
|
||||
mFlags.mDummyParentReflowState = false;
|
||||
|
||||
mDiscoveredClearance = nsnull;
|
||||
mPercentHeightObserver = (aParentReflowState.mPercentHeightObserver &&
|
||||
|
@ -368,7 +375,13 @@ nsHTMLReflowState::InitResizeFlags(nsPresContext* aPresContext, nsIAtom* aFrameT
|
|||
nsLayoutUtils::FontSizeInflationEnabled(aPresContext)) {
|
||||
// Create our font inflation data if we don't have it already, and
|
||||
// give it our current width information.
|
||||
bool dirty = nsFontInflationData::UpdateFontInflationDataWidthFor(*this);
|
||||
bool dirty = nsFontInflationData::UpdateFontInflationDataWidthFor(*this) &&
|
||||
// Avoid running this at the box-to-block interface
|
||||
// (where we shouldn't be inflating anyway, and where
|
||||
// reflow state construction is probably to construct a
|
||||
// dummy parent reflow state anyway).
|
||||
!mFlags.mDummyParentReflowState;
|
||||
|
||||
if (dirty || (!frame->GetParent() && isHResize)) {
|
||||
// When font size inflation is enabled, a change in either:
|
||||
// * the effective width of a font inflation flow root
|
||||
|
|
|
@ -336,6 +336,9 @@ public:
|
|||
PRUint16 mHeightDependsOnAncestorCell:1; // Does frame height depend on
|
||||
// an ancestor table-cell?
|
||||
PRUint16 mIsColumnBalancing:1; // nsColumnSetFrame is balancing columns
|
||||
PRUint16 mDummyParentReflowState:1; // a "fake" reflow state made
|
||||
// in order to be the parent
|
||||
// of a real one
|
||||
} mFlags;
|
||||
|
||||
// Note: The copy constructor is written by the compiler automatically. You
|
||||
|
@ -347,7 +350,8 @@ public:
|
|||
nsHTMLReflowState(nsPresContext* aPresContext,
|
||||
nsIFrame* aFrame,
|
||||
nsRenderingContext* aRenderingContext,
|
||||
const nsSize& aAvailableSpace);
|
||||
const nsSize& aAvailableSpace,
|
||||
PRUint32 aFlags = 0);
|
||||
|
||||
// Initialize a reflow state for a child frames reflow. Some state
|
||||
// is copied from the parent reflow state; the remaining state is
|
||||
|
@ -362,6 +366,11 @@ public:
|
|||
nscoord aContainingBlockHeight = -1,
|
||||
bool aInit = true);
|
||||
|
||||
// Values for |aFlags| passed to constructor
|
||||
enum {
|
||||
DUMMY_PARENT_REFLOW_STATE = (1<<0)
|
||||
};
|
||||
|
||||
// This method initializes various data members. It is automatically
|
||||
// called by the various constructors
|
||||
void Init(nsPresContext* aPresContext,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</head>
|
||||
<body>
|
||||
|
||||
<div style="-moz-column-count: 2; column-count: 2; -moz-column-fill: auto; height: 3.5em; background:yellow">
|
||||
<div style="-moz-column-count: 2; column-count: 2; height: 3.5em; background:yellow">
|
||||
|
||||
<div style="margin: 7px 1% 2px 2em; border: medium dotted; border-width: 2px 3px 4px 5px;">
|
||||
<div style="background: url(repeatable-diagonal-gradient.png);">
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
</head>
|
||||
<body>
|
||||
|
||||
<div style="-moz-column-count: 2; column-count: 2; -moz-column-fill: auto; height: 3.5em; background:yellow">
|
||||
<div style="-moz-column-count: 2; column-count: 2; height: 3.5em; background:yellow">
|
||||
|
||||
<div>
|
||||
<div style="background: url(repeatable-diagonal-gradient.png); background-clip: padding-box; background-clip: padding; background-origin: padding-box; background-origin: padding; margin: 7px 1% 2px 2em; border: medium dotted; border-width: 2px 3px 4px 5px; padding: 8px 6px 4px 2px;">
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
width: 300pt;
|
||||
-moz-column-width: 100pt;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid gray;
|
||||
position: relative;
|
||||
}
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
width: 300pt;
|
||||
-moz-column-width: 100pt;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid gray;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
width: 300pt;
|
||||
-moz-column-width: 100pt;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid gray;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML>
|
||||
<title>Test for pushing of floats to next column when float breaking in columns is disabled</title>
|
||||
<body style="-moz-column-width: 200px; -moz-column-fill: auto; margin: 0; -moz-column-gap: 0; height: 200px;">
|
||||
<body style="-moz-column-width: 200px; margin: 0; -moz-column-gap: 0; height: 200px;">
|
||||
<div style="float: left;">
|
||||
<div style="display: inline-block; vertical-align: top; height: 150px; width: 200px; background: yellow"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<!DOCTYPE HTML>
|
||||
<title>Test for pushing of floats to next column when float breaking in columns is disabled</title>
|
||||
<body style="-moz-column-width: 200px; margin: 0; -moz-column-fill: auto; -moz-column-gap: 0; height: 200px;">
|
||||
<body style="-moz-column-width: 200px; margin: 0; -moz-column-gap: 0; height: 200px;">
|
||||
<div style="float: left;">
|
||||
<div style="display: inline-block; vertical-align: top; height: 150px; width: 200px; background: yellow"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
@font-face {
|
||||
font-family: "Ahem";
|
||||
src: url(../fonts/Ahem.ttf);
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
|
||||
<style>
|
||||
td.text {
|
||||
width: 200px;
|
||||
text-align: left;
|
||||
font-family: ahem;
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
font-family: ahem;
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<table cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td class="text" valign="top">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam.</td>
|
||||
<td class="text" valign="top">Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci</td>
|
||||
<td valign="top" class="text">vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
|
@ -1,19 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div style="width: 100%;">
|
||||
<div style="-moz-column-width: 200px;
|
||||
-moz-column-gap: 0px;
|
||||
-moz-column-fill: auto;
|
||||
height: 120px;
|
||||
font-family: ahem;
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam. Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,33 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
|
||||
<style>
|
||||
td {
|
||||
width: 200px;
|
||||
font-family: ahem;
|
||||
}
|
||||
|
||||
table {
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
font-family: ahem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<table cellpadding=0 cellspacing=0>
|
||||
<tr>
|
||||
<td valign="top">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam.
|
||||
</td>
|
||||
<td valign="top">Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci
|
||||
</td>
|
||||
<td valign="top">vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
|
@ -1,16 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div style="-moz-column-width: 200px;
|
||||
-moz-column-gap: 0px;
|
||||
-moz-column-fill: balance;
|
||||
height: 100px;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
font-family: ahem;">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam. Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,26 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Bug 695222: Test for change of column-fill property REFERENCE</title>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
<style>
|
||||
.columns {
|
||||
-moz-column-count: 3;
|
||||
-moz-column-gap: 0px;
|
||||
-moz-column-fill: balance;
|
||||
height: 120px;
|
||||
font-family: ahem;
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=695222">Mozilla Bug 695222</a>
|
||||
<div id="test" style="display: block;">
|
||||
<div id="columnsElement" class="columns">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam. Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,35 +0,0 @@
|
|||
<!doctype html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="ahem.css" />
|
||||
<title>Bug 695222: Test for change of column-fill property</title>
|
||||
<style>
|
||||
.columns {
|
||||
-moz-column-count: 3;
|
||||
-moz-column-gap: 0px;
|
||||
-moz-column-fill: auto;
|
||||
height: 120px;
|
||||
font-family: ahem;
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function disableWait() {
|
||||
document.documentElement.removeAttribute('class');
|
||||
}
|
||||
function main() {
|
||||
document.getElementById('columnsElement').style.MozColumnFill = 'balance';
|
||||
setTimeout(disableWait, 500);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="main();">
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=695222">Mozilla Bug 695222</a>
|
||||
<div id="test" style="display: block;">
|
||||
<div id="columnsElement" class="columns">
|
||||
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed feugiat libero vel diam. Pellentesque pulvinar commodo lacus. Sed fringilla. Sed lectus. Praesent laoreet orci vitae nisi. Duis venenatis tristique massa. Sed commodo diam at mauris.
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,21 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Bug 715203: Multicolumn support in scrolled columns</title>
|
||||
<style>
|
||||
.columns {
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
-moz-column-width: 40em;
|
||||
-moz-column-fill: auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="columns">
|
||||
<li>one
|
||||
<li>two
|
||||
<li>three
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,22 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Bug 715203: Multicolumn support in scrolled columns</title>
|
||||
<style>
|
||||
.columns {
|
||||
font-size: 12pt;
|
||||
line-height: 1.1;
|
||||
-moz-column-width: 40em;
|
||||
-overflow-x:auto;
|
||||
-moz-column-fill: auto;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="columns">
|
||||
<li>one
|
||||
<li>two
|
||||
<li>three
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -16,15 +16,7 @@
|
|||
== column-balancing-002.html column-balancing-002.ref.html
|
||||
== column-balancing-003.html column-balancing-000.ref.html
|
||||
== column-balancing-004.html column-balancing-004.ref.html
|
||||
|
||||
# These next tests need to be a http tests because they use the ahem font,
|
||||
# located in layout/reftests/fonts.
|
||||
HTTP(..) == columnfill-balance.html columnfill-balance-ref.html
|
||||
HTTP(..) == columnfill-auto.html columnfill-auto-ref.html
|
||||
HTTP(..) == columnfill-change.html columnfill-change-ref.html
|
||||
|
||||
== columnrule-basic.html columnrule-basic-ref.html
|
||||
== columnrule-complex.html columnrule-complex-ref.html
|
||||
!= columnrule-linestyles.html columnrule-linestyles-notref.html
|
||||
== columnrule-padding.html columnrule-padding-ref.html
|
||||
== columnfill-overflow-style.html columnfill-overflow-style-ref.html
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
height: 2in;
|
||||
-moz-column-count: 3;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: silver 2pt;
|
||||
border-style: none solid;
|
||||
}
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
border-style: none solid;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 100px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
border-style: none solid;
|
||||
background: yellow;
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 100px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
border-style: none solid;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
width: 300px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: solid silver;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
width: 450px;
|
||||
-moz-column-width: 150px;
|
||||
-moz-column-gap: 0;
|
||||
-moz-column-fill: auto;
|
||||
border: 3px solid silver;
|
||||
}
|
||||
|
||||
|
|
|
@ -165,7 +165,6 @@ CSS_KEY(auto, auto)
|
|||
CSS_KEY(avoid, avoid)
|
||||
CSS_KEY(background, background)
|
||||
CSS_KEY(backwards, backwards)
|
||||
CSS_KEY(balance, balance)
|
||||
CSS_KEY(baseline, baseline)
|
||||
CSS_KEY(bidi-override, bidi_override)
|
||||
CSS_KEY(blink, blink)
|
||||
|
|
|
@ -1377,16 +1377,6 @@ CSS_PROP_COLUMN(
|
|||
nsnull,
|
||||
offsetof(nsStyleColumn, mColumnCount),
|
||||
eStyleAnimType_Custom)
|
||||
CSS_PROP_COLUMN(
|
||||
-moz-column-fill,
|
||||
_moz_column_fill,
|
||||
CSS_PROP_DOMPROP_PREFIXED(ColumnFill),
|
||||
CSS_PROPERTY_PARSE_VALUE,
|
||||
"",
|
||||
VARIANT_HK,
|
||||
kColumnFillKTable,
|
||||
CSS_PROP_NO_OFFSET,
|
||||
eStyleAnimType_None)
|
||||
CSS_PROP_COLUMN(
|
||||
-moz-column-width,
|
||||
_moz_column_width,
|
||||
|
|
|
@ -1496,12 +1496,6 @@ const PRInt32 nsCSSProps::kColorInterpolationKTable[] = {
|
|||
eCSSKeyword_UNKNOWN, -1
|
||||
};
|
||||
|
||||
const PRInt32 nsCSSProps::kColumnFillKTable[] = {
|
||||
eCSSKeyword_auto, NS_STYLE_COLUMN_FILL_AUTO,
|
||||
eCSSKeyword_balance, NS_STYLE_COLUMN_FILL_BALANCE,
|
||||
eCSSKeyword_UNKNOWN, -1
|
||||
};
|
||||
|
||||
bool
|
||||
nsCSSProps::FindKeyword(nsCSSKeyword aKeyword, const PRInt32 aTable[], PRInt32& aResult)
|
||||
{
|
||||
|
|
|
@ -338,7 +338,6 @@ public:
|
|||
static const PRInt32 kTextAnchorKTable[];
|
||||
static const PRInt32 kTextRenderingKTable[];
|
||||
static const PRInt32 kColorInterpolationKTable[];
|
||||
static const PRInt32 kColumnFillKTable[];
|
||||
static const PRInt32 kBoxPropSourceKTable[];
|
||||
static const PRInt32 kBoxShadowTypeKTable[];
|
||||
static const PRInt32 kBoxSizingKTable[];
|
||||
|
|
|
@ -719,16 +719,6 @@ nsComputedDOMStyle::DoGetColumnGap()
|
|||
return val;
|
||||
}
|
||||
|
||||
nsIDOMCSSValue*
|
||||
nsComputedDOMStyle::DoGetColumnFill()
|
||||
{
|
||||
nsROCSSPrimitiveValue *val = GetROCSSPrimitiveValue();
|
||||
val->SetIdent(
|
||||
nsCSSProps::ValueToKeywordEnum(GetStyleColumn()->mColumnFill,
|
||||
nsCSSProps::kColumnFillKTable));
|
||||
return val;
|
||||
}
|
||||
|
||||
nsIDOMCSSValue*
|
||||
nsComputedDOMStyle::DoGetColumnRuleWidth()
|
||||
{
|
||||
|
@ -4637,7 +4627,6 @@ nsComputedDOMStyle::GetQueryablePropertyMap(PRUint32* aLength)
|
|||
COMPUTED_STYLE_MAP_ENTRY(box_pack, BoxPack),
|
||||
COMPUTED_STYLE_MAP_ENTRY(box_sizing, BoxSizing),
|
||||
COMPUTED_STYLE_MAP_ENTRY(_moz_column_count, ColumnCount),
|
||||
COMPUTED_STYLE_MAP_ENTRY(_moz_column_fill, ColumnFill),
|
||||
COMPUTED_STYLE_MAP_ENTRY(_moz_column_gap, ColumnGap),
|
||||
//// COMPUTED_STYLE_MAP_ENTRY(_moz_column_rule, ColumnRule),
|
||||
COMPUTED_STYLE_MAP_ENTRY(_moz_column_rule_color, ColumnRuleColor),
|
||||
|
|
|
@ -335,7 +335,6 @@ private:
|
|||
|
||||
/* Column properties */
|
||||
nsIDOMCSSValue* DoGetColumnCount();
|
||||
nsIDOMCSSValue* DoGetColumnFill();
|
||||
nsIDOMCSSValue* DoGetColumnWidth();
|
||||
nsIDOMCSSValue* DoGetColumnGap();
|
||||
nsIDOMCSSValue* DoGetColumnRuleWidth();
|
||||
|
|
|
@ -6976,13 +6976,6 @@ nsRuleNode::ComputeColumnData(void* aStartStruct,
|
|||
column->mColumnRuleColorIsForeground = false;
|
||||
}
|
||||
|
||||
// column-fill: enum
|
||||
SetDiscrete(*aRuleData->ValueForColumnFill(),
|
||||
column->mColumnFill, canStoreInRuleTree,
|
||||
SETDSC_ENUMERATED, parent->mColumnFill,
|
||||
NS_STYLE_COLUMN_FILL_BALANCE,
|
||||
0, 0, 0, 0);
|
||||
|
||||
COMPUTE_END_RESET(Column, column)
|
||||
}
|
||||
|
||||
|
|
|
@ -774,7 +774,6 @@ nsStyleColumn::nsStyleColumn(nsPresContext* aPresContext)
|
|||
mColumnCount = NS_STYLE_COLUMN_COUNT_AUTO;
|
||||
mColumnWidth.SetAutoValue();
|
||||
mColumnGap.SetNormalValue();
|
||||
mColumnFill = NS_STYLE_COLUMN_FILL_BALANCE;
|
||||
|
||||
mColumnRuleWidth = (aPresContext->GetBorderWidthTable())[NS_STYLE_BORDER_WIDTH_MEDIUM];
|
||||
mColumnRuleStyle = NS_STYLE_BORDER_STYLE_NONE;
|
||||
|
@ -806,8 +805,7 @@ nsChangeHint nsStyleColumn::CalcDifference(const nsStyleColumn& aOther) const
|
|||
return NS_STYLE_HINT_FRAMECHANGE;
|
||||
|
||||
if (mColumnWidth != aOther.mColumnWidth ||
|
||||
mColumnGap != aOther.mColumnGap ||
|
||||
mColumnFill != aOther.mColumnFill)
|
||||
mColumnGap != aOther.mColumnGap)
|
||||
return NS_STYLE_HINT_REFLOW;
|
||||
|
||||
if (GetComputedColumnRuleWidth() != aOther.GetComputedColumnRuleWidth() ||
|
||||
|
|
|
@ -2077,8 +2077,6 @@ struct nsStyleColumn {
|
|||
|
||||
nscolor mColumnRuleColor; // [reset]
|
||||
PRUint8 mColumnRuleStyle; // [reset]
|
||||
PRUint8 mColumnFill; // [reset] see nsStyleConsts.h
|
||||
|
||||
// See https://bugzilla.mozilla.org/show_bug.cgi?id=271586#c43 for why
|
||||
// this is hard to replace with 'currentColor'.
|
||||
bool mColumnRuleColorIsForeground;
|
||||
|
|
|
@ -517,14 +517,6 @@ var gCSSProperties = {
|
|||
// negative and zero invalid per editor's draft
|
||||
invalid_values: [ "-1", "0", "3px" ]
|
||||
},
|
||||
"-moz-column-fill": {
|
||||
domProp: "MozColumnFill",
|
||||
inherited: false,
|
||||
type: CSS_TYPE_LONGHAND,
|
||||
initial_values: [ "balance" ],
|
||||
other_values: [ "auto" ],
|
||||
invalid_values: [ "2px", "dotted", "5em" ]
|
||||
},
|
||||
"-moz-column-gap": {
|
||||
domProp: "MozColumnGap",
|
||||
inherited: false,
|
||||
|
|
|
@ -135,7 +135,6 @@
|
|||
-moz-column-width: inherit;
|
||||
-moz-column-gap: inherit;
|
||||
-moz-column-rule: inherit;
|
||||
-moz-column-fill: inherit;
|
||||
/* Do not change these. nsCSSFrameConstructor depends on them to create a good
|
||||
frame tree. */
|
||||
position: static !important;
|
||||
|
|
|
@ -498,14 +498,14 @@ abstract public class BrowserApp extends GeckoApp
|
|||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu)
|
||||
{
|
||||
sMenu = menu;
|
||||
mMenu = menu;
|
||||
|
||||
// Inform the menu about the action-items bar.
|
||||
if (menu instanceof GeckoMenu && isTablet())
|
||||
((GeckoMenu) menu).setActionItemBarPresenter(mBrowserToolbar);
|
||||
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.gecko_menu, sMenu);
|
||||
inflater.inflate(R.menu.gecko_menu, mMenu);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,7 @@ abstract public class GeckoApp
|
|||
public static GeckoApp mAppContext;
|
||||
public static boolean mDOMFullScreen = false;
|
||||
protected MenuPanel mMenuPanel;
|
||||
public static Menu sMenu;
|
||||
protected Menu mMenu;
|
||||
private static GeckoThread sGeckoThread = null;
|
||||
public Handler mMainHandler;
|
||||
private GeckoProfile mProfile;
|
||||
|
@ -411,10 +411,10 @@ abstract public class GeckoApp
|
|||
}
|
||||
|
||||
private void addAddonMenuItem(final int id, final String label, final String icon) {
|
||||
if (sMenu == null)
|
||||
if (mMenu == null)
|
||||
return;
|
||||
|
||||
final MenuItem item = sMenu.add(Menu.NONE, id, Menu.NONE, label);
|
||||
final MenuItem item = mMenu.add(Menu.NONE, id, Menu.NONE, label);
|
||||
|
||||
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
|
||||
@Override
|
||||
|
@ -456,12 +456,12 @@ abstract public class GeckoApp
|
|||
if (item.getItemId() == id) {
|
||||
sAddonMenuItems.remove(item);
|
||||
|
||||
if (sMenu == null)
|
||||
if (mMenu == null)
|
||||
break;
|
||||
|
||||
MenuItem menuItem = sMenu.findItem(id);
|
||||
MenuItem menuItem = mMenu.findItem(id);
|
||||
if (menuItem != null)
|
||||
sMenu.removeItem(id);
|
||||
mMenu.removeItem(id);
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -470,10 +470,10 @@ abstract public class GeckoApp
|
|||
|
||||
@Override
|
||||
public void invalidateOptionsMenu() {
|
||||
if (sMenu == null)
|
||||
if (mMenu == null)
|
||||
return;
|
||||
|
||||
onPrepareOptionsMenu(sMenu);
|
||||
onPrepareOptionsMenu(mMenu);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 11)
|
||||
super.invalidateOptionsMenu();
|
||||
|
@ -482,16 +482,19 @@ abstract public class GeckoApp
|
|||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu)
|
||||
{
|
||||
sMenu = menu;
|
||||
mMenu = menu;
|
||||
|
||||
MenuInflater inflater = getMenuInflater();
|
||||
inflater.inflate(R.menu.gecko_menu, sMenu);
|
||||
inflater.inflate(R.menu.gecko_menu, mMenu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu aMenu)
|
||||
{
|
||||
if (aMenu == null)
|
||||
return false;
|
||||
|
||||
if (!sIsGeckoReady)
|
||||
aMenu.findItem(R.id.settings).setEnabled(false);
|
||||
|
||||
|
@ -591,7 +594,7 @@ abstract public class GeckoApp
|
|||
mMenuPanel = new MenuPanel(mAppContext, null);
|
||||
} else {
|
||||
// Prepare the panel everytime before showing the menu.
|
||||
onPreparePanel(featureId, mMenuPanel, sMenu);
|
||||
onPreparePanel(featureId, mMenuPanel, mMenu);
|
||||
}
|
||||
|
||||
return mMenuPanel;
|
||||
|
@ -628,9 +631,9 @@ abstract public class GeckoApp
|
|||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
if (Build.VERSION.SDK_INT >= 11 && featureId == Window.FEATURE_OPTIONS_PANEL) {
|
||||
if (sMenu == null) {
|
||||
if (mMenu == null) {
|
||||
onCreatePanelMenu(featureId, menu);
|
||||
onPreparePanel(featureId, mMenuPanel, sMenu);
|
||||
onPreparePanel(featureId, mMenuPanel, mMenu);
|
||||
}
|
||||
|
||||
// Scroll custom menu to the top
|
||||
|
@ -1030,10 +1033,11 @@ abstract public class GeckoApp
|
|||
handleDoorHangerRemove(message);
|
||||
} else if (event.equals("Gecko:Ready")) {
|
||||
sIsGeckoReady = true;
|
||||
final Menu menu = mMenu;
|
||||
mMainHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
if (sMenu != null)
|
||||
sMenu.findItem(R.id.settings).setEnabled(true);
|
||||
if (menu != null)
|
||||
menu.findItem(R.id.settings).setEnabled(true);
|
||||
}
|
||||
});
|
||||
setLaunchState(GeckoApp.LaunchState.GeckoRunning);
|
||||
|
@ -1089,10 +1093,11 @@ abstract public class GeckoApp
|
|||
} else if (event.equals("CharEncoding:State")) {
|
||||
final boolean visible = message.getString("visible").equals("true");
|
||||
GeckoPreferences.setCharEncodingState(visible);
|
||||
final Menu menu = mMenu;
|
||||
mMainHandler.post(new Runnable() {
|
||||
public void run() {
|
||||
if (sMenu != null)
|
||||
sMenu.findItem(R.id.char_encoding).setVisible(visible);
|
||||
if (menu != null)
|
||||
menu.findItem(R.id.char_encoding).setVisible(visible);
|
||||
}
|
||||
});
|
||||
} else if (event.equals("Update:Restart")) {
|
||||
|
|
|
@ -10,7 +10,7 @@ version = '0.2.40'
|
|||
deps = ['pulsebuildmonitor >= 0.62', 'MozillaPulse == 0.61',
|
||||
'mozinfo == 0.3.1', 'mozprofile == 0.1t',
|
||||
'mozprocess == 0.1a', 'mozrunner == 3.0a', 'mozregression == 0.3',
|
||||
'mozautolog >= 0.2.1']
|
||||
'mozautolog >= 0.2.1', 'mozautoeslib == 0.1.1']
|
||||
|
||||
# we only support python 2.6+ right now
|
||||
assert sys.version_info[0] == 2
|
||||
|
|
|
@ -78,6 +78,9 @@
|
|||
!define _WINVER_NTBIT 0x80000000
|
||||
!define _WINVER_NTSRVBIT 0x40000000
|
||||
!define _WINVER_MASKSP 0x000F0000
|
||||
!ifndef WINVER_2008R2
|
||||
!define WINVER_2008R2 0x601
|
||||
!endif
|
||||
|
||||
!define OSVERSIONINFOW_SIZE 276
|
||||
!define OSVERSIONINFOEXW_SIZE 284
|
||||
|
@ -304,6 +307,10 @@
|
|||
!macroend
|
||||
!define IsServicePack `"" IsServicePack`
|
||||
|
||||
!ifndef AtMostWin2008R2
|
||||
!insertmacro __WinVer_DefineOSTest AtMost 2008R2
|
||||
!endif
|
||||
|
||||
!endif # _WINVER_VERXBIT
|
||||
|
||||
!verbose push
|
||||
|
|
|
@ -1,39 +1,6 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2012
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Honza Bambas <honzab.moz@firemni.cz>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/VisualEventTracer.h"
|
||||
#include "mozilla/Monitor.h"
|
||||
|
|
|
@ -1,39 +1,6 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Mozilla Foundation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2012
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Honza Bambas <honzab.moz@firemni.cz>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
/* Visual event tracer, creates a log of events on each thread for visualization */
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче